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

有辦法用TOpenDialog來選取目錄而不選取檔案嗎??

答題得分者是:Chance36
darnell
版主


發表:25
回覆:103
積分:145
註冊:2003-03-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-04 17:06:41 IP:61.219.xxx.xxx 未訂閱
請問可以使用TOpenDialog來選取目錄而不是檔案嗎?因為我只需要使用者選取的目錄內的東西,或是有其他方法可以做到?而不需要使用者自行輸入路徑?Ths~ ------------------------ 創造其實就是...... 轉個彎看世界......
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-04 17:16:02 IP:202.39.xxx.xxx 未訂閱
可用 TDriveComboBox 與 TDirectoryListBox 兩元件
fadichen
初階會員


發表:29
回覆:68
積分:29
註冊:2003-09-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-06-04 20:14:17 IP:61.230.xxx.xxx 未訂閱
>請問可以使用TOpenDialog來選取目錄而不是檔案嗎? 請改用 procedure: SelectDirectory ****阿彌陀佛*****
bigdogchina
版主


發表:238
回覆:523
積分:312
註冊:2003-04-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-06-04 21:41:37 IP:211.162.xxx.xxx 未訂閱
不好意思,插個花: 試試用Windows API函數SHBrowseForFolder來做,請看看這篇: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=33074 雖然是BCB的,但是原理是一樣的! 站內也有其相關內容,請參考看看: http://delphi.ktop.com.tw/topic.php?topic_id=41923 http://delphi.ktop.com.tw/topic.php?topic_id=25381    

===============
人生在勤,不索何获? 
===============
------
人生在勤,不索何获?
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-06-05 02:36:10 IP:61.71.xxx.xxx 未訂閱
引言: 請問可以使用TOpenDialog來選取目錄而不是檔案嗎?因為我只需要使用者選取的目錄內的東西,或是有其他方法可以做到?而不需要使用者自行輸入路徑?Ths~ ------------------------ 創造其實就是...... 轉個彎看世界......
我的做法是利用Opendialog 方法製作一個選擇檔案的功能, 然後在 if OpenDialog.Execuate then ExtractFilePath(OpenDialog1.FileName) .... 就可以很方便取得路徑, 雖然使用上不是很正統, 但利用Opendialog可以省很多設計上的畫面及寫法呢!
Chance36
版主


發表:31
回覆:1033
積分:792
註冊:2002-12-31

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-06-05 03:42:43 IP:203.204.xxx.xxx 未訂閱
引言: >請問可以使用TOpenDialog來選取目錄而不是檔案嗎? 請改用 procedure: SelectDirectory ****阿彌陀佛*****
darnell 你好
如fadichen所云,使用SelectDirectory,簡單又方便,只要uses FileCtrl ;即可    Delphi syntax:    function SelectDirectory(const Caption: string; const Root: WideString; out Directory: string): Boolean; overload;
function SelectDirectory(var Directory: string; Options: TSelectDirOpts; HelpCtx: Longint): Boolean; overload;    範例如下:
Var
  Dir : String;
begin
  Dir := 'c:\test'; // 預設路徑
  If selectdirectory(Dir,[sdAllowCreate, sdPerformCreate, sdPrompt],SELDIRHELP) Then
    ShowMessage(Dir) ;
end;    
系統時間:2024-05-17 17:07:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!