全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2416
推到 Plurk!
推到 Facebook!

使用過TopenDialog 後的檔案路徑問題?

答題得分者是:dllee
cjsoong
一般會員


發表:4
回覆:5
積分:1
註冊:2007-01-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-09-14 00:36:04 IP:219.81.xxx.xxx 訂閱
我有寫一個測試程式, 執行時會將一些設定參數直接用fopen & Fwrite直接存入主程式的執行目錄中,另外有時會用TopenDialog 開起主程式下的一個子目錄的資料檔案來用,但目前有發生一個問題,如果我不去用Topendialog 去開起起子目錄下檔案時,設定參數會如預期寫入主目錄裡,但只要我去用Topendialog 開起子目錄檔案,這些設定參數資料就會寫在子目錄下而不會寫在主目錄中,Topendialog 好像會記錄前一次開起的錄徑,所以想請問是否有辦法讓原先該寫在主目錄下的檔案不會因為TopenDialog 的變動,我有想過直接指定目錄,但又怕有時主程式安裝的目錄名稱不一定都一樣,又會寫錯地方, 另外想的較有效方法是程式執行時就先記錄目前的錄徑,只要Topendialog 執行過就將原錄徑存回, 
想請問各位前輩是否有其他方法來達到需求?


主目錄.......存設定參數資料
|
| 子目錄.....資料檔位置
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-09-14 08:49:42 IP:220.134.xxx.xxx 訂閱
善用 Application->ExeName 它記錄著主程式的 路徑 及 名稱,例如:
AnsiString ExePath=ExtractFilePath(Application->ExeName); // 取得主程式所在的目錄(路徑)
AnsiString ExeFileName=ExtractFileName(Application->ExeName); // 取得主程式檔名(不含路徑)
有了主程式的路徑,不論 OpenDialog 切到那個目錄都可以直接用它來存取放在主程式目錄下的檔案。
同時,最好存取檔案都要指定路徑,除非您不使用 OpenDialog 或其它改目前目錄的 API,
才使用預設路徑,否則就會發生目前的問題。

另外,也可以用 API ,如 GetCurrentDirectory, SetCurrentDirectory 等儲存或設定目前目錄。
強力推薦 ShareMe 免費網路硬碟 VMASK - ViewMove Automation Software Kernel VMIO-Server/SECS/GEM dllee's blog dllee's StatPlus
------
http://www.ViewMove.com
cjsoong
一般會員


發表:4
回覆:5
積分:1
註冊:2007-01-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-09-14 23:54:04 IP:219.80.xxx.xxx 訂閱
感謝Dllee 的建議..已解決問題...


===================引 用 dllee 文 章===================
善用 Application->ExeName 它記錄著主程式的 路徑 及 名稱,例如:
AnsiString ExePath=ExtractFilePath(Application->ExeName); // 取得主程式所在的目錄(路徑)
AnsiString ExeFileName=ExtractFileName(Application->ExeName); // 取得主程式檔名(不含路徑)
有了主程式的路徑,不論 OpenDialog 切到那個目錄都可以直接用它來存取放在主程式目錄下的檔案。
同時,最好存取檔案都要指定路徑,除非您不使用 OpenDialog 或其它改目前目錄的 API,
才使用預設路徑,否則就會發生目前的問題。

另外,也可以用 API ,如 GetCurrentDirectory, SetCurrentDirectory 等儲存或設定目前目錄。
強力推薦 ShareMe 免費網路硬碟 VMASK - ViewMove Automation Software Kernel VMIO-Server/SECS/GEM dllee's blog dllee's StatPlus
系統時間:2024-05-04 14:14:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!