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

关于如何限制用户输入的问题?

尚未結案
railgunman
初階會員


發表:59
回覆:121
積分:36
註冊:2003-03-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-25 09:25:29 IP:218.88.xxx.xxx 未訂閱
在TEdit的KeyPress事件中加入如下代码: If Not (Key In ['0'..'9']) then Key := #0; 这样就能让用户只输入数字,不过,小弟遇到一个问题:假如此时用户打开了中文输入法进行中文输入的话,那么程序就不会去执行TEdit的KeyPress,结果就没有达到限制用户输入的目的. 我遇到这样的情况,不知道怎么处理,不知各位是否遇到和小弟同样的遭遇?有没有更好的解决办法?
shinhrn
中階會員


發表:54
回覆:165
積分:83
註冊:2002-06-05

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-25 09:45:03 IP:218.162.xxx.xxx 未訂閱
為何不用 MaskEdit ??
ivankuo
中階會員


發表:132
回覆:272
積分:95
註冊:2002-11-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-12-25 09:45:43 IP:61.221.xxx.xxx 未訂閱
用MaskEdit替代Edit試試看~~ 設定其遮罩。
------
ivankuo
railgunman
初階會員


發表:59
回覆:121
積分:36
註冊:2003-03-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-12-25 15:12:14 IP:218.88.xxx.xxx 未訂閱
谢谢两位.不过我从来都没有用过MaskEdit,我去试试.
leo2568
中階會員


發表:54
回覆:124
積分:70
註冊:2003-09-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-12-28 13:35:44 IP:202.145.xxx.xxx 未訂閱
引言: 在TEdit的KeyPress事件中加入如下代码: If Not (Key In ['0'..'9']) then Key := #0; 这样就能让用户只输入数字,不过,小弟遇到一个问题:假如此时用户打开了中文输入法进行中文输入的话,那么程序就不会去执行TEdit的KeyPress,结果就没有达到限制用户输入的目的. 我遇到这样的情况,不知道怎么处理,不知各位是否遇到和小弟同样的遭遇?有没有更好的解决办法?
你需要怎樣的限制呢? 參考看看!!
procedure TForm1.Edit1Change(Sender: TObject);
begin
  if ((Edit1.Text <> '') and ( (Edit1.Text <> '中文') or (Edit1.Text <> ......) ) then
    begin
      ShowMessage('輸入錯誤');
      Edit1.Text:='';
      Edit1.SetFocus;
    end;
end; 
發表人 - leo2568 於 2003/12/28 13:43:24
系統時間:2024-06-27 10:47:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!