怎么限制在文本框中只输入数字?
不要只告诉我这样:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9','-',#8,#13]) then key:=#0;
end;要求:不可以输入这样的字符串: 333.333.333.333.
-5555.33-54.454
不要只告诉我这样:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9','-',#8,#13]) then key:=#0;
end;要求:不可以输入这样的字符串: 333.333.333.333.
-5555.33-54.454
begin
if not (key in ['0'..'9','-',#8,#13]) then key:=#0;
if (key='-')and(length(trim(edit1.text))=0) then key:=#0;
if (key='.')and(pos('.',edit1.text)>0) then key:=#0;
end;
var
s:string;
p:integer;
begin
p:=0;
s:=edit1.text;
for i:=1 to length(s) do
begin
if s[i]='.' then inc(p);
end;
if p>1 then showmessage('Error');end;
var
I: Real;
E: Integer;
begin
if mstr.Text<>'' then
begin
Val(mStr.Text, I, E);
if E<>0 then
begin
mStr.Text := '';
showmessage('请输入一个数字');
mStr.SetFocus;
end;
end;
end;
不要一来就回答
还有,要知道只能输入数字后还可以输入以下的键."home""end"和光标,if (key='-')and(length(trim(edit1.text))<>0) then key:=#0;
但是输入-后可以移到"-"的左边去输入数字,这样就会变成负号在数字前面的样式了.
p:currency;
begin
try
p:=StrToCurr(Edit1.Text);
except
showmessage('只能输入数字!');
end;
end;
begin
if not (key in ['0'..'9',#8]) then key:=#0;
end;UP一下!