如何判断Edit控件中输入的字符为数字!

如何判断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' 比较。

不知道还有没有更好的办法!!!请多多赐教!!!

你可能感兴趣的:(如何判断Edit控件中输入的字符为数字!)