只要在Edit编辑框的OnKeyPress事件中输入以下代码就可以搞掂!!procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (Key in ['0'..'9']) then Key := #0; end;
怎样让edit.text输入1到9时,自动变为01,02....
当edit.text输入为6时,Format('%0.2d',edit.text)就为06
以下代码是只能输入数字: var Form1: TForm1; EditStr:String; Pst:Integer; implementation{$R *.dfm}procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin//Edit的按键事件 EditStr:=Edit1.Text; Pst:=Edit1.SelStart;//记住按键时光标在文本框上的位置 if not ((Key in ['0'..'9'])or(key='.')or(key in [#8,#46])) then Key:=#0; end;procedure TForm1.Edit1Change(Sender: TObject); begin//Edit的OnChange事件 if Edit1.Text='' then exit; try StrToFloat(Edit1.Text) except Edit1.Text:=EditStr; Edit1.SelStart:=Pst;//设光标的位置 end; end;
begin
if not (Key in ['0'..'9']) then
Key := #0;
end;
var
Form1: TForm1;
EditStr:String;
Pst:Integer;
implementation{$R *.dfm}procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin//Edit的按键事件
EditStr:=Edit1.Text;
Pst:=Edit1.SelStart;//记住按键时光标在文本框上的位置
if not ((Key in ['0'..'9'])or(key='.')or(key in [#8,#46])) then
Key:=#0;
end;procedure TForm1.Edit1Change(Sender: TObject);
begin//Edit的OnChange事件
if Edit1.Text='' then
exit;
try
StrToFloat(Edit1.Text)
except
Edit1.Text:=EditStr;
Edit1.SelStart:=Pst;//设光标的位置
end;
end;