請問在開檔時就直接命名? |
尚未結案
|
kulala
一般會員 發表:3 回覆:6 積分:1 註冊:2004-04-25 發送簡訊給我 |
|
nlj859
資深會員 發表:139 回覆:375 積分:322 註冊:2004-03-20 發送簡訊給我 |
Hello kulala, 使用SaveDialog的元件.
請參考底下用法:
if (SaveDialog1->Execute()) { TStringList *txtfile=new TStringList; txtfile->Add("test"); txtfile->SaveToFile(SaveDialog1->FileName); delete txtfile; }或是你是要將Memo的資料存起來,則可用: if (SaveDialog1->Execute()) Memo1->Lines->SaveToFile(SaveDialog1->FileName); |
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
引言: 在程式執行時會開一個新的txt檔把資料寫進去,我本來是寫死,就是在程式中直接指定檔名是什麼,要如何讓user輸入他自己想要的檔名呢?謝謝 >>< face="Verdana, Arial, Helvetica">kulala:試試下面的方式: AnsiString FileName; #define INIFILE "opentxt.ini" // FormCreate事件定義: FileName="myopen.txt"; //原本妳定義的檔名 //讀取INI的檔名 TIniFile* ini = new TIniFile(ExtractFilePath(ParamStr(0)) INIFILE); // 請注意路徑ExtractFilePath(ParamStr(0)) FileName = ini->ReadString("Main", "filename", FileName); //若INI檔不存在或INI檔內的Main->filename不存在會引用原本定義。 delete ini; //將檔名存入INI TIniFile* ini = new TIniFile(ExtractFilePath(ParamStr(0)) INIFILE); // 請注意路徑ExtractFilePath(ParamStr(0)) ini->WriteString("Main", "filename", FileName); delete ini; //使用者自行定義檔名,使用Button或TMainMenu等方式皆可以 AnsiString S=FileName; InputQuery("定義檔名", "請輸入檔名::", S); if (S!=FileName) //將檔名存入INI // 下次呼叫INI檔時會引用使用者的檔名定義 請參考!Andy Chang
------
Andy Chang |
kulala
一般會員 發表:3 回覆:6 積分:1 註冊:2004-04-25 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
引言: Andy Chang: 請問你這個是在開檔的時候就直接命名嗎? 我看你的註解好像是已經有一個已存在的檔.... 不太瞭解說.... 謝謝指教kulalal:在程式執行時會開一個新的txt檔把資料寫進去,我本來是寫死,就是在程式中直接指定檔名是什麼,要如何讓user輸入他自己想要的檔名呢?謝謝 先考慮一個問題要是使用者不輸入檔名?所以我先內定一個檔名給它。 FileName = ini->ReadString("Main", "filename", FileName); //若INI檔不存在或INI檔內的Main->filename不存在會引用原本定義。 我利用INI檔的特性讀入時會先檢視這需要的內容是否存在,不在就引用你 給它的設定值。 當然使用的方式很多種,例如Form一產生時檢查INI檔內容是否存在,妳可用 NULL替代這檔名就要求使用者輸入並存入INI檔案中。 當然妳也可以使用註冊檔替代INI檔但道理是相同的。 請參考! Andy Chang
------
Andy Chang |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |