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

詢問類似IF比對快速寫法

答題得分者是:blk5743
Mosquito
一般會員


發表:4
回覆:5
積分:1
註冊:2005-01-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-04 02:29:18 IP:59.104.xxx.xxx 未訂閱
if ( number->Text == Edit1->Text ) { Edit1->Color = clRed; number->Text = "" ; } if ( number->Text == Edit2->Text ) { Edit2->Color = clRed; number->Text = "" ; } if ( number->Text == Edit3->Text ) { Edit3->Color = clRed; number->Text = "" ; } 類似的程式,需要比對25個 這樣寫很冗長,有什麼方法可以簡潔比對
rogan321
高階會員


發表:21
回覆:307
積分:200
註冊:2003-05-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-04 04:04:53 IP:203.204.xxx.xxx 未訂閱
寫進函式裡頭~ EX~
 
//在標頭檔中宣告~
private:        // User declarations
        void CommActive(String a,String b);
//CPP檔中寫下共同的CODE
void TForm1::CommActive(String a,String b)
{
  number->Text =a;
  Edit1->Text =b
  if ( number->Text == Edit1->Text )
  {
    Edit1->Color = clRed;
    number->Text = "" ;
  }
} 
ctako
一般會員


發表:1
回覆:3
積分:0
註冊:2003-08-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-04 08:09:41 IP:210.68.xxx.xxx 未訂閱
可以試試宣告一個TEdit的指標陣列,再將你所需要比對的Edit的位址存入,這樣就可以用一個FOR迴圈解決了!
blk5743
高階會員


發表:34
回覆:371
積分:236
註冊:2003-11-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-04 09:09:35 IP:61.66.xxx.xxx 未訂閱
 
for ( int i = 1; i <=25; i   )
{
    TEdit *edit = dynamic_cast(FindComponent("Edit"   IntToStr(i)));
    if ( number->Text == edit->Text )
    {
        edit->Color = clRed;
        number->Text = "";
        break;//如果你只想找第一個符合條件的物件
    }
}
Mosquito
一般會員


發表:4
回覆:5
積分:1
註冊:2005-01-04

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