Add new attachment

Only authorized users are allowed to upload new attachments.

This page (revision-1) was last changed on 17-Oct-2019 10:30 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 1 added 97 lines
%%(display:none)
{{{
WikiUp
}}}
/%
[{TableOfContents }]\\
!!! Introduzione\\
Le funzioni sono operazioni che possono essere specificate direttamente nel codice e che vengono precedute sempre dal carattere %.\\
%%quote
. C IF %SUBST(AAA030:2:1)='='
/%
----
In questo caso non c'è più bisogno di utilizzare una variabile di appoggio.\\
\\
!!! Su stringhe\\
* __%LEN__,ritorna la lunghezza di una variabile\\
* __%REPLACE(str_sostituente,str_originale,parti_da,quanti_caratteri)__, Sostituisce una stringa all'interno di un'altra, permettendo di specificare da che posizione partire e quanti caratteri sostituire.\\
* __%SCAN(str_ricerca : str_origine : a_partire_da)__, scansione stringa Es.: EVAL POSIZ=%SCAN('PP':'PIPPO') POSIZ avrà valore 3\\
* __ %SUBST(stringa:inizio:lunghezza)__, estrae una sottostringa e può essere utilizzata anche per modificare delle variabili Es. EVAL %SUBST(VAR:3:4)='****' Se inizialmente VAR conteneva ABCDEFGHIL, ora EVAL conterrà AB****GHIL\\
* __%TRIM(stringa)__, elimina eventuali spazi presenti all'inizio e alla fine della stringa\\
* __%TRIML(stringa)__, elimina eventuali spazi presenti all'inizio della stringa\\
* __%TRIMR(stringa) __, elimina eventuali spazi presenti alla fine della stringa\\
\\
!!! Numeriche\\
* __%ABS__, ritorna il valore assoluto\\
* __%CHAR__, trasforma un numerico in stringa\\
* __%INT__, ritorna la parte intera arrotondata all'inferiore\\
* __%INTH__, come %INT, ma con arrotondamento al valore più vicino\\
\\
Le seguenti funzioni si applicano alla divisione tra due numeri interi:\\
* __%DIV__, ritorna la parte intera del risultato\\
* __%REM__, ritorna il resto (intero)\\
\\
!!! Su lunghezza campi e schiere\\
* __%ELEM__, ritorna il numero di elementi di una schiera ed è utile per evitare errori di indice schiera, senza definire 'tappi'.\\
%%quote
. C CLEAR $X
. C DO *HIVAL
. C ADD 1 $X
. C IF $X>%ELEM(SCK)
. C LEAVE
. C ENDIF
. C ....
. C ENDDO
/%
----
\\
* __%SIZE__, ritorna la lungezza (in byte) di un campo o di una costante\\
* __%DECPOS__, ritorna il numero di decimali (in byte)\\
* __%XFOOT__, somma il contenuto di una schiera\\
\\
!!! Su archivi\\
* __%EQUAL__, è vera se il posizionamento ha trovato un record con la chiave specificata.\\
\\
%%quote
. C KYTRA2 SETLL C5TRANR
. C IF %EQUAL
. C KYTRA2 CHAIN C5TRANR
. C ENDIF
/%
----
\\
* __%FOUND__, è vera se è stato trovato un record\\
\\
%%quote
. C KYTRA2 CHAIN C5TRANR
. C IF %FOUND
. C MOVEL W5REC £C52RE .
. C ENDIF
/%
----
\\
* __%EOF__ (End Of File), è vera se si è arrivati alla fine del file\\
\\
%%quote
. C KYMOAN READE C5MOANR
. C IF %EOF
. C MOVEL 'FINE' £C52MS .
. C ENDIF
/%
----
\\
Per usare queste funzioni negate, la sintassi è:\\
\\
%%quote
. C IF NOT(%EOF)
. C IF NOT(%FOUND)
/%
----
\\
* __%OPEN__, permette di controllare se un file è aperto o meno, rendendo inutile l'utilizzo di una variabile per il controllo di una apertura condizionale del file\\
\\
%%quote
. C IF %OPEN(nomefile)
. C IF NOT %OPEN(nomefile)
/%
----
This page has only one version
«