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

如何寫判斷式

尚未結案
superyoung
一般會員


發表:14
回覆:24
積分:7
註冊:2004-07-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-13 00:17:49 IP:61.229.xxx.xxx 未訂閱
我現在使用2個Edit,1個RadioGroup,OpenDialog 現在有2個變數x,y分別要顯示在Edit1和Edit2 可是輸入變數x,y的值有2個方式: 1.直接輸入法,即直接給定值x=1,y=2 2.讀入txt檔後,資料為3,4(分別在第一行及第二行)即x=3,y=4 我想要在RadioGroup裡寫輸入變數的方法 當我在選擇RadioGroup的item時要先判斷是以上述那一種方式輸入變數 請問要怎樣寫判斷式呢?? ps:當我讀txt檔時要用那一個元件比較好 麻煩各位高手前輩了 謝謝
bass15
高階會員


發表:24
回覆:171
積分:119
註冊:2003-10-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-13 00:58:46 IP:61.59.xxx.xxx 未訂閱
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  TStringList *slFile;
  if(RadioGroup1->ItemIndex==0){
    Edit1->Text="1";
    Edit2->Text="2";
  }else{
    if(OpenDialog1->Execute()){
       slFile = new TStringList;
       slFile->LoadFromFile(OpenDialog1->FileName);
       Edit1->Text= slFile->Strings[0];
       Edit2->Text= slFile->Strings[1];
       delete slFile;
    }
  }
}
 
用RadioGroup1->ItemIndex來判斷他是選第幾個item (0表示第一個) 用StringList來讀檔 相關StringList的討論狠多 可以搜尋看看 發表人 - bass15 於 2004/08/13 01:00:07
superyoung
一般會員


發表:14
回覆:24
積分:7
註冊:2004-07-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-13 01:16:56 IP:61.229.xxx.xxx 未訂閱
首先感謝bass15這麼晚了還回覆我 可是我想要 ItemIndex==0顯示Edit1 ItemIndex==1顯示Edit2 請問如果這樣要如何寫呢?? 又麻煩了...謝謝
bass15
高階會員


發表:24
回覆:171
積分:119
註冊:2003-10-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-13 10:55:15 IP:219.84.xxx.xxx 未訂閱
不太懂你的意思..什麼叫顯示Edit1???  
 
void __fastcall TForm1::GroupBox1Click(TObject *Sender)
{
  if(RadioGroup1->ItemIndex==0)
    ShowMessage(Edit1->Text.c_str());
  else if(RadioGroup1->ItemIndex==1)
    ShowMessage(Edit2->Text.c_str());    }
發表人 - bass15 於 2004/08/13 10:56:35
superyoung
一般會員


發表:14
回覆:24
積分:7
註冊:2004-07-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-08-13 11:11:20 IP:210.202.xxx.xxx 未訂閱
就是說我主要是要去判斷是否有讀入txt檔 然後再進行變數的輸入 所以當ItemIndex==0顯示Edit1->Text=x; ItemIndex==1顯示Edit2->Text=y;
nlj859
資深會員


發表:139
回覆:375
積分:322
註冊:2004-03-20

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-08-13 11:47:15 IP:219.80.xxx.xxx 未訂閱
Hello superyoung,    我一開始在讀.txt檔之前先預設是Item1. 程式如下:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TStringList *slFile;
    if(OpenDialog1->Execute())
      {
       slFile = new TStringList;
       slFile->LoadFromFile(OpenDialog1->FileName);
       if(RadioGroup1->ItemIndex==0)
          Edit1->Text= slFile->Strings[0];
       else
           Edit2->Text= slFile->Strings[1];
       delete slFile;
      }
}    void __fastcall TForm1::FormCreate(TObject *Sender)
{
    RadioGroup1->ItemIndex=0;
}
請參考看看.
bass15
高階會員


發表:24
回覆:171
積分:119
註冊:2003-10-27

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-08-13 13:35:45 IP:219.84.xxx.xxx 未訂閱
其實第一個回應已經很清楚了吧... 我在改一下看你了不了解..  假設ItemIndex==0表示不讀檔,是讓使用者從Edit輸入x,y     ItemIndex==1表示你要從檔案讀出x,y  
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  int x=0;
  int y=0;      TStringList *slFile;
  if(RadioGroup1->ItemIndex==0){
    //這裡表示不讀檔, 從Edit裡面讀出x,y
    x=Edit1->Text.ToIntDef(0); //把Edit1裡面的值放到x裡面
    y=Edit2->Text.ToIntDef(0); //把Edit2裡面的值放到y裡面
  }else{
    //這裡表示要讀檔, 從檔案裡面讀出x,y
    if(OpenDialog1->Execute()){
       slFile = new TStringList;
       slFile->LoadFromFile(OpenDialog1->FileName);
       Edit1->Text= slFile->Strings[0];  //把第一行讀出來放到Edit1
       x=Edit1->Text.ToIntDef(0);        //把讀出的值放到x裡面
       Edit2->Text= slFile->Strings[1];  //把第二行讀出來放到Edit2
       y=Edit2->Text.ToIntDef(0);        //把讀出的值放到y裡面           delete slFile;
    }
  }
  ShowMessage(x);   //秀x值給你看
  ShowMessage(y);   //秀y值給你看
}
 
superyoung
一般會員


發表:14
回覆:24
積分:7
註冊:2004-07-02

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-08-13 18:20:46 IP:210.202.xxx.xxx 未訂閱
我現在要用Button來讀取txt檔 那我要怎樣寫判斷式來判斷 1.我是按下Button來讀取txt檔 2.直接輸入法 又要麻煩各位了...謝謝
nlj859
資深會員


發表:139
回覆:375
積分:322
註冊:2004-03-20

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-08-13 19:21:15 IP:163.28.xxx.xxx 未訂閱
引言: 我現在要用Button來讀取txt檔 那我要怎樣寫判斷式來判斷 1.我是按下Button來讀取txt檔 2.直接輸入法 又要麻煩各位了...謝謝
Hello superyoung, 上面的範例不是一直都是用Button褡配OpenDialog來開啟檔案嗎?
void __fastcall TForm1::Button3Click(TObject *Sender) //==>這裡就是以Button來讀取txt檔
{
   TStringList *slFile;
    if(OpenDialog1->Execute())
      {
       slFile = new TStringList;
       slFile->LoadFromFile(OpenDialog1->FileName);
       if(RadioGroup1->ItemIndex==0)
          Edit1->Text= slFile->Strings[0];
       else
           Edit2->Text= slFile->Strings[1];
       delete slFile;
      }
}
不曉得你的意思是什麼,可否再詳細描述一下?
superyoung
一般會員


發表:14
回覆:24
積分:7
註冊:2004-07-02

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-08-13 21:40:41 IP:61.229.xxx.xxx 未訂閱
首先再一次感謝各位高手的解答 我綜合大家的方法之後已經解決了我的問題 這次也讓我學到很多...謝謝各位
系統時間:2024-06-28 5:24:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!