我基本上是Delphi的新手,我被分配了一项任务,我必须对整数数组进行排序,并验证每一个输入。
我已经通过InputBox()
函数获取了数组的输入。其代码如下所示:
procedure TForm1.Button1Click(Sender: TObject);
begin
for i := 0 to Length(arr)-1 do
begin
arr[i] := StrToInt(InputBox('Program to sort integers', 'Enter 5 integers', ''));
end;
我还尝试放置一个try..except
块来捕获错误,但它不能像预期的那样工作。try..except
块如下所示:
procedure TForm1.Button1Click(Sender: TObject);
begin
for i := 0 to Length(arr)-1 do
begin
try
arr[i] := StrToInt(InputBox('Program to sort integers', 'Enter 5 integers', ''));
except
ShowMessage('Invalid input');
end;
问题是,在单击按钮时,会执行上面的OnClick
事件处理程序,但不会执行except
块。
我现在应该怎么做才能验证输入?
如果您想了解更多关于我的表单组件的信息,那么我已经添加了一个标签、一个用于显示排序数组的列表框和一个按钮(您知道它的名称是Button1)。
先谢谢你。
1条答案
按热度按时间vecaoik11#
使用您在评论中显示的
OnKeyPress()
事件!但是,如果您希望用户只需点击Enter
来标记值的结束,您还需要接受#13作为有效密钥。因此,
OnKeyPress
事件中的第一个测试变为然后你需要处理#13键:(伪代码)
所有其他接受的键都由该控件处理。