Funzioni di GALATEO

Le funzioni di GALATEO

All'interno delle formule di GALATEO è possibile fare uso di numerose funzioni, che per comodità espositiva possono essere raggruppate nelle seguenti categorie:

bulletfunzioni di sistema
bulletfunzioni di gestione delle stringhe
bulletfunzioni di conversione
bulletfunzioni aritmetiche
bulletcodici a barre
bulletvariabili statiche
bulletfunzioni SQL

vedi anche: il concetto di pagina in Galateo

funzione valore restituito parametri
fra parentesi quadre i parametri facoltativi
descrizione disponibile a partire dalla versione
FUNZIONI DI SISTEMA
pagina numero nessuno rende il numero della pagina (fisica) corrente  
pagina_progressiva numero nessuno rende il numero della pagina (fisica) come generato o restituito dalla procedura di generazione automatica dei numeri progressivi di pagina; può essere usata solo se è stata attivata la funzione di generazione automatica dei progressivi di pagina 2.66
20/03/2006
pagina_progressiva_operatore stringa nessuno rende l'operatore che ha eseguito la stampa originale; vedi anche procedura di generazione automatica dei numeri progressivi di pagina in fase di implementazione
pagina_progressiva_datastampa stringa nessuno rende data e ora della stampa originale; vedi anche procedura di generazione automatica dei numeri progressivi di pagina in fase di implementazione
pagina_sezione numero nessuno rende il numero di pagina fisica all'interno della pagina logica 2.32
13/10/2001
tot_pagine_sezione numero nessuno rende il numero totale di pagine fisiche della pagina logica 2.32
13/10/2001
pagina_record numero nessuno rende il numero di pagina del record corrente  
tot_pagine_record numero nessuno rende il numero totale di pagine occupato dal record corrente  
section_group_first() boolean nessuno per ogni record di una sezione: rende T se il valore del campo di accorpamento (group by)  è differente dal valore del record precedente (in pratica: se è cambiato); rende sempre T sul primo record di ogni sezione
consente di stampare certi campi o di eseguire salti pagina in occasione della modifica del campo di accorpamento
per usare questa funzione è necessario assegnare il campo di accorpamento per la sezione
2.82
11/07/2008
section_group_middle() boolean nessuno vedi note per section_group_first()
rende T se il valore del campo di accorpamento (group by)  è uguale al valore del campo precedente e del campo successivo; in pratica se non sono nè sul primo né sull'ultimo record del gruppo
2.82
11/07/2008
section_group_last() boolean nessuno vedi note per section_group_first()
rende T se il valore del campo di accorpamento (group by)  è differente dal valore del record successivo; in pratica se sono sull'ultimo record del gruppo
2.82
11/07/2008
numero_etichetta_sezione numero nessuno numero progressivo di etichetta (ovvero: pagina virtuale) (nella pagina logica) 2.64
07/11/2005
numero_etichetta_pagina numero nessuno numero progressivo di etichetta (pagina virtuale) nella pagina fisica 2.64
07/11/2005
tot_etichette_sezione numero nessuno numero totale di etichette (pagina virtuale) nella pagina logica 2.64
07/11/2005
numero_etichette_pagina numero nessuno numero (teorico) di etichette (pagine virtuali) contenute sulla pagina fisica 2.64
07/11/2005
pos_ultima_etichetta_stampata numero [1: nome della stampante] rende la posizione dell'ultima etichetta stampata sulla stampante specificata; se non viene specificata nessuna stampante, l'informazione si riferisce alla stampante default di sistema; l'informazione è salvata sul registry per la sessione corrente (e quindi per ogni account Windows); vengono salvate sequenze differenti per ciascun codice di formato di etichetta (da specificare sullo opzioni generali del report-etichetta)
rende 0 se la prossima etichetta da stampare è la prima del foglio, 1 se è la seconda e così via
di norma questa funzione è utilizzata in associazione con l'opzione che consente di iniziare a stampare il foglio di etichette saltando le prime NN (che si suppone non più disponibili perchè già stampate in precedenza)
2.95
24/10/2009
salta_pagine_virtuali testo (blank) numero pagine da saltare salta il numero specificato di pagine virtuali (etichette); le pagine saltate sono completamente vuote; le pagine vengono inserite dopo la pagina su cui viene chiamata la funzione 2.65
30/01/2006
prossima_pagina_fisica testo (blank) nessuno salta alla prossima pagina fisica lasciando vuote le pagine virtuali necessarie; se emesso sull'ultima pagina virtuale di una pagina fisica non fa nulla (l'effetto della chiamata è nullo) 2.65
30/01/2006
pagina_logica_numero numero nessuno rende il numero di pagina logica 2.46
28/10/2003
pagina_logica_descrizione stringa nessuno rende la descrizione estesa della pagina logica; se la descrizione estesa non esiste rende la descrizione breve 2.46
28/10/2003
pagina_logica_descrizione_breve stringa nessuno rende la descrizione breve della pagina logica; se la descrizione breve non esiste rende la descrizione estesa 2.63
28/09/05
ora stringa nessuno rende l'ora di stampa  
data stringa [formato] rende la data di stampa; formato può assumere i seguenti valori:
0: dd/mm/yy
1: dd/mm/yyyy
2: yyyy-mm-dd (sql ASA)
3: yyyymmdd (sql server)
4: yy/mm/dd
5: mm/dd/yy
6: mm/dd/yyyy
parametro aggiunto il 11/07/2088
messagebox numero 1: testo
2: numero
[3: obsoleto]
emette una MessageBox con il testo specificato; tipo determina il tipo di MessageBox(); i valori accettati sono i seguenti (usare il valore numerico, il simbolo è inserito solo come spiegazione del significato)
000 (MB_OK)
001 (MB_OKCANCEL)
002 (MB_ABORTRETRYIGNORE)
003 (MB_YESNOCANCEL)
004 (MB_YESNO)
005 (MB_RETRYCANCEL)
016 (MB_ICONSTOP)
032 (MB_ICONQUESTION)
048 (MB_ICONEXCLAMATION)
064 (MB_ICONASTERISK)
256 (MB_DEFBUTTON2)
la funzione rende un valore in funzione della scelga operata dall'utente:
1 IDOK The user chose the OK button.
2 IDCANCEL The user chose the Cancel button.
3 IDABORT The user chose the Abort button.
4 IDRETRY The user chose the Retry button.
5 IDIGNORE The user chose the Ignore button.
6 IDYES The user chose the Yes button.
7 IDNO The user chose the No button.
2.19
05/04/2000

