Documentazione
torna al sito web >

String (Pascalscript)

EULANDA® utilizza per le stringhe ANSI, che possono avere una lunghezza massima di 2 gigabyte.

La parola riservata string funziona come un generico identificatore di tipo. Ad esempio, la riga seguente dichiara una variabile chiamata S in cui è memorizzata una stringa:

var S: string;

La funzione predefinita Lunghezza restituisce il numero di caratteri di una stringa. Il confronto delle stringhe è definito dal valore dei caratteri nelle corrispondenti posizioni della tabella ASCII. Se si confrontano stringhe di lunghezza diversa, un carattere della stringa più lunga che non corrisponde a un carattere della stringa più corta viene considerato "maggiore". Ad esempio, "AB" è più grande di "A". Ciò significa che "AB" > "A" ha il valore Vero. Le stringhe con lunghezza zero contengono i valori più bassi.

È possibile indicizzare una variabile stringa come un array. Se S è una variabile di stringa e i è un'espressione intera, S[i] rappresenta il carattere ish - o in senso stretto il byte ish in S. L'istruzione MyString[2] := 'A' assegna il valore A al secondo carattere di MyString. Nel seguente codice sorgente, MyString viene convertito in maiuscolo utilizzando la funzione standard UpCase:

var
  I: Integer;
  MyString : String;

begin
  I := Length(MyString);
  while I > 0 do
    begin
      MyString[I] := UpCase(MyString[I]);
      I := I - 1;
    end;
end;

Se si indicizzano le stringhe in questo modo, è necessario assicurarsi di non scrivere oltre la fine della stringa, in quanto ciò porterebbe a un errore di indice. Inoltre, non si dovrebbero passare gli indici per le stringhe come parametri var, in quanto ciò determina un codice inefficiente.
È possibile assegnare il valore di una costante di stringa o di un'altra espressione che restituisce una stringa a una variabile di stringa. La lunghezza della stringa cambia dinamicamente durante l'assegnazione. Ecco alcuni esempi:

MyString := 'Ciao Mondo';

MyString := 'Ciao ' + 'Mondo';
MyString := MyString + '!';
MyString := ' '; { Spazio}
MyString := ''; { Stringa vuota }