如何在delphi裡面控制edit只能輸入數字
━━━━━━━━━━━━━━━━━━━━━━━━━━
if not (key in ['0'..'9',#8]) then key := #0;
只能輸入漢字,而不能輸入數字或其他字元
━━━━━━━━━━━━━━━━━━━━━━━━━━
在edit的onkeypress事件中
procedure tform1.edit1keypress(sender: tobject; var key: char);
begin
if (ord(key)<127) or (ord(edit1.text[1])>127) then
key:=#0;
end;
要使一文字框中只可輸入數字,而且當輸入的數字錯誤時還可以通過backspace鍵來修改.
━━━━━━━━━━━━━━━━━━━━━━━━━━
由於backspace的ascii值是8,所以像以下這樣即可
if (key<>#46) and ((key < #48) or (key > #57)) and (key <> #8) then
//如果輸入不是數字或小數點(#46代表小數點)
begin
key:=#0; //取消輸入的內容(#0代表空值)
showmessage('輸入錯誤!請輸入數字!'); //發出提示資訊
end;
方法二:
if not (key in ['0'..'9',#13,#8 ,#46]) then
key := #0;
這樣就可以了
只能輸入數字,而不能輸入其他字元
━━━━━━━━━━━━━━━━━━━━━━━━━━
edit 屬性maxlength 設定2;
在edit的onkeypress裡
procedure tmainform.editkeypress(sender:tobject;var key: char );
var
uflag: integer;
begin
uflag:=tedit(sender).tag;
if (not (key in ['1'..'9'])) and (not (key=#8)) then key:=#0;
end;
方法二:
edit的maxlength設定為2;
在edit的onkeypress事件內
procedure ttbdlform.edit1keypress(sender: tobject; var key: char);
begin
if key <> #9 then// #9 是空格,你可以查詢下數字1\2\3是什麼值
showmessage('請輸入數字')
end;
只能輸入數字和小數點
━━━━━━━━━━━━━━━━━━━━━━━━━━
procedure tform1.edit1keypress(sender: tobject; var key: char);
begin
if not (key in ['0'..'9','.',#8,#32]) then
key:= #0;
end;
end.
但如果你想只輸入數字而且有格式限制 那麼你最好還是用第三方控制項`
方法二:
可以在keypress裡面加上如下**,可以輸入數字,並且可以使用退格刪除數字,可以使用回車
procedure tform1.edit1keypress(sender: tobject; var key: char);
begin
case key of
'0'..'9', #8, #13, #27, '.' : ;
else
begin
messagebox(handle, '請輸入數字', pchar('輸入錯誤'), mb_ok + mb_iconinformation);
key := #0;
end;
end;
end;
procedure tform1.edit1keypress(sender: tobject; var key: char);
begin
if not (key in ['0'..'9', #8, #13]) then
begin
key := #0;
showmessage('只能輸入數字');
end;
end;
讓 Edit 只接受數字《轉》
方法1 proceduretform1.edit1keypress sender tobject varkey char begin ifnot keyin 0 9 then key chr 0 end 方法2 proceduretform1.edit1keypress sender tobject...
Delphi 7下Edit控制項的氣泡提示
在windows xp以及以上版本,基本控制項edit都有乙個好看的氣泡提示框,可惜delphi 7還不支援這種效果,但是因為edit是基本控制項,只要在xp及以上版本,傳送氣泡顯示訊息,也就可以讓其顯示氣泡提示。msdn介紹editballoontip結構體如下 12 3456 typedef s...
Delphi 流程控制
程式流程控制 1 條件分之 if.else var i integer begin if i 0 then begin do 不能給 end 沒有結束 if.else都不能加 s else if i 0 then begin do endelse begin do 兩個語句以上前面的語句必須加 do...