sintassi e comportamento modificati il 17/11/2007

abort   1: testo emette un messaggio con il testo specificato e blocca l'esecuzione 2.19
05/04/2000
char stringa 1: codice rende il carattere corrispondente al codice (ASCII) passato come parametro 2.34
15/11/2005
fileexists stringa 1: nomefile rende T se nomefile esiste, F altrimenti 2.34
26/04/2002
findfullfilename string 1: nomefile
2: default_ path
cerca nomefile; rende il nome del file completo di path; se è impossibile trovare nomefile rende una stringa vuota;
la ricerca avviene nel seguente ordine:
1) nomefile nella forma in cui viene specificato;
2) nomefile (senza path) nella cartella corrente;
3) nomefile in default_ path; default_ path può essere composto da più percorsi di ricerca separati da puntoevirgola;
2.34
26/04/2002
read_text_file() stringa 1: filename
[2: modalità = 0]
legge il file specificato, fino a 32k caratteri; modalità può asssumere uno dei seguenti valori:
0=interrompi in caso di errore
1=in caso di errore emette una segnalazione
2=in caso di errore domanda all'utente se proseguire
3=in caso di errore non succede nulla
2.40
20/01/2003
report_filename stringa [1: parm=0] rende il nome del report; se parm non è indicato oppure vale 0 rende solo il nome del file, se vale 1 anche il path completo, se vale NN rende il path completo ridotto ad una stringa di NN caratteri (ma rende sempre almeno il nome del file) 2.40
20/01/2003
report_datetime stringa [1: parm=0] rende la data di modifica del report; se parm non è indicato oppure vale 0 rende solo la data, se vale 1 rende data e ora 2.48
27/01/2004
valuta_formula stringa 1: formula forza la valutazione della formula fornita come stringa di testo  

