TEdit:自动完成并限制最小数量

时间:2013-12-09 20:55:50

标签: delphi

以下是按键事件:

procedure TForm3.Edt1KeyPress(Sender: TObject; var Key: Char);
begin
  if not(Key in [#8, '0' .. '9']) then
  begin
    memo1.Clear;
    Print('Numbers only !');
    Key := #0;
  end;
  edt1.MaxLength := 12;
end;

所以这是故事:

我想自动完成我的TEdit。 每次我输入TEdit,它都会自动填写我的(任意)数字。只需在第一个数字后面加上'0',它将被替换为第二个数字被输入...并停在最大长度上(设置为12)。

procedure TForm3.btn1Click(Sender: TObject);
var key : Char;
begin
if Trim(edt1.Text) = '' then
  begin
    memo1.Clear;
    Print('Please input your number');
    Exit
  end;
// Text number CAN NOT LESS than 12 digits. I think it's better with auto-complete.
end;

1 个答案:

答案 0 :(得分:8)

TMaskEdit 000000000000;0;0的{​​{3}}将完全按照您的意愿行事,无需编写代码并处理 Del 等内容, Backspace LeftArrow RightArrow 键。

TMaskEdit Input Mask Editor