7.1.8.3        Funzioni Stringa



Le seguenti sono funzioni che prendono una o più stringhe e parametri decimali e danno come risultato stringhe o valori decimali. Chiamiamo S1 e S2 due espressioni valide che rappresentano due stringhe, e A, L e P espressioni valide che danno come risultato valori decimali.

asc(S1): Valore ASCII di S1. Dà come risultato un numero intero compreso nell'intervallo 0 - 255 che è il valore ASCII del primo carattere di S1. Per esempio asc("ABC") è 65 perché quello è il valore del carattere "A".

chr(A): Carattere il cui valore ASCII è A. Dà come risultato una stringa di un solo carattere. Il valore ASCII del carattere è specificato da un numero intero A compreso nell'intervallo che va da 0 a 255. Per esempio chr(70) è la stringa "F". Se usi
chr(...) quando operi il rendering dell'oggetto testo dovresti sapere che i caratteri soggetti all'elaborazione per valori di A maggiori di 127 dipendono dal carattere TTF usato. Molti caratteri True Type usano il set di caratteri Latin-1 (ISO 8859-1), ma non tutti.

concat(S1,S2,[S3...]): Concatena le stringhe S1 e S2 ed eventuali stringhe successive. Dà come risultato una stringa che è la concatenazione di tutti i parametri stringa. Devi avere almeno 2 parametri ma chiaramente ne puoi avere di più. Per esempio:

concat("Il valore è ", str(A,3,1), " pollici")

Se il valore decimale A era 12,34 il risultato è : "Il valore è 12,3 pollici" che rappresenta una stringa.

file_exists(S1): Ricerca il file specificato da S1. Tenta di aprire il file il cui nome è specificato dalla stringa S1. La ricerca viene operata sulla directory corrente e in tutte quelle specificate in ogni opzione Library_Path .INI o attraverso il parametro +L della linea di comando. Il file è chiuso immediatamente. Dà come risultato il valore booleano pari ad 1 in caso di successo, a 0 in caso di un fallimento nella ricerca.

str(A,L,P): Converte il valore decimale A in una stringa. Dà come risultato una stringa che rappresenta il valore decimale A. Il parametro decimale L specifica la lunghezza minima della stringa ed il tipo di riempimento dello spazio a sinistra usato se la rappresentazione della stringa è più corta del minimo. Se L è positivo allora l'area a sinistra è riempita da spazi vuoti. Se L è negativo allora l'area a sinistra è riempita con zeri. L'intera lunghezza minima della stringa è data da
abs(L). Se la stringa necessita di una lunghezza maggiore , essa sarà allungata quanto necessario per rappresentare il valore.
Il parametro decimale P specifica il numero di cifre dopo il punto decimale. Se P è negativo allora viene usata una precisione di default come specificato dal compilatore. Qui di seguito alcuni esempi:

str(123.456,0,3) "123.456"
str(123.456,4,3) "123.456"
str(123.456,9,3) " 123.456"
str(123.456,-9,3) "00123.456"
str(123.456,0,2) "123.46"
str(123.456,0,0) "123"
str(123.456,5,0) " 123"
str(123.000,7,2) " 123.00"
str(123.456,0,-1) "123.456000"
(secondo specifica di default)

strcmp(S1,S2): Opera il confronto della stringa S1 con S2. Dà come risultato un valore pari a zero se le stringhe sono uguali, un numero positivo se S1 viene dopo S2 nella sequenza ASCII, negativo in caso contrario.

strlen(S1): Lunghezza di S1. Dà come risultato un valore intero che rappresenta il numero di caratteri della stringa S1.

strlwr(S1): Lettere minuscole di S1. Dà come risultato una nuova stringa nella quale tutte le lettere della stringa S1 sono convertite in minuscolo. La stringa originale non è tagliata. Per esempio
strlwr("Saluti a Tutti!") dà come risultato "saluti a tutti! ".

substr(S1,P,L): Sotto stringa di S1. Dà come risultato una stringa che è un sottoinsieme di caratteri della stringa S1 partendo dalla posizione specificata dal valore intero P, per una lunghezza specificata dal valore intero L. Per esempio
substr("ABCDEFGHI",4,2) porta alla stringa "EF." Se P+L è maggiore di strlen(S1) allora si verifica un errore.

strupr(S1): Lettere maiuscole di S1. Dà come risultato una nuova stringa nella quale tutte le lettere minuscole nella stringa S1 sono convertite in lettere maiuscole. La sequenza originale non è tagliata. Per esempio
strupr("Saluti a Tutti!") da' come risultato "SALUTI A TUTTI! ".

val(S1): Converte la stringa S1 a un valore decimale. Da come risultato un valore decimale che è rappresentato dal testo in S1. Per esempio
val("123.45") è 123.45 come valore decimale.