前两天通过别人帮助完成的代码,实现的功能和你要求的接近procedure TMainForm.suiEdit8KeyPress(Sender: TObject; var Key: Char); var s:integer; bj:integer; str:string; begin if not (Key in ['0'..'9','.',#8,#13]) then Key:=#0; if key<>#8 then begin bj:=pos('.',TEdit(Sender).Text); if bj>0 then begin s:=length(TEdit(Sender).Text); str:=Copy(TEdit(Sender).Text, bj,s-bj); if length(str)>=2 then key:=#0; end; end; if Key='.' then begin if (Pos('.',TEdit(Sender).Text)<>0)or(Length(TEdit(Sender).Text)=TEdit(Sender).SelLength)or(TEdit(Sender).SelStart=0) then Key:=#0; end; end;
var
s:integer;
bj:integer;
str:string;
begin
if not (Key in ['0'..'9','.',#8,#13]) then
Key:=#0;
if key<>#8 then
begin
bj:=pos('.',TEdit(Sender).Text);
if bj>0 then
begin
s:=length(TEdit(Sender).Text);
str:=Copy(TEdit(Sender).Text, bj,s-bj);
if length(str)>=2 then
key:=#0;
end;
end;
if Key='.' then
begin
if (Pos('.',TEdit(Sender).Text)<>0)or(Length(TEdit(Sender).Text)=TEdit(Sender).SelLength)or(TEdit(Sender).SelStart=0) then
Key:=#0;
end;
end;
哪儿控件很多。应该能找到。