Inno setup 如何验证仅编辑数字&;只有inno设置中的文本?
有没有一种方法可以将字符限制为数字,长度限制为10,没有空格,并且只需编辑一次就可以了? 这是一个电话号码和名字,需要没有空格,不知道怎么做。找到了一个代码,它尝试了一些方法来实现,但不起作用 这是我发现的“不允许使用的字母”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 := #
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代码>是正确的。