if not (key in ['0'..'9',#8,#46]) then key:=#0 else if length(edit1.Text)>=7 then key:=#0
以上程序写在edit1的keypress事件中 procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (key in ['0'..'9',#8,#46]) then key:=#0 else if length(edit1.Text)>=7 then key:=#0 end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); var I: Integer; begin if ( key in ['0'..'9','.',#13,#8,#46]) then begin if (Key = #8) and (Key = '.' ) then J := J - 1; if Key = '.' then begin for I := 0 to Length(Edit1.Text ) - 1 do begin if Copy(Edit1.Text ,I , 1) ='.' then J := J +1 ; if J >= 2 then Key := #0; end; if (Length(Edit1.Text) = 0) or (Length(Edit1.Text) = 6) then Key := #0; end else Exit; end else Key := #0; end;var Form1: TForm1; J : Integer; implementation{$R *.DFM}procedure TForm1.FormCreate(Sender: TObject); begin edit1.MaxLength :=7; J :=0; end;
比如:Edit,那只要设Maxlength就可以了
或者你问的是别的什么东西,说清楚点好不好
key:=#0
else if length(edit1.Text)>=7 then
key:=#0
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8,#46]) then
key:=#0
else if length(edit1.Text)>=7 then
key:=#0
end;
var
I: Integer;
begin
if ( key in ['0'..'9','.',#13,#8,#46]) then
begin
if (Key = #8) and (Key = '.' ) then
J := J - 1;
if Key = '.' then
begin
for I := 0 to Length(Edit1.Text ) - 1 do
begin
if Copy(Edit1.Text ,I , 1) ='.' then
J := J +1 ;
if J >= 2 then
Key := #0;
end;
if (Length(Edit1.Text) = 0) or (Length(Edit1.Text) = 6) then
Key := #0;
end else
Exit;
end else
Key := #0;
end;var
Form1: TForm1;
J : Integer;
implementation{$R *.DFM}procedure TForm1.FormCreate(Sender: TObject);
begin
edit1.MaxLength :=7;
J :=0;
end;