Delphi中限制文本框(TEdit)只能输入数字 (软件技术)
procedure Tform1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
html表单只能输入数字edt: TEdit;
str, strL, strR: string;
p: integer;
begin
// 获取当前文本内容, 注意要去掉选中部分(因为会被改写).
edt := TEdit(Sender);
str := ;
if Length(edt.SelText) <> 0 then
begin
strL := , edt.SelStart);
strR := , ) - edt.SelStart - edt.SelLength);
str := strL + strR;
end;
// 限制输入数字/小数点/退格键
if not (Key in [#8, #13, #127, '.', '-', '0'..'9']) then Key := #0;
//限制只能输入一个小数点
if Key = '.' then
begin
p := Pos('.', edt.Text);
if p > 0 then Key := #0;
end;
//限制只能在第一位输入且只能输入一个'-'号
if Key = '-' then
begin
if edt.SelStart > 0 then Key := #0;
p := Pos('-', edt.Text);
if p > 0 then Key := #0;
end;
end;
//要uses StrUtils单元
如果程序里有很多的TEdit要做此限制,当然不必给每个控件写代码,把事件指定到同一个过程就行了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论