var i:integer; try i:=strtoint(inputbox.text); except showmessage('不是有效的数字'); end;
我写的如下,但是不对 procedure TfrmMainForm.FormActivate(Sender: TObject); var inputString:string; num:integer; begin inputString:=InputBox('认证','请输入工号:',''); num:=StrToInt(inputString); if (num<0)or(num>9999) then raise EintError.CreateFmt('工号输入错误,请重新输入!%d',[1]); end;
是不是输入不正确就一直输入啊 var inputString:string; num:integer; begin while true do begin try num := StrToInt(InputBox('认证','请输入工号:','')); if (num<0)or(num>9999) then ShowMessage('工号输入错误,请重新输入!') else break; except ShowMessage('工号输入错误,请重新输入!'); end; end;end;
i:integer;
try
i:=strtoint(inputbox.text);
except
showmessage('不是有效的数字');
end;
procedure TfrmMainForm.FormActivate(Sender: TObject);
var
inputString:string;
num:integer;
begin
inputString:=InputBox('认证','请输入工号:','');
num:=StrToInt(inputString);
if (num<0)or(num>9999) then
raise EintError.CreateFmt('工号输入错误,请重新输入!%d',[1]);
end;
->
num:=StrToIntDef(inputString, -1);
你直接用exe执行,不可能扑捉不到的。
在DELPHI中运行时,请将Tools|Debugger Options|Language Exceptions关闭。
var
inputString:string;
num:integer;
begin
while true do
begin
try
num := StrToInt(InputBox('认证','请输入工号:',''));
if (num<0)or(num>9999) then
ShowMessage('工号输入错误,请重新输入!')
else break;
except
ShowMessage('工号输入错误,请重新输入!');
end;
end;end;