我正在使用Inno安裝程序,並且希望使用Pascal腳本檢查字符串變量是否爲整數(僅限0-9,無十六進制)。我有此funcion:如何檢查一個變量是否是一個整數?
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'。我對嗎?因爲當它傳遞一個十六進制數時,你不需要它返回True。 – GTAVLover