前一段時間我做了一點實用功能。它不會允許你在常量上分配一個數組,但它可以爲一個班輪中的變量做訣竅。希望這有助於。
你可以用這種方式:
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;
AFAICT,創新安裝的帕斯卡爾腳本不支持數組。 (至少在線文檔中沒有任何內容,或者我能找到的代碼示例中沒有任何數組的使用。)如果您認爲需要一個常量數組,您究竟想要做什麼? – 2012-04-16 16:22:37
我的猜測是你將不得不建立你自己的InnoSetup版本並且自己註冊這個類型。 @Ken,我想你可以在這裏保留你的答案。檢查這個['thread'](http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_22738447.html)。 – TLama 2012-04-16 16:22:47
根據這個http://www.mirality.co.nz/inno/tips.php#arrays Inno Setup不支持數組,我只是不知道如何將其定義爲const。 – user477276 2012-04-16 16:31:38