Inno Setup:如何在const中定义数组?

时间:2012-04-16 15:56:15

标签: arrays const inno-setup

我在Inno Setup的代码部分的const中定义一个字符串数组时遇到了一些问题,我有以下内容:

[Code]

const
  listvar: array [0..4] of string =
     ('one', 'two', 'three', 'four', 'five');

它说我需要= :,但我不能将其定义为数组。

1 个答案:

答案 0 :(得分:1)

我刚才做了一点实用功能。它不会允许你在一个常量上分配一个数组,但是它可以为一个内联中的变量做诀窍。希望得到这个帮助。

你可以这样使用它:

listvar := Split('one,two,three,four,five', ',');
    
// ============================================================================
// Split()
// ----------------------------------------------------------------------------
// Split a string into an array using passed delimeter.
// ============================================================================
Function Split(Expression: String; Separator: String): TArrayOfString;
Var
    i: Integer;
    tmpArray : TArrayOfString;
    curString : String;

Begin
    i := 0;
    curString := Expression;

    Repeat
        SetArrayLength(tmpArray, i+1);
        If Pos(Separator,curString) > 0 Then    Begin
            tmpArray[i] := Copy(curString, 1, Pos(Separator, curString)-1);
            curString := Copy(curString, Pos(Separator,curString) + Length(Separator), Length(curString));
            i := i + 1;
        End Else Begin
             tmpArray[i] := curString;
             curString := '';
        End;
    Until Length(curString)=0;

    Result:= tmpArray;
End;