Oblikovanje vrednosti
Oblikovanje
Lastnost agregatnih funkcij je, da vrnjene numerične vrednosti niso oblikovane, kot je prikazano v prvem primeru, ki uporablja "SUM":

Podatkovna polja običajno vrnejo oblikovano vrednost, ki jo preprosto prikaže objekt "Besedilo" brez kakršnih koli sprememb. Da bi uporabili oblikovanje za rezultat "SUM", uporabimo orodja za oblikovanje vrednosti v oblikovalniku.
Izberite objekt, ki vsebuje vsoto, in odprite urejevalnik oblikovanja bodisi iz 'Prikaz oblikovanja...' v njegovem kontekstnem meniju bodisi preko lastnosti "DisplayFormat" v inšpektorju objektov.

Ta urejevalnik na levi strani navaja kategorije oblikovanja, ustrezne formate na desni ter niz oblikovanja in decimalni ločevalnik za izbrano kategorijo in format spodaj. Izbrali bomo kategorijo "Število" in format "$1,234.50". Niz oblikovanja je argument za funkcijo Delphi "Format", ki jo FastReport uporablja za izvajanje oblikovanja številk. Niz oblikovanja in decimalni ločevalnik se lahko spremenita. Če je decimalni ločevalnik pustil prazen, se uporabi trenutna vrednost regionalne nastavitve.
Po kliknjenju na OK in predogledovanju poročila boste videli, da je vsota v poročilu zdaj pravilno oblikovana:

Opazite kombinirano polje na vrhu pogovornega okna. Če imamo več kot en izraz v objektu, lahko nastavite različna oblikovanja za vsak izraz.
Kot lahko vidite na sliki, so na voljo naslednje kategorije oblikovanja:
Če za podatke o datumu in času ni izbrano nobeno oblikovanje, bodo prikazani v formatu, ki je določen v operacijskem sistemu Windows.
 |
- Lahko ročno vnesete format, ki ni na voljo na seznamu.
- Lahko uporabite nize oblikovanja, ki jih program podpira za urejanje preglednic Excel.
- Specifikacije oblikovanja ne vplivajo na format podatkov, ki je nastavljen v skriptu.
- Specifikacije oblikovanja ne vplivajo na podatke, shranjene v bazi podatkov.
|
Nizi oblikovanja
Uporabite primer, spremenite velikost noge in njen objekt ter spremenite besedilo objekta v to:
Skupaj: [SUM(<Group."ItemsTotal">,MasterData1)]
Število: [COUNT(MasterData1)]
Skupaj in število naročil bosta prikazana v objektu.
V predogledu poročila sta ti dve vrednosti prikazani v denarnem formatu, ki smo ga prej nastavili. To je napačno:

Da bi vsako vrednost prikazali v njenem pravilnem formatu, jih je treba oblikovati posamično. Za to uporabimo oznake oblikovanja, ki so postavljene tik pred zapirajočo oglatko oklepaj izraza. V našem primeru onemogočimo oblikovanje za objekt (izberite kategorijo "Besedilo (brez oblikovanja)" v urejevalniku oblikovanja). Zdaj moramo določiti format samo za prvi izraz, saj bo drugi prikazan pravilno privzeto (tj. kot celo število). Spremenite besedilo objekta, kot sledi:
Vsota: [SUM(<Group."ItemsTotal">,MasterData1) #n%2,2m]
Število: [COUNT(MasterData1)]
Predogledajte poročilo, da se prepričate, da je objekt pravilno prikazan:

Načelna sintaksa oznak oblikovanja je:
[izraz #označitevoblikovanja]
Upoštevajte, da je presledek med izrazom in simbolom "#" obvezen! Oznaka oblikovanja sama lahko izgleda takole:
#nformat_niz – numerični format
#dformat_niz – datum/čas format
#bFalse,True – boolean format
Niz_oblikovanja v vsakem primeru je argument funkcije, ki se uporablja za oblikovanje. Tako se za numerično oblikovanje uporablja funkcija Delphi Format, za datum/čas pa funkcija 'FormatDateTime'. Sintakso za te funkcije lahko najdete v sistemu pomoči Delphi. Spodaj je več vrednosti, uporabljenih v FastReport:
za numerično oblikovanje:
%g – število z minimalnim mestom za decimalno vejico
%2.2f – število s fiksnim številom mest za decimalno vejico
%2.2n – kot prejšnje, vendar z ločilom tisočic
%2.2m – denarni format, sprejet v operacijskem sistemu Windows, odvisen od regionalnih nastavitev v nadzorni plošči
 |
bodite previdni pri uporabi formata %2.2m. Je pravilen le za zneske v domači valuti! |
V formatu_string za numerično oblikovanje lahko namesto pike uporabite vejico ali pomišljaj. Ta simbol se uporablja kot ločilo med celo in decimalno delom vrednosti. Kakršen koli drug znak ni dovoljen. Primeri numeričnega oblikovanja v Excelu:
Format
Primer rezultata |
#0.00 |
1234,56 |
#,##0.00 |
1.234,56 |
#0 |
1235 |
za oblikovanje datuma/časa: |
Format
Primer rezultata |
dd.mm.yyyy |
datum kot 05.06.2008 |
d.m.yy |
datum kot |
5.6.08 dd mmm yyyy |
datum kot |
05 Jun 2008 dd mmmm yyyy |
datum |
kot 05 junij 2008 ddd |
datum kot |
Čet dddd |
datum kot |
četrtek hh:mm |
čas kot 08:07 |
hh:mm:ss |
čas kot |
08:07:06 dd mmmm yyyy, hh:mm |
datum in čas kot |
5 junij 2008, 08:07:06 Za oblikovanje z vrsto "#b" (boolean) se |
niz_oblikovanja vpiše kot dve vrednosti, ločeni z vejico. Prva vrednost ustreza "False" in druga "True". Inline oblikovanje in funkcije oblikovanja
Za oblikovanje lahko uporabimo tudi funkcije, ki jih napišemo v kodi. Na primer, razmislite o funkciji "FormatFloat" za oblikovanje števil.
Naslednji izrazi izpišejo celo število in prvih dve decimalni mesti:
[FormatFloat('#0', Int(n)]
[FormatFloat('00', Round(100 * Frac(n))))]
Oblikovanje podatkov je mogoče opraviti tudi znotraj izraza (
inline oblikovanje), kot je prikazano v spodnjem primeruDanes je [NOW #d dddd], [NOW #d d.m.yyyy], čas je [NOW #d hh.mm.ss].
V objektu "RichText" je inline oblikovanje edini možni način oblikovanja.
In the "RichText" object inline formatting is the only possible way of formatting.