如果我有一个静态标签数组:
Labels: array [0..6] of TLabel;
Run Code Online (Sandbox Code Playgroud)
如何获取程序中的标签数量?
此外,如果有人可以告诉我更多关于Pascal Inno安装程序使用的类型,或者是否有一些手册.例如,我不能对数组执行High().
InnoSetup ANSI版本:
在InnoSetup的ANSI版本中无法获得静态数组的长度或边界.没有Low也没有High函数,该Length函数仅适用于字符串,GetArrayLength仅适用于动态数组.只是another静态阵列InnoSetup nitpick.
InnoSetup Unicode版本:
在InnoSetup的Unicode版本中,您可以使用Low,High甚至可以使用LengthDelphi中已知的功能.所以也许是时候转到Unicode版本来编写这样的代码了:
function InitializeSetup(): Boolean;
var
Labels: array [0..6] of TLabel;
begin
MsgBox(
'Array length: ' + IntToStr(Length(Labels)) + #13#10 +
'Array low bound: ' + IntToStr(Low(Labels)) + #13#10 +
'Array high bound: ' + IntToStr(High(Labels)),
mbInformation, MB_OK);
end;
Run Code Online (Sandbox Code Playgroud)