4

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

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

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

另外,如果有人能告诉我更多关于 Pascal Inno Setup 正在使用的类型,或者是否有一些手册。例如,我不能High()在阵列上做。

4

1 回答 1

6

Inno Setup Unicode 版本:

在 Inno Setup 的 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;

Inno 设置 ANSI 版本:

在 ANSI 版本的 InnoSetup 中无法获取静态数组的长度或边界。没有LownorHigh函数,该Length函数仅适用于字符串,GetArrayLength仅适用于动态数组。只是另一个静态数组 Inno Setup nitpick。

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

于 2012-05-14T19:57:43.913 回答