FUNZIONI STRINGA

acapo stringa nessuno sequenza che manda il resto del testo sulla riga successiva  
len numero 1: stringa rende la lunghezza di stringa  
copy stringa 1: stringa
2: i_start
[3: i_len=maxint]
rende una porzione di stringa di i_len caratteri a partire dalla posizione i_start (passare 1 per il primo carattere); se i_len non viene specificato, copia tutto il resto della stringa  
sostituisci stringa 1: stringa
2: vecchio
3: nuovo
all'interno di stringa sostituisce il testo vecchio con il nuovo; è case-insensitive 2.38
27/10/2003
maiuscolo stringa 1: stringa trasforma stringa in maiuscolo  
minuscolo stringa 1: stringa trasforma stringa in minuscolo  
togliblanks stringa 1: stringa toglie spazi e tabulatori all'inizio e alla fine della stringa  
quotedstr stringa 1: stringa racchiude stringa tra apici, e raddoppia eventuali apici contenuti all'interno 277
str2SQL stringa 1: stringa come quotedstr 277
dt2SQL stringa 1: stringa legge una data in formato dd/mm/yyyy oppure dd/mm/yy e rende una data in formato  'YYYY-MM-DD' (apici compresi)
se il valore in ingresso è blank rende NULL;
se il valore in ingresso non è valido rende la stringa nulla (senza apici)
2.72
16/05/2007
inapicia stringa 1: stringa
2: modalità
racchiude tra apici la stringa S secondo le modalità evidenziate dai seguenti esempi:
0     LUNA,SOLE,NETTUNO
1     'LUNA,SOLE,NETTUNO'
2     'LUNA','SOLE','NETTUNO'
3     ''LUNA','SOLE','NETTUNO''
4     ''LUNA'',''SOLE'',''NETTUNO''
5     '''LUNA'',''SOLE'',''NETTUNO'''
NB: gli apici utilizzati sono tutti SINGOLI (ascii 0x27)
2.71
20/04/2007
pos intero 1: sottostringa
2: stringa
rende la posizione di SOTTOSTRINGA in STRINGA; rende 0 se SOTTOSTRINGA 2.73
06/06/2007
coalesce stringa 1: stringa1
[2: stringa=""]
se stringa1 è vuota rende stringa2, altrimenti rende stringa1 2.57
10/04/2005
puntato stringa 1: numero rende il numero con i punti di separazione delle migliaia 2.63
stringofchar stringa 1: stringa
2: num di ripetizioni
Genera una stringa composta dal numero specificato di ripetizioni di una stringa data 2.94
11/06/2009
zeri stringa 1: lunghezza formatta il numero premettendo degli zeri fino a raggiungere lunghezza 2.06
27/09/1999

FUNZIONI DI CONVERSIONE

