procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (key in ['0'..'9', #8]) then key:= #0; end;
来晚了 if not (key in ['0'..'9', #8]) then key:= #0;
最常用的方法procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (key in ['0'..'9', #8]) then key:= #0; end;
procedure TForm.EditChange(Sender: TObject); begin try StrToInt((Sender as TEdit).Text); except (Sender as TEdit).Text:=Copy((Sender as TEdit).Text,1, Length((Sender as TEdit).Text)-1); (Sender as TEdit).SelStart:=Length((Sender as TEdit).Text); end; end;
不好意思,上面有错 procedure TMainFrm.Edit1KeyPress(Sender: TObject; var Key: Char); begin if ((ord(key )>57) or (ord(key)<48)) and (key<>#8) then key:=#0; end;
if not key in [48..57] then
key=0;
begin
if not (key in ['0'..'9', #8]) then key:= #0;
end;
if not (key in ['0'..'9', #8]) then key:= #0;
begin
if not (key in ['0'..'9', #8]) then key:= #0;
end;
begin
try
StrToInt((Sender as TEdit).Text);
except
(Sender as TEdit).Text:=Copy((Sender as TEdit).Text,1,
Length((Sender as TEdit).Text)-1);
(Sender as TEdit).SelStart:=Length((Sender as TEdit).Text);
end;
end;
procedure TMainFrm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if ((ord(key )>57) or (ord(key)<48)) and (key<>#8) then
key:=#0;
end;