procedure TPotsConfigfrm.EdtAG_ACVOLKeyPress(Sender: TObject; var Key: Char); var Tempstr:string; nPos:integer; begin Tempstr := TEdit(Sender).Text; if Key = '-' then begin if (Sender as TEdit).SelStart <> 0 then Key := #0 ; Exit ; end ; if key = '.' then begin nPos := Pos('.',Tempstr); if (nPos > 0)or(length(Tempstr)=0) then key := #0; Exit; end; if Key in [#33..#47, #58..#126] then begin Key := #0 ; end ; end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); var strTemp: string; begin strTemp:= TEdit(Sender).Text; if not (Key in ['0'..'9', Char(VK_RETURN), Char(VK_BACK), Char(VK_DELETE), '.', '-']) then Key := #0 else begin if Key = '-' then begin if TEdit(Sender).SelStart <> 0 then Key := #0 ; Exit ; end ; if key = '.' then begin if Pos('.',strTemp)> 0 then key := #0; Exit; end; end;
end;
在keypress事件中, if not (key in['0'..'9',#8,#13,'.']) then key:=#0; //#8 is vk_back
var Key: Char);
var
Tempstr:string;
nPos:integer;
begin
Tempstr := TEdit(Sender).Text; if Key = '-' then
begin
if (Sender as TEdit).SelStart <> 0 then
Key := #0 ;
Exit ;
end ; if key = '.' then
begin
nPos := Pos('.',Tempstr);
if (nPos > 0)or(length(Tempstr)=0) then
key := #0;
Exit;
end; if Key in [#33..#47, #58..#126] then
begin
Key := #0 ;
end ;
end;
var Key: Char);
var
strTemp: string;
begin
strTemp:= TEdit(Sender).Text;
if not (Key in ['0'..'9', Char(VK_RETURN), Char(VK_BACK), Char(VK_DELETE),
'.', '-']) then
Key := #0
else begin
if Key = '-' then
begin
if TEdit(Sender).SelStart <> 0 then
Key := #0 ;
Exit ;
end ;
if key = '.' then
begin
if Pos('.',strTemp)> 0 then
key := #0;
Exit;
end;
end;
end;
if not (key in['0'..'9',#8,#13,'.']) then
key:=#0;
//#8 is vk_back
同意wyb716