numero numero 1: stringa converte stringa in numero 275
string stringa 1: numero  converte  numero in stringa 275
formatta_numero stringa 1: stringa
2: campo
3: decimali
formatta il numero con dimensione campo, allineando a destra (a sx se campo è minore di zero), con il numero indicato di decimali (come la funzione str() del pascal)   
L2E numero 1: numero converte numero da lire a euro 2.01
07/08/1999
E2L numero 1: numero converte 2.01
07/08/1999
valuta numero 1: importo
2: valuta1
3: valuta2
converte importo dalla valuta1 alla valuta2 2.29
12/03/2001
formatta_valuta
formatta_valuta_max
formatta_valuta_calc
stringa 1: importo
[2: valuta=EURO]
formatta importo secondo il formato della valuta specificata; se non viene specificata alcuna valuta, viene usato il formato EURO 2.95
18/11/2009
codifica_numero stringa 1: numero
2: codifica
effettua una trasposizione delle cifre di numero secondo il formato codifica; codifica deve essere di 10 caratteri; la cifra 1 viene sostituita con il primo carattere di codifica, 2 con il secondo e così via fino a 0 che viene sostituita dal decimo carattere  2.28
22/01/2001
data_in_lettere stringa 1: stringa (data) rende una data in formato testo; esempio: data_in_lettere("28/09/2005") diventa 28 marzo 2005 2.11
27/01/2000
num2str stringa 1: numero scrive numero in lingua italiana;
esempio: num2str(123) = centoventitre 
2.12
15/02/2000
num2strd stringa 1: numero
2: decimali
come num2str, ma gestisce il numero indicato di cifre decimali 2.12
15/02/2000
cf_to_datanascita stringa 1: stringa se stringa è un codice fiscale italiano valido, rende la data di nascita del soggetto, altrimenti rende blank 2.45
12/10/2003
min_2_hours stringa 1: minuti trasforma i minuti in ore 2.08
07/12/1999
min_2_days numero 1: minuti
2: ore_giorno
trasforma i minuti in giorni, se ogni giorno è formato da ore_giorno ore 2.08
07/12/1999
secondi_2_string stringa secondi trasforma i secondi in un formato testo  adattando automaticamente la modalità di visualizzazione all'ordine di grandezza del valore 2.56
23/03/2005
mese stringa 1: numero rende il nome del mese specificato (in italiano)  

FUNZIONI ARITMETICHE

mod numero 1: numero
2: divisore
rende numero mod divisore 2.11
27/01/2000
round numero 1: numero
2: decimali
arrotonda numero a decimali decimali; se decimali < 0 arrotonda a decine, centinaia, ... 277
and numero 1: numero1
2: numero2
esegue l'AND logico tra numero1 e numero2 2.25
27/08/2000
or numero 1: numero1
2: numero2
esegue l'OR logico tra numero1 e numero2 2.25
27/08/2000
xor numero 1: numero1
2: numero2
esegue lo XOR logico tra numero1 e numero2 2.25
27/08/2000
abs numero 1: numero rende il valore assoluto di numero  

CODICI A BARRE

ean13 stringa 1: numero genera un codice a barre del tipo specificato  
code39 stringa 1: stringa genera un codice a barre del tipo specificato  
EAN128_A
EAN128_B
stringa 1: stringa genera un codice a barre del tipo specificato; il tipo B è di utilizzo più generale rispetto al tipo A 2.77
20/11/2007
EAN128_C stringa 1: stringa genera un codice a barre del tipo specificato; molto efficiente per stringhe numeriche (o a forte prevalenza numerica); inadatto per stringhe letterali (usare in sua vece il B o l'A) 2.77
20/11/2007
EAN128_AUTO string 1: stringa genera un codice a barre del tipo specificato; sceglie il tipo di codifica adottata (A/B/C)  in base al tipo di dato da codificare 2.77
20/11/2007
INTERLEAV2OF5_MOD10 string 1: stringa genera un codice a barre del tipo specificato  

VARIABILI STATICHE

get_var stringa 1: stringa rende il valore della variabile specificata; se la variabile non esiste l'esecuzione viene interrotta 2.61
15/08/2005
get_numvar numero 1: stringa come get_var, ma solo per variabili numeriche 2.61
15/08/2005
get_textvar stringa 1: stringa come get_var, ma solo per variabili di tipo stringa 2.61
15/08/2005
exists_var stringa 1: stringa rende T se variabile esiste, F altrimenti 2.61
15/08/2005

FUNZIONI SQL

list stringa 1: query
[2: delimitatore=,]
[3: bo_distinct=T]
esegue la query e rende tutti i valori separati da delimitatore; è equivalente alla funzione list() definita da SQL Anywhere; se BO_DISTINCT=T vengono caricati solo valori distinti 2.57
10/04/2005

FUNZIONI DEBUG

serial_section numero nessuno rende un numero progressivo che identifica l'ultima sezione che è stata impaginata 2.57
27/12/2005

Pagina base del manuale di JOLLY

aggiornato il 23/01/2010

home

scrivimi, se ti va