if not (key in ['0'..'9', #8, '.']) then
key := #0
else
begin
if key = '.' then
begin
if pos('.', TEdit(Sender).Text) > 0 then key := #0; //只能输入一个小数点
if (length(TEdit(Sender).Text) = 0) then //如果第一次输入'.'则自动加'0';
begin
Tedit(Sender).SelText:='0.';
key:=#0;
end;
end
else
if key = '0' then
begin
if (length(TEdit(Sender).Text) = 1) and (TEdit(Sender).Text = '0') then
key := #0;
end
else
begin
if (length(TEdit(Sender).Text) = 1) and (TEdit(Sender).Text = '0') then
TEdit(Sender).Text := '';
end;
if not (key in ['0'..'9',#8,'.']) then
key:=#0
else
begin
if key='.' then
begin
if pos('.',TEdit(Sender).Text)>0 then key:=#0;
end
else
if key='0' then
begin
if (length(TEdit(Sender).Text)=1) and (TEdit(Sender).Text='0') then
key:=#0;
end
else
begin
if (length(TEdit(Sender).Text)=1) and (TEdit(Sender).Text='0') then
TEdit(Sender).Text:='';
end;
if not (key in [in ['0'..'9',#8,'.']) then key=''
else
begin
if copy((Sender as Tedit).Text,1,1)='0' then
begin
if copy((Sender as Tedit).Text,2,1)<>'.' then
if copy(Sender as Tedit).Text,2,1)='0' then (Sender as Tedit).Text=copy((sender as tedit).text,3,length((Sender as Tedit).Text))
else
(Sender as Tedit).Text=copy((sender as tedit).text,2,length((Sender as Tedit).Text))
end;
procedure TForm_fee_pay.Edit10KeyPress(Sender: TObject; var Key: Char);
begin
if (key=#22) or( not(key in ['0'..'9',#8,'.'])) then
key:=#0 ;
if key in ['.'] then
begin
if length((Sender as Tedit).Text)>0 then
if pos(key,(Sender as Tedit).Text)>0 then
key:=#0
else
key:=key
else
key:=#0;
end;
end;