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

請問有沒有這樣的TEdit

答題得分者是:RaynorPao
irvinehing
初階會員


發表:77
回覆:79
積分:31
註冊:2003-11-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-18 15:33:42 IP:202.174.xxx.xxx 未訂閱
我想寫一個Edit Field給使用者輸入資料,但是這個Edit Field要能紀錄之前輸入過的資料,請問這該怎麼寫?
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-18 15:46:06 IP:203.73.xxx.xxx 未訂閱
引言: 我想寫一個Edit Field給使用者輸入資料,但是這個Edit Field要能紀錄之前輸入過的資料,請問這該怎麼寫?
irvinehing 你好:
據小弟我所知應該是沒有的,不過,要達成這個功能也不困難,你只需要自己利
用一個 TStringList 來記錄使用者每一次輸入的字串即可,例如:    TStringList *sl;
__fastcall TForm1::TForm1(TComponent* Owner)
   : TForm(Owner)
{
   sl=new TStringList;
}
__fastcall TForm1::~TForm1()
{
   delete sl;
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   sl->Insert(0, Edit1->Text);
}    如果要抓之前使用者曾經輸入過的字串的話
倒數第一個: sl->Strings[0];
倒數第二個: sl->Strings[1];
..........................
第一個輸入的字串: sl->Strings[sl->Count-1];
-- Enjoy Researching & Developing -- 發表人 - RaynorPao 於 2003/11/18 15:56:57
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
irvinehing
初階會員


發表:77
回覆:79
積分:31
註冊:2003-11-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-18 16:09:14 IP:202.174.xxx.xxx 未訂閱
謝謝版主! 我用了一個ComboBox和一個OnExit Event,當觸發Event時,我就把ComboBox的Text加入ComboBox的items中。     
void __fastcall TOtherCalls::ComboBox1Exit(TObject *Sender)
{
        ComboBox1->Items->Add(ComboBox1->Text);
}
 
問題來了,就是如果有重複的資料的話,那items中就會有很多相同的資料。 請問要如何避免資料重複出現,以及如何限制items的數目?
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-11-18 16:43:17 IP:203.73.xxx.xxx 未訂閱
引言: 謝謝版主! 我用了一個ComboBox和一個OnExit Event,當觸發Event時,我就把ComboBox的Text加入ComboBox的items中。
void __fastcall TOtherCalls::ComboBox1Exit(TObject *Sender)
{
        ComboBox1->Items->Add(ComboBox1->Text);
}
 
問題來了,就是如果有重複的資料的話,那items中就會有很多相同的資料。 請問要如何避免資料重複出現,以及如何限制items的數目?
irvinehing 你好:
(1)利用以下的方法就可以知道此次輸入的字串是否跟之前的記錄重複
   if(ComboBox1->Items->IndexOf(Edit1->Text)>=0)
   {
      ShowMessage("字串已經存在記錄中");
   }
   else
   {
      ShowMessage("字串不存在記錄中");
   }
(2)如果你想控制數量的上限,只需要在你每一次 Add 的時候再檢查一次,然後
   把最舊的那一個刪掉就可以了
    -- 
        
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
kwu
中階會員


發表:10
回覆:57
積分:58
註冊:2003-10-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-11-18 16:46:56 IP:61.63.xxx.xxx 未訂閱
引言: 謝謝版主! 我用了一個ComboBox和一個OnExit Event,當觸發Event時,我就把ComboBox的Text加入ComboBox的items中。 void __fastcall TOtherCalls::ComboBox1Exit(TObject *Sender) { ComboBox1->Items->Add(ComboBox1->Text); } 問題來了,就是如果有重複的資料的話,那items中就會有很多相同的資料。 請問要如何避免資料重複出現,以及如何限制items的數目?
irvinehing 你好 ComboBox1 要加入項目前要先做檢查
if((ComboBox1->Items->Count < 10) && (ComboBox1->Items->IndexOf(ComboBox1->Text) < 0))
{
  ComboBox1->Items->Add(ComboBox1->Text);
}
系統時間:2024-05-15 22:20:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!