Composizione delle espressioni

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