Ho fatto una piccola funzione di utilità poco tempo fa. Non ti permetterà di assegnare un array su una costante, ma potrebbe fare il trucco per una variabile in un solo liner. Sperando in questo aiuto.
Si può usare in questo modo:
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, di Inno Setup Pascal Scripting non supporta gli array. (Almeno non c'è nulla nei documenti on-line o qualsiasi uso di array negli esempi di codice che ho trovato.) Che cosa stai cercando di fare esattamente dove pensi di aver bisogno di un array costante? –
La mia ipotesi è che dovresti creare la tua versione di InnoSetup e registrare questo tipo da solo. @ Ken, penso che potresti mantenere la tua risposta qui. Controlla questo ['thread'] (http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_22738447.html). – TLama
In base a questo http://www.mirality.co.nz/inno/tips.php#arrays Inno Setup supporta gli array, non riesco a capire come definirlo come const. – user477276