//用2009的话,这样就行了。 procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (Key in ['0'..'9', #8]) and (Key <> ',') then Key := #0; end;
在edit的exit事件中,加入以下代码procedure Tfm1.Edit1Exit(Sender: TObject); begin edit1.text:=stringreplace(edit1.text,',',',',[rfReplaceAll]); end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not ((key in ['0'..'9',',',#8,#32,#13]) or (ord(key) = 163)) then key:= #0; end; 完成,结帖吧
ctl+V如何处理? 不想屏蔽掉
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not ((key in ['0'..'9',',',#8,#32,#13]) or (ord(key) = 163)) then key:= #0; end;其它的包括 ;:
只允许输入数字,供你参考 SetWindowLong(edtSockPort.Handle, GWL_STYLE, GetWindowLong(edtSockPort.Handle, GWL_STYLE) or ES_NUMBER);
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9', #8]) and (Key <> ',') then
Key := #0;
end;
begin
edit1.text:=stringreplace(edit1.text,',',',',[rfReplaceAll]);
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not ((key in ['0'..'9',',',#8,#32,#13]) or (ord(key) = 163)) then key:= #0;
end;
完成,结帖吧
不想屏蔽掉
begin
if not ((key in ['0'..'9',',',#8,#32,#13]) or (ord(key) = 163)) then key:= #0;
end;其它的包括 ;:
SetWindowLong(edtSockPort.Handle, GWL_STYLE, GetWindowLong(edtSockPort.Handle, GWL_STYLE) or ES_NUMBER);