Zrobiłem małą funkcję użytkową jakiś czas temu. Nie pozwoli ci na przypisanie tablicy do stałej, ale może zdziałać sztuczkę w jednej linijce. Mając nadzieję na tę pomoc.
można użyć go w ten sposób:
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, Inno Setup Pascal skryptów nie obsługuje macierze. (Przynajmniej nie ma niczego w dokumentach on-line ani przy użyciu tablic w próbkach kodu, które mogłem znaleźć.) Co dokładnie próbujesz zrobić, gdy myślisz, że potrzebujesz stałej tablicy? –
Zgaduję, że musiałbyś zbudować własną wersję InnoSetup i zarejestrować ten typ przez siebie. @ Ken, myślę, że możesz zachować swoją odpowiedź tutaj. Sprawdź to ['thread'] (http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_22738447.html). – TLama
Według tego http://www.mirality.co.nz/inno/tips.php#arrays Inno Setup obsługuje tablice, po prostu nie mogę wymyślić, jak zdefiniować go jako const. – user477276