在edit控件的KeyPress事件中,procedure TfrmSysSetUp.EditPortKeyPress(Sender: TObject; var Key: Char); begin if not (key in ['.', '0'..'9']) and (key <> #13) and ((key <> #8)) then Key := #0; end;
给你一段代码: var s:set of char; i:integer; begin if key=#13 then ComboBox2.SetFocus; s:=['.',#8,'0'..'9']; i:=pos('.',edit1.text); if i>0 then s:=s-['.']; if (i>0)and(i=length(edit1.text)-2) then begin key:=#0; exit; end; if not (Key in s)then Key := #0; end;
呵呵 你要么自己做控件 改造EDIT
忘记了: //if key=#13 then //ComboBox2.SetFocus; 应去掉.
//只能输入数字和小数点 if not (key in['0'..'9','.',#8]) then key:=#0;
if (key<'0') or (key>'9') then begin ....... //做你的事 ... end
procedure TfrmSysSetUp.EditPortKeyPress(Sender: TObject; var Key: Char); begin if not (key in ['.', '0'..'9']) and (key <> #13) and ((key <> #8)) then Key := #0; end; 我也经常用这个,呵呵
在该edit控件的KeyPress事件中写上如下代码: if not (key in['0'..'9',#13,#8]) then key:=#0;
试试这个 str := Edit1.Text; if not (key in['0'..'9',#13,#8,#46]) then if (pos('.', str) > 0) then key:=#0;
begin
if not (key in ['.', '0'..'9']) and (key <> #13) and ((key
<> #8)) then
Key := #0;
end;
var
s:set of char;
i:integer;
begin
if key=#13 then
ComboBox2.SetFocus;
s:=['.',#8,'0'..'9'];
i:=pos('.',edit1.text);
if i>0 then
s:=s-['.'];
if (i>0)and(i=length(edit1.text)-2) then
begin
key:=#0;
exit;
end;
if not (Key in s)then
Key := #0;
end;
你要么自己做控件 改造EDIT
//if key=#13 then
//ComboBox2.SetFocus;
应去掉.
if not (key in['0'..'9','.',#8]) then key:=#0;
begin
.......
//做你的事
...
end
begin
if not (key in ['.', '0'..'9']) and (key <> #13) and ((key
<> #8)) then
Key := #0;
end;
我也经常用这个,呵呵
if not (key in['0'..'9',#13,#8]) then
key:=#0;
str := Edit1.Text;
if not (key in['0'..'9',#13,#8,#46]) then
if (pos('.', str) > 0) then
key:=#0;