Il programma che calcola le espressioni attualmente funziona con quattro tipi di dati: stringhe, numeri interi, numeri a virgola mobile ed espressioni boleane. I dati binari e i campi memo non sono supportati nelle espressioni. Sotto viene riportata una lista di come i campi di database vengono convertiti in report data type:
Data type |
Field type |
String |
Campi stringa, campi data e ora |
Integer |
Campi byte, campi numeri interi |
Float |
Campi float (virgola mobile), campi valuta |
Boolean |
Campi boleani (logici) |
La sintassi delle espressioni di un report è molto simile al linguaggio di programmazione Object Pascal. Sotto viene riportata una lista degli operatori utilizzabili:
Operatore |
Descrizione |
+ |
ADDIZIONE |
- |
SOTTRAZIONE |
* |
MOLTIPLICAZIONE |
/ |
DIVISIONE |
() |
PARENTESI |
AND |
AND LOGICO |
OR |
OR LOGICO |
NOT |
NOT LOGICO |
= |
UGUALE |
< |
MINORE DI |
> |
MAGGIORE DI |
<= |
MINORE O UGUALE A |
>= |
MAGGIORE O UGUALE A |
<> |
NON UGUALE |
Le funzioni standard incluse nel programma sono:
Funzione |
Descrizione |
Abs(<I>) |
Ritorna il valore assoluto di I |
Average(Expr) |
Fa la media per l'espressione data |
Calcdate(DT,D,M,Y) |
Aggiunge giorni D, mesi M, Anni Y ad una data DT |
Calctime(T,H,M,S) |
Aggiunge ore H, minuti M, secondi S ad un orario T |
Chr(<I>) |
Converte il valore ASCII in un carattere |
Copy(Str,s,l) |
Dà una sottostringa di str (che inizia dal carattere s-th, che ottiene un numero massimo di caratteri l) |
Count |
Dà il numero degli interi |
Counter |
Incrementa ad ogni stampa |
Currency |
Restituisce dati Windows correnti |
Datasetactivate(table,activate) |
Attiva/disattiva dataset |
Date |
Dà la data corrente sotto forma di stringa |
Datediff(<D1>,>D2>) |
Calcola giorni da D1 a D2 |
Datetimetoddhhmm(<datetime>) |
Converte la data nel formato DDHHMM |
Datetimetoduration(<datetime>) |
Converte la data in una stringa di durata |
Dayofweek(<date>) |
Restituisce il giorno settimanale della data |
Daystring(<D>) |
Restituisce il nome del giorno dato |
Deletevar(<Name>) |
Cancella una variabile creata con SetVar |
Div(<X>,<Y>) |
Divisione intera di X per Y |
Elementexists(<name>) |
Controlla se esiste quell'elemento nel report |
EOF(table) |
Controlla se l'attuale posizione è la fine del file |
ExecSQL(sqltext) |
Esegue un'istruzione SQL |
Extractday(<date>) |
Restituisce il giorno della data |
Extractmonth(<date>) |
Restituisce il mese della data |
Extractyear(<date>) |
Restituisce l'anno della data |
False |
|
Fieldlen(table,field) |
Restituisce la lunghezza del file in caratteri |
Formatnumeric(<F>,<N>) |
Formatta il numero N nel formato F |
Frac(Number) |
Dà la parte frazionata di un numero |
Getboolprop(<Element>,>Property>) |
Restituisce una proprietà boolean |
Getcaption(<S>) |
Restituisce un'intestazione |
Getdatasetfilter(table) |
|
Getdatasetorder(table) |
|
Getdatasetsum(table,field) |
Dà la somma di un campo |
Getfloatprop(<element>,<property>) |
Restituisce la proprietà float di un elemento |
Getintprop(<element>,<property>) |
Restituisce la proprietà intera di un elemento |
Getstrprop(<element>,<property>) |
Restituisce la proprietà stringa di un elemento |
Getvar(<Name>) |
Restituisce il valore di una variabile creata con Setvar |
Groupprinted(<band>) |
Restituisce se la banda gruppo è stata stampata |
Hourstoduration(<hours>) |
Converte ore in una stringa di durata |
If (Expr, r1, r2) |
Dà r1 o r2 a seconda del tipo di espressione boleana |
Inputbox(<title>,<text>,<varname>) |
Chiede all'utente per una stringa, torna TRUE o FALSE e salva il risultato in una variabile |
Insertstr(<source>,<insert>) |
Inserisce la stringa in source alla posizione %s |
Int(Number) |
Dà la parte intera di un numero |
Isempty(table,field) |
Controlla se il campo contiene una stringa vuota |
Isnull(table,field) |
Controlla se il campo non contiene valori |
Lower(<X>) |
Converte una stringa in caratteri minuscoli |
Max(Expr) |
Dà il valore più alto dell'espressione |
Memoline(table,field,lineno) |
Restituisce una riga di un campo memo |
Min(Expr) |
Dà il valore più basso dell'espressione |
Monthstring(<M>) |
Restituisce il nome del mese specificato |
Name_Owner |
Nome proprietario |
Name_Report |
Nome report |
Newpage |
Forza un salto pagina |
Okbox(<Text>) |
Mostra un dialogo con un pulsante OK |
Okcancelbox(<Text>) |
Mostra un dialogo con pulsanti OK e CANCEL, ritorna TRUE o FALSE |
Padleft(<S>,<Len>) |
Aggiunge caratteri vuoti alla stringa S |
Padleftzero(<S>,<Len>) |
Aggiunge caratteri zero alla stringa S |
Padlright(<S>,<Len>) |
Aggiunge caratteri vuoti alla stringa S |
Pagenumber |
Restituisce il numero di pagina corrente |
Pageprints(<Bandname>) |
Restituisce quante volte la banda è stata stampata sulla pagina corrente |
Pixels |
Converte un valore dato nell'equivalente numero di pixel |
Pretty(<X>) |
Mette il primo carattere maiuscolo, gli altri minuscoli |
Printdate |
Restituisce la data quando è iniziata la stampa del report |
Propexists(<Element>,<Property>) |
Controlla se la proprietà esiste nell'elemento dato |
Queryparam(<Q>,<P>) |
Restituisce un valore del parametro di una query |
Readini(<S1>,<S2>,<S3>) |
Legge S3 nella sezione S2 del file INI S1 |
Readregistry(S1,S2,S3) |
Legge S3 nella sezione S2 della chiave di registro S1 |
Recordcount(<DS>) |
Restituisce il numero di record del dataset |
Reformatdate(<D>,<F>) |
Riformatta una data |
Registration |
Restituisce l'intestatario della licenza del programma |
Resetexpr(<exprname>) |
|
Rgbcolor(<red>,<green>,<blue>) |
Converte valori dei colori RGB in colori da utilizzare in Setcolor e Setfontcolor |
Round(number,digit) |
Restituisce l'arrotondamento del numero |
Rounddown(number,digit) |
Restituisce l'arrotondamento maggiore del numero |
Roundup(number,digit) |
Restituisce l'arrotondamento minore del numero |
Rtftoflat(table,field) |
Restituisce testo piatto di un campo RTF |
Setboolprop(<Element>,>Property>,<Value>) |
Imposta una proprietà boolean |
Setcolor(<Element>,<Color>) |
Imposta un colore di sfondo |
Setdatasetfilter(table,filter) |
Imposta un filtro al dataset |
Setdatasetorder(table,order) |
Imposta un ordine al dataset |
Setfloatprop(<element>,<property>,<value>) |
Imposta una proprietà |
Setfont(<Element>,<Fontname>) |
Imposta un carattere |
Setfontcolor(<Element>,<Color>) |
Imposta un colore |
Setfontsize(<Element>,<Size>) |
Imposta una grandezza del carattere |
Setfontstyle(<Element>,<Bold>,<Italic>,<Underl>,<Strike>) |
Imposta uno stile a seconda del valore boolean relativo |
Setintprop(<element>,<property>,<value>) |
Imposta una proprietà numerica |
Setstrprop(<element>,<property>,<value>) |
Imposta una proprietà stringa |
Setvar(<name>,<value>) |
Imposta una variabile con un valore |
Sqrt(<X>) |
Restituisce la radice quadrata di un numero |
Str(Number) |
Converte il numero in una stringa |
Stretchstr(<S>,<L>) |
Inserisce caratteri vuoti L dopo ogni carattere di S |
Strlen(<S>) |
Restituisce la lunghezza di S in caratteri |
Strtoint(<X>) |
Converte la stringa in intero |
Strtonum(<X>) |
Converte la stringa in numero |
Sum(Expr) |
Restituisce la somma dell'espressione |
Time |
Dà l'ora corrente sotto forma di stringa |
Trim(<S>) |
Elimina spazi vuoti da una stringa |
Trimall(<S>) |
Elimina spazi vuoti da una stringa |
True |
Valore logico vero |
Typeof(<Exp>) |
Restituisce il tipo di dato di Exp |
Upper(<X>) |
Converte una stringa in caratteri maiuscoli |
Var(I) |
Variabile |
Varexists(<Name>) |
Controlla se è stata creata quella variabile con Setvar |
Verprintpos |
Restituisce la corrente posizione verticale |
Weekofyear(<Date>) |
Restituisce la settimana dell'anno della data indicata |
Yesnobox(<Text>) |
Visualizza una finestra con i pulsanti YES e NO, torna TRUE o FALSE |