線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1343
推到 Plurk!
推到 Facebook!

問個存檔問題

尚未結案
swordsman
一般會員


發表:8
回覆:22
積分:6
註冊:2003-03-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-29 11:40:08 IP:140.138.xxx.xxx 未訂閱
請問一下,我在Memo2中鍵入"E:\\TEST.txt"此格式的文字,為何不能存檔? 程式碼如下:謝謝!! void __fastcall TForm1::btnSaveClick(TObject *Sender) {   String file;   char *filename;   file=Memo2->Text;   filename=file.c_str();   ofstream outfile(filename);   Memo3->Text=filename;   String Time;   char *str;   Time=Memo1->Text;   str=Time.c_str();   outfile<
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-29 12:09:40 IP:61.231.xxx.xxx 未訂閱
swordsman您好:    試試  Memo2->Lines->SaveToFile("xxx.txt");    順心 <>~我也是在學習的階段,所以請您多多見諒與指教~ 發表人 -
swordsman
一般會員


發表:8
回覆:22
積分:6
註冊:2003-03-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-29 13:41:07 IP:140.138.xxx.xxx 未訂閱
您好: 我是想給個可以變更的檔名,譬如當Memo2輸入test.txt就存到test.txt中 那如果照您提供的方法,以下該做哪些修正? String file_name; file_name=Memo2->Text; Memo3->Lines->SaveToFile(filename);
kelon
一般會員


發表:17
回覆:27
積分:18
註冊:2002-07-22

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-29 13:50:33 IP:211.20.xxx.xxx 未訂閱
String file_name; file_name=Memo2->Text; Memo3->Lines->SaveToFile(filename);    改成用SaveDialog就行啦 if(SaveDialog->Execute())  {  Memo->Lines->SaveToFile(SaveDialog->FileName);  }
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-04-29 13:59:11 IP:140.135.xxx.xxx 未訂閱
swordsman您好:   依照您的需求可以改成下面的方式   假設Memo1的存檔檔名要依照Memo2的內容來命名    
Memo1->Lines->SaveToFile(Memo2->Text.c_str());  
不過我覺得kelon大哥的方式比較像正常流程< > 順心< > ~我也是在學習的階段,所以請您多多見諒與指教~ 發表人 - taishyang 於 2003/04/29 14:07:12
swordsman
一般會員


發表:8
回覆:22
積分:6
註冊:2003-03-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-04-29 16:56:01 IP:140.138.xxx.xxx 未訂閱
謝謝你們的幫忙... SaveToFile似乎不能對格式做處理.. 譬如:Memo1中為PM 12:00 Memo2為1 PM 12:01 3 我想給個檔名*.txt中,存入 PM 12:00 1 PM 12:01 3 是否該用standard C 來完成啊?
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-04-29 17:00:27 IP:140.135.xxx.xxx 未訂閱
swordsman您好:   檔名是不允許有[:]的喔~~    順心 <>~我也是在學習的階段,所以請您多多見諒與指教~
swordsman
一般會員


發表:8
回覆:22
積分:6
註冊:2003-03-04

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-04-29 17:08:30 IP:140.138.xxx.xxx 未訂閱
引言: swordsman您好: 檔名是不允許有[:]的喔~~ 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~ < face="Verdana, Arial, Helvetica"> 不是阿...您誤會了... 我是指輸入一個檔名EX. 123.txt 而檔案的內容格式為 PM12:00 1 PM12:01 3
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-04-29 17:18:44 IP:140.135.xxx.xxx 未訂閱
swordsman您好:   不好意思我誤會您的意思了...   不過現在的問題(合併)跟您原來的問題(存檔)好像不太一樣...   我再試試看...    順心 發表人 -
swordsman
一般會員


發表:8
回覆:22
積分:6
註冊:2003-03-04

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-04-29 17:35:40 IP:140.138.xxx.xxx 未訂閱
不好意思...您有誤會我的意思了... 我是指將Memo1與Memo2中的Data combine 在一起... 譬如 Memo1中放12:00 Memo2放1 這樣的意思...
kelon
一般會員


發表:17
回覆:27
積分:18
註冊:2002-07-22

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-04-30 13:34:58 IP:211.20.xxx.xxx 未訂閱
要combine的話... 用最基本的方法 fprintf出去就可以了 FILE *fp fp=fopen(SaveDialog->FileName.c_str(),"w") AnstString Temp=Memo1->Lines->Strings[0]+" "+Memo2->Lines->Strings[0]; fprintf(fp,Temp.c_str()); fclose(fp); 大致這樣 應該可以吧
swordsman
一般會員


發表:8
回覆:22
積分:6
註冊:2003-03-04

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-04-30 14:59:33 IP:140.138.xxx.xxx 未訂閱
FILE *fp; fp=fopen(SaveDialog1->FileName.c_str(),"w"); AnsiString Temp=Memo1->Lines->Strings[0] " " Memo2->Lines->Strings[0]; fprintf(fp,Temp.c_str()); // 這行似乎有問題,我試一下給它格式參數fprintf(fp,"%s",Temp.c_str()); 還是不行// fclose(fp);
swordsman
一般會員


發表:8
回覆:22
積分:6
註冊:2003-03-04

發送簡訊給我
#13 引用回覆 回覆 發表時間:2003-05-06 09:41:16 IP:140.138.xxx.xxx 未訂閱
引言: FILE *fp; fp=fopen(SaveDialog1->FileName.c_str(),"w"); AnsiString Temp=Memo1->Lines->Strings[0] " " Memo2->Lines->Strings[0]; fprintf(fp,Temp.c_str()); // 這行似乎有問題,我試一下給它格式參數fprintf(fp,"%s",Temp.c_str()); 還是不行// fclose(fp);
我用別的方式解決了...謝謝大家的幫忙... 我搜尋一些文章中提到存檔最好採用BCB之SaveToFile不然使用c :fstream 避免使用c:fopen資料流,但我不太清楚為什麼,希望能有更多的瞭解...
系統時間:2024-05-08 2:47:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!