Espressioni |
Un'espressione è rappresentata da:
I numeri interi sono di tipo long, i numeri reali di tipo double.
Tutti i metodi e le funzioni accettano espressioni come loro parametri, in numero indicato nella loro definizione sintattica; le uniche eccezioni sono rappresentate da:
PUB(id)
richiede un identificatore come parametro
e dalle funzioni che richiedono un nome di funzione come parametro (es. SORTUDF).
Ciò significa che è possibile annidare una funzione dentro l'altra, come in questo caso:
SET P = LEFT(RTRIM(LTRIM(S, " "), " "), INC(MUL(R, 2)))
Proteus interpreta gli identificatori in base alla funzione che vi viene applicata; numeri e stringhe sono gestiti allo stesso modo.
Per quanto riguarda il valore numerico di una stringa, vale quanto segue:
Alcuni esempi.
Metodo: |
Risultato: |
CONSOLELN 1.23 |
1.230000e+00 |
CONSOLELN "1.23" |
1.23 |
CONSOLELN 123 |
123 |
CONSOLELN "123" |
123 |
CONSOLELN -123 |
-123 |
CONSOLELN "-123" |
-123 |
CONSOLELN 0XFF |
255 |
CONSOLELN "0XFF" |
0XFF |
CONSOLELN 070 |
56 |
CONSOLELN "070" |
070 |
CONSOLELN INC(LTRIM("070", "0")) |
71 |
CONSOLELN INC("070") |
57 |
CONSOLELN INC(070) |
57 |
Ogni stringa ammette al suo interno costanti
C-like, per permettere di indicare anche caratteri di controllo.
Sono supportate le seguenti sequenze escape:
\a \b \f \n \r \t \v \\ \? \' \"
e inoltre le costanti ottali, esadecimali e decimali così specificate:
Pertanto, attraverso le ultime tre notazioni è possibile indicare un qualsiasi carattere tra 0 e 255; in ogni caso, se si specifica una costante fuori dal range, verrà scartata l'ultima cifra, che verrà considerata come carattere a sè stante.
es. \d512 viene interpretata come [51] [50] (le parentesi quadre devono essere lette come 'carattere corrispondente a'; 50 è il codice ASCII del carattere '2')
Analogamente, si faccia attenzione a non creare una costante entro il range accostando un valore specificato con il formato '\' ed un valore letterale.
Proteus gestisce anche stringhe con caratteri NULL (Ascii 0), tuttavia alcune funzioni terminano la loro interpretazione al primo NULL; queste sono:
Anche alcune funzioni che caratterizzano la versione Windows terminano l'interpretazione al primo NULL, come le loro rispettive controparti di sistema, mentre tutte le altre funzioni operano correttamente con NULL; ad esempio, le routine per tokenizzare, ricavare una sottostringa, concatenare, ecc.
Inizio pagina | Prossimo argomento | Argomento precedente | Indice per argomenti | Indice analitico |