如何判断Edit控件中输入的字符为数字!
在只要求输入数字的Edit中,避免字符的输入!!!
procedure TForm1.CustNoEditKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ( chr(ord(key)) < '0' ) or ( chr(ord(key)) > '9' ) then
begin
messagedlg('请输入0-9直接的数字!', mtError, [mbCancel], 0);
form1.CustNoEdit.Text := '';
form1.CompEdit.Text := '';
end;
end;
如果直接用 key < '0' 会报错,因为keyDown中的key为Word型(而在KeyPress中就可以,因为KeyPress中的key为char型的)。所以这里要转换一下:ord(key)求出key的AscII序数,然后用chr(ord(key))转为char,最后和 '0' 比较。
不知道还有没有更好的办法!!!请多多赐教!!!