Inno setup 如何验证仅编辑数字&;只有inno设置中的文本?

Inno setup 如何验证仅编辑数字&;只有inno设置中的文本?,inno-setup,pascal,pascalscript,Inno Setup,Pascal,Pascalscript,有没有一种方法可以将字符限制为数字,长度限制为10,没有空格,并且只需编辑一次就可以了? 这是一个电话号码和名字,需要没有空格,不知道怎么做。找到了一个代码,它尝试了一些方法来实现,但不起作用 这是我发现的“不允许使用的字母” procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if (Key in ['a'..'z']) or (Key in ['A'..'Z']) then Key := #

有没有一种方法可以将字符限制为数字,长度限制为10,没有空格,并且只需编辑一次就可以了? 这是一个电话号码和名字,需要没有空格,不知道怎么做。找到了一个代码,它尝试了一些方法来实现,但不起作用 这是我发现的“不允许使用的字母”

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if (Key in ['a'..'z']) or (Key in ['A'..'Z'])  then
    Key := #0;
end;
此处显示不允许使用数字:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key in ['0'..'9'] then
    Key := #0;
end;
这是没有空间的:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if key = Char(VK_SPACE) then
    Key := #0;
end;

是否可以在inno中实现类似的功能?

您可以编辑Edit1的MaxLength属性以限制字符数

Edit1.MaxLength:=10;

TEdit
没有标题属性:)使用文本属性
copy(…)
不需要:使用
key:=#0
instead我认为文本属性和标题属性是等效的。我不知道按键事件中的键:=#0,谢谢你也要小心:现在你在
Edit1KeyPress()
事件中。这意味着
Edit1.文本在您复制时不会被更改(…)!!!删除最后一个字符后,您将删除一个有效字符。未设置
键:=0
您现在在上次终止的字符后面添加了一个数字:START:abc删除
d
,并在Edit1中添加了例如5个结果。Text=abc5。请改进您的答案或删除它们。此答案适用于Delphi,而问题是关于Inno设置的。所以这一切都完全无关。@MartinPrikryl:我同意!仅
Edit1.MaxLength:=10是正确的。