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

可以把程式執行時,所開的檔案的檔案路徑與檔名給存下來嗎?

答題得分者是:RaynorPao
4880h009
一般會員


發表:32
回覆:43
積分:15
註冊:2003-11-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-24 09:29:04 IP:140.124.xxx.xxx 未訂閱
用fopen(szNewFile.c_str(), "wt")在程式的迴圈中開了數個檔案,要如把這數個szNewFile.c_str()給存下來,給我之後的程式來開這此檔案,是不是可以存成一行一行的資料,就像Memo1->Lines->Strings[i]一樣,讓我可以選擇要哪一行?
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-24 09:55:33 IP:203.73.xxx.xxx 未訂閱
引言: 用fopen(szNewFile.c_str(), "wt")在程式的迴圈中開了數個檔案,要如把這數個szNewFile.c_str()給存下來,給我之後的程式來開這此檔案,是不是可以存成一行一行的資料,就像Memo1->Lines->Strings[i]一樣,讓我可以選擇要哪一行?
4880h009 你好:
(1)可以利用 TStringList class 就可以達成目的
(2)在原來的程式迴圈中,把所有開啟的檔案名稱儲存起來,例如:
   TStringList *slFile=new TStringList;
   for(int i=0; i<...; i++)
   {
      //...Do something...
      slFile->Add(szNewFile);
   }
   slFile->SaveToFile("AllFiles.txt");
   delete slFile;
(3)在後來的程式中,就可以載入原本的檔案名稱 list,例如:
   TStringList *slFile=new TStringList;
   slFile->LoadFromFile("AllFiles.txt");
   for(int i=0; iCount; i++)
   {
      if(slFile->Strings[i].Trim()!="")
      {
         //...Do something...
         ShowMessage(slFile->Strings[i]);
      }
   }
   delete slFile;
(4)或者是把所有開啟過的檔案名稱,放到 ListBox 裡面,例如:
   for(int i=0; i<...; i++)
   {
      //...Do something...
      if(ListBox1->Items->IndexOf(szNewFile)<0)
      {
         ListBox1->Items->Add(szNewFile);
      }
   }
(5)然後之後讓使用者從 ListBox 裡面選擇要開啟哪一個檔案,例如:
   for(int i=0; iItems->Count; i++)
   {
      if(ListBox1->Selected[i])
      {
         //...Do something...
         ShowMessage(ListBox1->Items->Strings[i]);
      }
   }

備註:
Trim() 的功用是把字串兩邊的空白給去掉,例如:
原始字串 "  abc  " => Trim() => 結果 "abc"
原始字串 "  abc def  " => Trim() => 結果 "abc def"
-- Enjoy Researching & Developing -- 發表人 - RaynorPao 於 2004/06/24 15:23:54
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
4880h009
一般會員


發表:32
回覆:43
積分:15
註冊:2003-11-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-06-24 15:15:07 IP:140.124.xxx.xxx 未訂閱
請問:if(slFile->Strings[i].Trim()!="")這個程式碼,Trim會把Strings[i]的空白去掉(是不是這樣?我不太清楚!),在這裡有什麼作用呢?
4880h009
一般會員


發表:32
回覆:43
積分:15
註冊:2003-11-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-06-24 16:27:52 IP:140.124.xxx.xxx 未訂閱
ok~~了解~~謝啦RaynorPao~
系統時間:2024-07-05 23:00:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!