Ich habe vor kurzem eine kleine Utility-Funktion gemacht. Es wird Ihnen nicht erlauben, ein Array auf einer Konstante zuzuweisen, aber es könnte den Trick für eine Variable in einem einzigen Liner tun. Ich hoffe auf diese Hilfe.
Sie können es auf diese Weise verwenden:
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, hat Pascal Scripting des Inno Setup nicht-Arrays unterstützen. (Zumindest gibt es nichts in der Online-Dokumentation oder irgendeine Verwendung von Arrays in den Code-Beispielen, die ich finden könnte.) Was genau versuchen Sie zu tun, wo Sie denken, dass Sie ein konstantes Array benötigen? –
Ich schätze, Sie müssten Ihre eigene Version von InnoSetup erstellen und diesen Typ selbst registrieren. @Ken, ich denke du behältst deine Antwort hier. Überprüfen Sie dies ['thread'] (http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_22738447.html). – TLama
Gemäß dieser http://www.mirality.co.nz/inno/tips.php#arrays unterstützt Inno Setup Arrays, ich kann einfach nicht herausfinden, wie man es als const definiert. – user477276