TEdit KeyPress 資料輸入檢查 |
答題得分者是:Chance36
|
unisabilly
一般會員 發表:19 回覆:20 積分:17 註冊:2004-05-20 發送簡訊給我 |
怎麼樣子才可以讓使用者在輸入到TEdit時可以作檢查.
請各位大大幫個忙...
現在我有一個TEdit只允許使用者輸入數字,不能輸入其他的字元,下面是我的作法,雖然在使用者輸入其他字元時他會跳出警告視窗,不過在取消警告視窗後,使用者所按的那個錯誤字元還是會出現在TEdit上,不曉得有沒有什麼辦法可以把那個字元消除掉,或者有更好用的辦法!? procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
num : boolean;
begin
num := false;
if (ord(key) > 47) and (ord(key) < 58) or (ord(key) = 8) or (ord(key) = 13) then
num := true;
if not num then
messagedlg('請輸入數字0-9',mtwarning,[mbcancel],0);
if (ord(key) = 13) then
button1.Click;
end;
|
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
unisabilly 你好
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if (ord(key) = 13) then button1.Click; if Not ((ord(key) > 47) and (ord(key) < 58) or (ord(key) = 8) ) then begin messagedlg('請輸入數字0-9',mtwarning,[mbcancel],0); Key := 0 ; End; end;_______________________________________ 深藍的魚,祝您好運..........連連 |
unisabilly
一般會員 發表:19 回覆:20 積分:17 註冊:2004-05-20 發送簡訊給我 |
引言: unisabilly 你好Key := 0; // [Error] main.pas(330): Incompatible types: 'Char' and 'Integer'... 謝謝藍魚的幫忙,但是我直接把整個Code Copy上去後出現了上列錯誤訊息,另外就是 key := 0 的作用是?? ~~ 新手上路.衝.衝.衝.procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if (ord(key) = 13) then button1.Click; if Not ((ord(key) > 47) and (ord(key) < 58) or (ord(key) = 8) ) then begin messagedlg('請輸入數字0-9',mtwarning,[mbcancel],0); Key := 0 ; End; end;_______________________________________ 深藍的魚,祝您好運..........連連 |
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
|
unisabilly
一般會員 發表:19 回覆:20 積分:17 註冊:2004-05-20 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |