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

TComboBox資料增加問題

尚未結案
sword185
一般會員


發表:36
回覆:81
積分:23
註冊:2002-06-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-03 11:55:19 IP:61.64.xxx.xxx 未訂閱
請問各位先進 若我用TComboBox的Items輸入1、2、3、4..10,若使用者要輸入大於10以上的 1.是否可以用程式碼自動加入數值,下一次執行時會自動存在之前輸入的? 2.那是否又可以檢查使用者所輸入的數值,例如TComboBox裡面已經有15的數值,而使用者又直接輸入15,是否可以顯示showmessage的錯誤訊息呢?
turboted
版主


發表:95
回覆:754
積分:452
註冊:2002-07-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-03 12:42:38 IP:210.241.xxx.xxx 未訂閱
chih 兄,感謝您的幫忙 是我的不查,沒注意到是delphi 的 我也自已改正了一下,順便提供了另外一種的save/load方法    
1.
if ComboBox1.Items.IndexOf(ComboBox1.Text) = -1 then
  ComboBox1.Items.Add(ComboBox1.Text);    記錄
ComboBox1.Items.SaveToFile('CBList.txt');
ComboBox1.Items.LoadFromFile('CBList.txt');    2.
    if ComboBox1.Items.IndexOf(ComboBox1.Text) <> -1 then
     ShowMessage (ComboBox1.Text);
發表人 - turboted 於 2003/06/03 13:37:02
sword185
一般會員


發表:36
回覆:81
積分:23
註冊:2002-06-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-03 13:13:09 IP:61.64.xxx.xxx 未訂閱
不好意思... 我要的是在TComboBox裡輸入Delphi(PASCAL)語言而不是C語言
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-03 13:32:09 IP:211.74.xxx.xxx 未訂閱
幫你翻一下吧.. > -> 發表人 -
sword185
一般會員


發表:36
回覆:81
積分:23
註冊:2002-06-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-06-03 13:49:45 IP:61.64.xxx.xxx 未訂閱
請問 [Error] Unit1.pas(31): Undeclared identifier: 'SeqListView' 要更改哪裡?
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-06-03 13:54:55 IP:211.74.xxx.xxx 未訂閱
ListView Name改為->SeqListView PS:這題是turbote兄答對的
turboted
版主


發表:95
回覆:754
積分:452
註冊:2002-07-23

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-06-03 14:13:25 IP:210.241.xxx.xxx 未訂閱
SeqListView是我把ListView名稱改掉的 如果您對ListView不熟 可以參考我後來修正的另外一種作法 ComboBox1.Items.SaveToFile('CBList.txt'); ComboBox1.Items.LoadFromFile('CBList.txt'); 其中的...CBList.txt 當然也是自已設定的
sword185
一般會員


發表:36
回覆:81
積分:23
註冊:2002-06-05

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-06-03 15:46:44 IP:61.64.xxx.xxx 未訂閱
小弟我非常愚庸... 是出來的結果:若直接點選下拉式的方式,無法選擇數值 我的程式碼如下: procedure TForm1.FormActivate(Sender: TObject); begin ComboBox1.Items.LoadFromFile('CBList.txt'); end; procedure TForm1.ComboBox1Exit(Sender: TObject); begin if ComboBox1.Items.IndexOf(ComboBox1.Text) <> -1 then begin ShowMessage ('【' ComboBox1.Text '】 欄位已有資料'); end else begin ComboBox1.Items.Add(ComboBox1.Text); ComboBox1.Items.SaveToFile('CBList.txt'); ComboBox1.Items.LoadFromFile('CBList.txt'); end; end; 不知如何更改
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-06-03 16:00:35 IP:211.74.xxx.xxx 未訂閱
1.ComboBox1的Style設為csDropDown. 2.Form上面再放一個Button,ComboBox1輸入完後按Enter鍵,這樣才會觸動Exit事件. 2.第一次執行時因為CBList.txt檔案不存在,所以會有錯誤訊息,不用理會,執行一次產生CBList.txt的檔案後,下次就不會有錯誤訊息了. TRY TRY SEE
sword185
一般會員


發表:36
回覆:81
積分:23
註冊:2002-06-05

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-06-03 16:13:11 IP:61.64.xxx.xxx 未訂閱
若我用下拉式的方式選擇,則會出現 欄位已有資料 我試過了...不行 有辦法解決嗎? 數值可以依順序排列嗎?
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-06-03 16:20:14 IP:211.74.xxx.xxx 未訂閱
ComboBox1Exit改寫在ComboBox1DropDown
turboted
版主


發表:95
回覆:754
積分:452
註冊:2002-07-23

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-06-03 16:29:05 IP:210.241.xxx.xxx 未訂閱
你現在是把判斷放在OnExit Event 請改到 OnChange Event
sword185
一般會員


發表:36
回覆:81
積分:23
註冊:2002-06-05

發送簡訊給我
#13 引用回覆 回覆 發表時間:2003-06-05 09:41:28 IP:61.64.xxx.xxx 未訂閱
改成OnChange Event---->若我用下拉式的選項則會出現 Message 改成OnDropDown Event---->若我用下拉式的選項第一次可以,但是第二次會會出現 Message
turboted
版主


發表:95
回覆:754
積分:452
註冊:2002-07-23

發送簡訊給我
#14 引用回覆 回覆 發表時間:2003-06-05 11:07:47 IP:210.241.xxx.xxx 未訂閱
把判斷放在 OnKeyPress 裏面 並判斷有沒有按下'/r' enter 鍵 如果有,再做判斷
if ComboBox1.Items.IndexOf(ComboBox1.Text) = -1 then
  ComboBox1.Items.Add(ComboBox1.Text);
if ComboBox1.Items.IndexOf(ComboBox1.Text) <> -1 then
     ShowMessage (ComboBox1.Text);
如果沒有,就不用判斷,當他是正常的選數值 就沒問題了
系統時間:2024-05-17 3:43:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!