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

設定SaveDialog之FileName

尚未結案
brooklin
一般會員


發表:15
回覆:11
積分:5
註冊:2003-10-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-26 15:02:46 IP:210.68.xxx.xxx 未訂閱
請教一下:    在SaveDialog1->Execute()之後,要如何更改SaveDialog1->FileName, 因為要根據選取的檔案改成想要儲存的檔名, 例如選*.prj檔,要存成*_aaa.bbb, 我是在SaveDialog1SelectionChange這個event發生的時候來做的, 可是卻沒辦法立即去改變FileName,不過下次再開SaveDialog後,FileName就會變成我想要的,可是並沒有辦法根據我所點選的檔名馬上作變更,請問有什麼辦法嗎?     
void __fastcall TForm1::SaveDialog1SelectionChange(TObject *Sender)
{
        AnsiString strExt,strFile,strTemp;
        strExt = ExtractFileExt(SaveDialog1->FileName).UpperCase();
        if(strExt == ".PRJ")
        {
                strFile = SaveDialog1->FileName.SubString(0,SaveDialog1->FileName.Length()-4);
                strFile  = "_c_setting.h";                    SaveDialog1->FileName = strFile;
        }
}
 
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-26 16:40:41 IP:218.15.xxx.xxx 未訂閱
brooklin您好,将您的代码写到一个Button的onclick事件即可,如下:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  AnsiString strExt,strFile,strTemp;
  if (SaveDialog1->Execute())
    {
     strExt = ExtractFileExt(SaveDialog1->FileName).UpperCase();
     if(strExt == ".PRJ")
       {
        strFile = SaveDialog1->FileName.SubString(0,SaveDialog1->FileName.Length()-4);
        strFile  = "_c_setting.h";
        SaveDialog1->FileName = strFile;
        // Memo1->Lines->SaveToFile(SaveDialog1->FileName);此句为验证副档名是否改了没有
       }     
     }
}
注意红色部分和蓝色部分,参考看看 <> =============================== 为什么经过多年以后,得失的过程如此冷漠 ===============================
brooklin
一般會員


發表:15
回覆:11
積分:5
註冊:2003-10-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-26 17:05:21 IP:210.68.xxx.xxx 未訂閱
嗯嗯~謝謝deity~ 我知道這樣可以,但我的問題不是這個ㄟ, 我是指說在SaveDialog的畫面上點選儲存之檔名後, 如果符合條件,FileName便馬上跟著改變,而不是等到User按下Save鍵後才改變。    
m8815010
版主


發表:99
回覆:372
積分:289
註冊:2003-11-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-02 15:49:15 IP:61.63.xxx.xxx 未訂閱
引言: 嗯嗯~謝謝deity~ 我知道這樣可以,但我的問題不是這個ㄟ, 我是指說在SaveDialog的畫面上點選儲存之檔名後, 如果符合條件,FileName便馬上跟著改變,而不是等到User按下Save鍵後才改變。
brooklin你好< >: 仔細查了一下發現真的有你說的這種問題,查了一下原因,如下: > >!結論大概就是基本上是不行的,如果 >! 以上淺見,請參著< >!
brooklin
一般會員


發表:15
回覆:11
積分:5
註冊:2003-10-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-02 17:17:02 IP:210.68.xxx.xxx 未訂閱
哈哈哈~原來如此, 我看大概要自己設計一個dialog才有辦法了吧~ 謝謝兩位啦~
系統時間:2024-05-17 16:02:42
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!