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

如何讓 OpenDialog 直接做開啟檔案的動作, 不跳出對話盒 ?

答題得分者是:jow
bred
一般會員


發表:6
回覆:3
積分:1
註冊:2007-03-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-10-08 14:58:28 IP:211.23.xxx.xxx 訂閱
As Title

OpenDialog->Execute()

都會跳出對話框讓使用者選擇~
我希望可以直接開啟檔案~

不知道有什麼方法可以達到呢??
謝謝~
編輯記錄
bred 重新編輯於 2007-10-08 14:58:56, 註解 無‧
bred 重新編輯於 2007-10-08 14:59:26, 註解 無‧
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-10-08 15:17:51 IP:210.66.xxx.xxx 訂閱
你不選擇要開啟的檔案名稱與路徑, 那在程式裡面
直接開檔就好了, 何須用到TOpenDialog?

例如下列程式碼, 哪些是你想省略不要的?


[code cpp]
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TOpenDialog *od = new TOpenDialog(this);
try{
if(od->Execute()){
TFileStream *f = new TFileStream(od->FileName, fmOpenRead);
try{
Label1->Caption = f->Size;
}
__finally{
delete f;
}
}
}
__finally{
delete od;
}
}
//---------------------------------------------------------------------------
[/code]
bred
一般會員


發表:6
回覆:3
積分:1
註冊:2007-03-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-10-08 15:29:12 IP:211.23.xxx.xxx 訂閱
我需要設定檔名跟路徑~
檔名跟路徑可以在dialog開啟後再設定~

[code cpp]
OpenDlg->Execute();
OpenDlg->FileName="123.txt";
OpenDlg->InitialDir="C://xxxxxxxxx";
[/code]


換個方式問~就是當OpenDialog開啟後~
使用者選好~檔案後~不是都要按"開啟"的按鈕後才會開啟檔案~
那麼~有沒有什麼辦法~可以直接觸發"開啟"這個按鈕~

謝謝~
taishyang
站務副站長


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-10-08 15:41:54 IP:122.124.xxx.xxx 未訂閱
檔名和路徑你程式都寫死了,何必去使用OpenDialog?
OpenDialog的用意就是要讓USER可以自由選擇


jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-10-08 15:43:20 IP:210.66.xxx.xxx 訂閱
是這樣嗎?
[code cpp]
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString ReservedPath = GetCurrentDir();
try{
TOpenDialog *od = new TOpenDialog(this);
try{
od->InitialDir = "D:\\"; <-預設路徑
od->FileName = "MYTEST.TXT";<-預設檔案
if(od->Execute()){
TFileStream *f = new TFileStream(od->FileName, fmOpenRead);
try{
Label1->Caption = f->Size;
}
__finally{
delete f;
}
}
}
__finally{
delete od;
}
}
__finally{
SetCurrentDir(ReservedPath);
}
}
//---------------------------------------------------------------------------
[/code]
編輯記錄
jow 重新編輯於 2007-10-08 15:46:07, 註解 無‧
bred
一般會員


發表:6
回覆:3
積分:1
註冊:2007-03-02

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-10-08 15:46:05 IP:211.23.xxx.xxx 訂閱
嗯嗯~我也不知道該怎麼說~
不知道~有沒有人知道~
有什麼辦法~可以觸發OpenDialog中~Button--"開啟"這個按鈕呢??

謝謝~
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-10-08 15:51:26 IP:210.66.xxx.xxx 訂閱
od->Handle,

加上

利用FindWindow將其他form物件下所有的資料取出來

http://delphi.ktop.com.tw/board.php?cid=31&fid=79&tid=30409

自己研究看有沒有辦法^^
系統時間:2024-03-29 23:11:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!