【发布时间】:2014-06-09 12:19:00
【问题描述】:
我正在使用 Inno Setup 并希望使用 Pascal 脚本检查字符串变量是否为整数(仅 0-9,无十六进制)。我做了这个函数:
function IsInt(s: string): boolean;
var
i, len: Integer;
begin
len := length(s);
if len = 0 then
result := false
else
begin
result := true;
for i := 1 to len do
begin
if not (s[i] in ['0'..'9']) then !!! ERROR HERE !!!
begin
result := false;
exit;
end;
end;
end;
end;
但是编译器报错:
Closing square bracket (']') expected.
如何解决?
如果我将这一行改为:
if not (s[i] in ['0','1','2','3','4','5','6','7','8','9']) then
它符合但如果代码被执行它会给出这个错误:
Runtime Error - Invalid Type.
怎么办?
【问题讨论】:
-
看起来您想检查
String是否是Number,而不是Integer。我对吗?因为你不需要它在传递 HEX 数字时返回 True。