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

Bia*_*nca 2 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;
Run Code Online (Sandbox Code Playgroud)

所以这是故事:

我想自动完成我的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;
Run Code Online (Sandbox Code Playgroud)

Ken*_*ite 8

一个TMaskEdit带有EditMask000000000000;0;0会做你想要什么,而你不必编写代码和处理之类的东西Del,BackspaceLeftArrowRightArrow键.

TMaskEdit输入掩码编辑器