Sintaksa izraza
Sintaksa izraza
Izrazi se koriste za izračunavanje numeričkih vrednosti, nizova ili logičkih vrednosti ("true" ili "false"). Za to su dostupni razni operateri i funkcije, uporedive sa programskim jezikom (u ovom slučaju „Pascal“), koji se mogu koristiti za obavljanje različitih vrsta izračuna. Možete obavljati operacije sa poljima podataka, na primer, izračunati porez za određeni iznos ili kombinovati dva polja podataka u jedan niz. Imajte na umu da ako je izraz svojstvo raspona izveštavanja, rezultat izraza mora biti logična vriednost. Samo opseg grupe očekuje da će rezultat biti niz ili broj, baš kao i izveštavajući element u polju izraza.
Sastavljanje izraza
Procenjivač izraza radi sa četiri tipa podataka: Strings, Integer, Float i Boolean. Binarni podaci i memorandumi nisu podržani i izrazi. Ispod je lista kako se polja baze podataka pretvaraju u tipove podataka izveštaja:
| Tip podataka |
Tip polja |
String
|
String polja, datumska i vremenska polja |
Integer
|
SmallInt polja, byte polja, integer polja |
Float
|
Float polja, currency polja |
Boolean
|
Boolean (logička) polja |
Sintaksa izraza izvještaja uglavnom je poput Object Pascal. Ispod je lista podržanih operatora:
| Operator |
Opis / Eng |
Opis / Srb |
+
|
Add |
Dodaj |
-
|
Subtract |
Oduzmi |
*
|
Multiply |
Množi |
/
|
Divide |
Deli |
()
|
Parentheses |
Zagrade |
And
|
Logical AND |
Logičko I |
Or
|
Logical OR |
Logičko ILI |
Not
|
Logical NOT |
Logičko NE |
=
|
Equal |
Jednako |
<
|
Less than |
Manje |
>
|
Greater than |
Veće |
<=
|
Less than or equal |
Manje ili jednako |
>=
|
Greater than or equal |
Veće ili jednako |
<>
|
Not equal |
Različito
|
Uključene su standardne funkcije:
| Funkcija |
Opis |
Date
|
Vraća trenutni datum kao string |
Time
|
Vraća trenutno vreme kao string |
Str(Number)
|
Pretvara numerički argument u string |
Copy(Str,s,l)
|
Vraća podstring varijable str (počevši sa s-tim unakom, vraćajući maksimalno l znakova) |
Int(Number)
|
Vraća celu vrednost broja |
Frac(Number)
|
Vraća decimalnu vrednost broja
|
If (Expr, r1, r2)
|
Vraća r1 ili r2 u zavisnosti od logičke vrednosti Expr izraza |
TypeOf(Expr)
|
Vraća tip podataka Expr podatka |
Sqrt(Number)
|
Vraća korijen promenljive Number |
True
|
Logička vrednost True |
False
|
Logička vrednost False |
Sum(Expr)
|
Vraća sumu Expr-a |
Count
|
Vraća broj unosa (Prebroji) |
Min(Expr)
|
Vraća najmanju vrednost Expr izraza |
Max(Expr)
|
Vraća najveću vrednost Expr izraza |
Average(Expr)
|
Vraća prosječnu vrednost Expr izraza |
Korištenje polja baze podataka u izrazima
Bilo kom polju iz bilo koje tabele na koju se poziva u vašem izveštaju može se pristupiti izrazom. Na nazive polja može se pozivati samo ime polja (npr. Name) ili naziv tabele, a zatim tačka i naziv polja (npr.Customers.Name ). Ako ne navedete naziv tabele, mehanizam za izveštaje će pretražiti polje u svim dostupne skupove podataka i upotrebiti prvu pronađenu instancu.
Trenutna verzija programa za procenu izraza ne podržava imena polja sa ugrađenim posebnim znakovima kao što su prazno, "/", tačka, znak dolara i tako dalje.
Using Strings i Expressions
Nizovi u izrazu trebali bi biti postavljeni u pojedinačnim citatima. Sledeća je važn izraz:
"Computers are great!" "Računari su odlični!"
Maksimalna dužina niza je 255 znakova
Primeri izraza
Ispod je nekoliko primera izraza:
| Izraz |
Opis |
1
|
Cela konstanta, vraća 1 |
1.5
|
Konstanta plutajuće tačke, vraća 1,5 |
"Delphi"
|
String konstanta, vraća "Delphi" kao niz |
True
|
Logička konstanta, vraća True |
1 + 2
|
Numerički izračun, vraća 3 |
2 * (3 + 2.5)
|
Numerički izračun, vraća 11 |
"Delphi" + " is great"
|
Izračun niza, vraća "Delphi is great" |
Name
|
Vraća vrednost polja Name ukoliko postoji |
Customer.Name
|
Vraća vrednost polja Name u Customer tablici |
Name + " " + Contact
|
Dodaje Name polje, razmak i Contact polje |
AmountPaid * TaxRate / 100
|
Izračun numeričkog polja |
"Printed "+ Date
|
String izračun |
"Total amount paid is " + str(AmountPaid)
|
String izračun |
if(AmountPaid > 5000, "Large order", "Small order")
|
Vraća "Large order" ako je AmountPaid veće od 5000, inače "Small order" |
if(CheckField, "X", " ")
|
Ispisuje X ako je CheckField True |
Vizuelno komponuje izraze
Izraze možete uneti direktno u odgovarajuću liniju za uređivanje ili pritisnite taster ".." desno od linije za uređivanje da biste prikazali dijalog za kreiranje izraza. Zatim možete vizuelno oblikovati svoj izraz mišem. Ako upotrebljena funkcija ima parametre, poput "Kopiraj" ili "Zbir", otvoriće se druga kopija dijaloškog okvira koja će te parametre definisati odvojeno.