if not key in ['0'..'9'] then key:=#0;有什么错误? ( 积分: 50 )

  • 主题发起人 主题发起人 realsupk
  • 开始时间 开始时间
R

realsupk

Unregistered / Unconfirmed
GUEST, unregistred user!
最后的KEY := #0,不会类型不匹配吗?
 
应这样写
if not( key in ['0'..'9'] ) then
key:=#0;


if not( key in ['0'..'9',#8,#13] ) then
key:=#0;
我觉得就带上这两个 不过是看情况了
 
if not( key in [#48..#57] ) then
key:=#0;
在onKeyPress事件中的吗?
 
就如 fuxin198311 所说
if not (key in ['0'..'9']) then key := #0;
 
对了 在onKeyPress事件中
 
key是Char,#0就是char
 
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9']) then key := #0;
end;

而在
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; //这里KEY是WORD类型,要用#0可以用char(0)
Shift: TShiftState);
begin

end;
 
#就是把后面的数字看成ASCII码所表示的字符
 
后退
顶部