kagaya
中階會員
發表:74 回覆:175 積分:59 註冊:2002-12-28
發送簡訊給我
|
例如
ShellExecute(NULL,NULL,Edit1->Text,NULL,NULL,WS_SHOW);
在Delphi有pchar(Edit1->Text)可用
但是在BCB該如何使用?
我寫成(char)Edit1->Text仍然會有錯誤
還有Memo1->Lines->String[x]裡
如果有類似路徑的內容.例如"c:\cc.exe"
那麼那行以下在儲存成檔案時.例如Memo1->Lines->SaveToFile("...")
就會不見.該如何才能儲存呢?
謝謝
------ KUSO 無處不在
|
ENIX007
高階會員
發表:28 回覆:274 積分:185 註冊:2003-11-27
發送簡訊給我
|
kagaya您好
1.一般API都是傳入char*,而BCB最常用的字串是AnsiString,他們之間存在一個
轉換式:
char * = AnsiString.c_str();
因此寫成
Edit1->Text.c_str()就可以囉 > 還是請您 > 程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
------ 程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
|
axsoft
版主
發表:681 回覆:1056 積分:969 註冊:2002-03-13
發送簡訊給我
|
kagaya您好: 如果您存粹只是把檔案Load到Memo中,然後修改後存檔....可以試試我的方法: 1.在Form上各置放一個TMemo/TSaveDialog/TOpenDialog以及兩個Button 2.程式碼如下:
//--------------------------------------------------------------------------- #include
#pragma hdrstop #include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
// 開啟檔案到Memo中
//---------------------------------------------------------------------------
void __fastcall TForm1::btnLoadFile_To_MemoClick(TObject *Sender)
{
TStringList *sl=new TStringList; try{
if(OpenDialog1->Execute())
{
sl->LoadFromFile(OpenDialog1->FileName);
Memo1->Clear();
Memo1->Lines->AddStrings(sl);
}
}__finally
{
delete sl;
}
}
//---------------------------------------------------------------------------
// 將 Memo的內容存檔
//---------------------------------------------------------------------------
void __fastcall TForm1::btnMemoSaveAsClick(TObject *Sender)
{
char szFileName[MAXFILE 4];
if(SaveDialog1->Execute())
{
if (FileExists(SaveDialog1->FileName)) //檢查是否檔案已經存在?
{
fnsplit(SaveDialog1->FileName.c_str(), 0, 0, szFileName, 0);
strcat(szFileName, ".BAK");
RenameFile(SaveDialog1->FileName, szFileName);
}
Memo1->Lines->SaveToFile(SaveDialog1->FileName);
}
}
//---------------------------------------------------------------------------
/*生活是一種藝術,用心生活才能享受生活*/
|
kagaya
中階會員
發表:74 回覆:175 積分:59 註冊:2002-12-28
發送簡訊給我
|
感謝axsoft大大及ENIX007大大
ShellExecute測試ok
關於memo存檔我發現原來是我沒加路徑ExtractFilePath(Application->ExeName)< >
然後中間又有用到 >
感謝< >
------ KUSO 無處不在
|