2017-06-16 23 views
0

有没有办法将字符限制为数字,长度为10,没有空格,只是另一个编辑? 它的电话号码,名称,需要没有空格,没有一个想法如何做到这一点。发现一个代码,尝试一些方法来实现,但不工作 这里是我发现不允许字母。如何验证编辑只有数字和唯一的文字在inno安装?

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类似的东西?

回答

0

您可以编辑的MaxLength EDIT1的属性来限制字符

Edit1.MaxLength:=10; 
+2

'TEdit'没有** **标题属性:)使用** **文本属性! 'copy(...)'不需要:使用'key:=#0'代替 –

+1

我认为**文本**属性和**标题**属性是等效的。在** KeyPress **事件中,我不知道'key:=#0',谢谢 – Vuio

+2

**同样要小心:**在monent中,您处于'Edit1KeyPress()'事件中。这意味着'Edit1.Text'在你拷贝(...)时不会被修改!删除最后一个字符,删除一个有效的字符。不设置'Key:= 0;'你现在在最后一个被杀死的char后面添加一个数字:START:** abcd **删除'd'并添加例如5导致Edit1.Text = ** abc5 **。请改善您的答案或删除它们。 –

相关问题