如何获得静态数组的长度?

时间:2012-05-14 19:48:20

标签: arrays inno-setup

如果我有一个静态标签数组:

Labels: array [0..6] of TLabel;

如何获取程序中的标签数量?

此外,如果有人能告诉我更多关于Pascal Inno安装程序正在使用的类型,或者是否有一些手册。例如,我不能对数组执行High()。

1 个答案:

答案 0 :(得分:5)

InnoSetup ANSI版本:

无法在InnoSetup的ANSI版本中获取静态数组的长度或边界。没有LowHigh函数,Length函数仅适用于字符串,GetArrayLength仅适用于动态数组。只需another静态数组InnoSetup nitpick。

来源:
http://www.mirality.co.nz

InnoSetup Unicode版本:

在InnoSetup的Unicode版本中,您可以使用Delphi中已知的LowHigh甚至Length函数。所以也许是时候转到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;