今天,在制作打包脚本的时候,遇到了正整型值输入框中输入字母或者小数,依然能够执行的bug。
因此想到对输入的值进行判断处理,对不符合条件的输入值进行警告。
Var
strNumber :String;
number :Integer;
;判断是否为正整数
function isPositiveInteger(strNumber:String):Boolean;
begin
if(StrToIntDef(strNumber, 0) = 0) then
begin
Result := False;
end;
Result := True;
end;
注释:Pascal 脚本: StrToIntDef
语法:
function StrToIntDef(s: string; def: Longint): Longint;
描述:
StrToInt 函数转换字符串 S 到一个数字。如果 S 不能转换到一个有效的数字,StrToInt 返回 Def 中的数字。(引用自innosetup助手)
此处通过设置一个默认的返回值为0,当输入的字符串不能干正确转换时,就返回0值,通过对返回值的判断,既可以进行是否输入正确的判断。