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

用ComboBox選擇,開txt檔的問題??

答題得分者是:taishyang
Vincent2424
一般會員


發表:57
回覆:40
積分:19
註冊:2004-12-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-02 11:33:38 IP:219.84.xxx.xxx 未訂閱
請問各位大大... 我使用ComboBox1選擇檔名,並按下Button1開啟.txt檔 如下 code:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  if(ComboBox1->Text == "Test1")
  {
    ShellExecute(0,"open","notepad.exe","D:\\Test data\\Test1.txt",NULL,SW_SHOW);
  }      if(ComboBox1->Text == "Test2")
  {
    ShellExecute(0,"open","notepad.exe","D:\\Test data\\Test2.txt",NULL,SW_SHOW);
  }      if(ComboBox1->Text == "Test3")
  {
    ShellExecute(0,"open","notepad.exe","D:\\Test data\\Test3.txt",NULL,SW_SHOW);
  }
}
 
以上是ok的沒問題 但我為了以後方便開啟多個不同的txt檔 而改寫成
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  if(ComboBox1->Text == String(ComboBox1->Text))
  {
    ShellExecute(0,"open","notepad.exe","D:\\Test data\\"+String(ComboBox1->Text)+".txt",NULL,SW_SHOW);
  }
}
為何就會有錯誤呢 [C++ Error] Unit1.cpp(40): E2034 Cannot convert 'AnsiString' to 'const char *' [C++ Error] Unit1.cpp(40): E2342 Type mismatch in parameter 'lpParameters' (wanted 'const char *', got 'AnsiString') 請各位大大幫我看看code要怎麼改...TKS
taishyang
站務副站長


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-02 13:01:02 IP:210.68.xxx.xxx 未訂閱
您好: 改成下面這樣應該就可以了
 
if(ComboBox1->Text == String(ComboBox1->Text))
   {
      AnsiString FileName = "D:\\Test data\\" String(ComboBox1->Text) ".txt";
      ShellExecute(0, "open", "notepad.exe", FileName.c_str(), NULL, SW_SHOW);
   }
順心
Vincent2424
一般會員


發表:57
回覆:40
積分:19
註冊:2004-12-15

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