在onkeypress事件中加入 if not (key in ['0'..'9']) then key:=#0;
再文本框的OnPress事件中写下 if not ((key in ['0'..'9']) or (key = #8)) then key:= #0;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (Key in ['0'..'9']) then Key := #0; end;
呵呵,看看下面你就明:在onkeypress中写入以下代码:IF NOT(KEY IN ['0'..'9','.',#8]) THEN KEY:=#0;
if key in ['0'..'9', #8, #46] then begin ... end else ShowMessage('只能输入数字!');
if key=#13 then s:=['.',#8,'0'..'9']; i:=pos('.',edit1.text); if i>0 then s:=s-['.']; if (i>0)and(i=length(edit1.text)-2) then //可任意控制-2,-3.... begin key:=#0; exit; end; if not (Key in s)then Key := #0;
if not (key in ['0'..'9']) then
key:=#0;
if not ((key in ['0'..'9']) or (key = #8)) then
key:= #0;
begin
if not (Key in ['0'..'9']) then Key := #0;
end;
KEY:=#0;
begin
...
end
else
ShowMessage('只能输入数字!');
s:=['.',#8,'0'..'9'];
i:=pos('.',edit1.text);
if i>0 then
s:=s-['.'];
if (i>0)and(i=length(edit1.text)-2) then //可任意控制-2,-3....
begin
key:=#0;
exit;
end;
if not (Key in s)then
Key := #0;