Formatimi i vlerave
Formatimi
Një veçori e funksioneve agregate është se vlerat numerike të kthyer nuk janë të formatizuara, siç tregohet nga shembulli i parë, i cili përdor “SUM”:

Fushat e të dhënave zakonisht kthejnë një vlerë të formatizuar, e cila thjesht shfaqet nga objekti “Tekst” pa asnjë ndryshim. Për të aplikuar formatimin në rezultatin “SUM”, le të përdorim mjetet e formatimit të vlerave në dizajner.
Zgjidhni objektin që përmban shumën dhe hapni redaktorin e formatit nga 'Formatimi i Shfaqjes...' në menunë e tij kontekstuale ose përmes pronës “DisplayFormat” në inspektorin e Objektit.

Ky redaktor liston kategoritë e formatit në të majtë, format përkatëse në të djathtë dhe stringun e formatit dhe ndarësin decimal për kategorinë dhe formatin e zgjedhur më poshtë. Ne do të zgjedhim kategorinë “Numër” dhe formatin "$1,234.50". Stringu i formatit është një argument për funksionin Delphi "Format", i cili FastReport e përdor për të zbatuar formatimin e numrave. Stringu i formatit dhe ndarësi decimal mund të ndryshohen. Nëse ndarësi decimal lëshohet bosh, atëherë përdoret vlera aktuale e konfigurimit rajonal.
Pas klikimit të ОK dhe parashikimit të raportit do të shihni se Shuma në raport tani është formatizuar siç duhet:

Vini re kutinë e kombinuar në krye të formularit të dialogut. Nëse kemi më shumë se një shprehje në një objekt, mund të vendosim formatim të ndryshëm për secilën shprehje.
Sipas asaj që mund të shihni në imazh, kategoritë e mëposhtme të formatimit janë të disponueshme:
-
Tekst (pa formatim)
-
Numër
-
DataKoha
-
Boolean
Nëse nuk zgjidhet asnjë formatim për të dhënat e datës dhe orës, ato do të shfaqen në formatin e specifikuar në sistemin operativ Windows.
 |
- Ju mund të shkruani manualisht formatin që nuk është i disponueshëm në listë.
- Ju mund të përdorni stringje formatimi të mbështetur nga programi për redaktimin e spreadsheet Excel.
- Specifikimet e formatit nuk ndikojnë në formatin e të dhënave që është vendosur në skript.
- Specifikimet e formatit nuk ndikojnë në të dhënat e ruajtura në bazën e të dhënave.
|
Stringjet e Formatit
Përdorimi i shembullit, rregulloni madhësinë e këmbanës dhe objektit të saj dhe ndryshoni tekstin e objektit në këtë:
Totali: [SUM(<Group."ItemsTotal">,MasterData1)]
Numri: [COUNT(MasterData1)]
Totali dhe numri i porosive do të shfaqen në objekt.
Në parashikimin e raportit, të dy këto vlera shfaqen në format monetar, të cilin e kishim vendosur më parë. Kjo është e gabuar:

Për të shfaqur secilën vlerë në formatin e saj të saktë, ato duhet të formatizohen individualisht. Për ta bërë këtë, ne përdorim etiketat e formatit, të cilat vendosen menjëherë para kllapës së mbyllur të shprehjes. Në shembullin tonë, çaktivizoni formatimin për objektin (zgjidhni kategorinë “Tekst (pa formatim)” në redaktorin e formatit). Tani na nevojitet të specifikojmë formatin për vetëm shprehjen e parë, pasi e dyta do të shfaqet siç duhet nga default (dmth. si një numër të plotë). Ndryshoni tekstin e objektit si më poshtë:
Shuma: [SUM(<Group."ItemsTotal">,MasterData1) #n%2,2m]
Numri: [COUNT(MasterData1)]
Parashikoni raportin për t'u siguruar që objekti shfaqet siç duhet:

Sintaksa e përgjithshme e etiketave të formatit është:
[shprehja #etiketaformatuese]
Vini re se karakteri i hapësirës midis shprehjes dhe simbolit “#” është i detyrueshëm! Etiketa e formatit vetë mund të duket si:
#nformat_string – format numerik
#dformat_string – format data/koha
#bFalse,True – format boolean
Format_string në çdo rast është argumenti për funksionin e përdorur për formatimin. Pra, për formatimin numerik përdoret funksioni Delphi Format, dhe për datën/koha funksioni 'FormatDateTime'. Sintaksa për këto funksione mund të gjendet në sistemin e ndihmës Delphi. Më poshtë janë disa vlera të përdorura në FastReport:
për formatimin numerik:
%g – numër me vendet minimale pas pikës decimal
%2.2f – numër me një numër të fiksuar vendesh pas pikës decimal
%2.2n – si më parë, por me ndarësin e mijëra
%2.2m – format monetar, i pranuar nga sistemi operativ Windows, i varur nga cilësimet rajonale në panelin e kontrollit
 |
Kujdes kur përdorni formatin %2.2m. Ai është i saktë vetëm për shumat në monedhën vendase! |
Një presje ose një vijë mund të përdoret në vend të pikës në format_string për formatimin numerik. Ky simbol përdoret si ndarës midis pjesëve të plota dhe atyre fraksionale të vlerës. Çdo karakter tjetër nuk lejohet.
Shembuj të formatimit numerik në Excel:
Format |
Shembulli i rezultatit |
#0.00 |
1234,56 |
#,##0.00 |
1.234,56 |
#0 |
1235 |
për formatimin e datës/koha:
Format |
Shembulli i rezultatit |
dd.mm.yyyy |
data si 05.06.2008 |
d.m.yy |
data si 5.6.08 |
dd mmm yyyy |
data si 05 Jun 2008 |
dd mmmm yyyy |
data si 05 Qershor 2008 |
ddd |
data si Enj |
dddd |
data si E enjte |
hh:mm |
koha si 08:07 |
hh:mm:ss |
koha si 08:07:06 |
dd mmmm yyyy, hh:mm |
data dhe koha si 5 Qershor 2008, 08:07:06 |
Për formatimin me tipin “#b” (boolean), format_string shkruhet si dy vlera të ndara me një presje. Vlera e parë i përgjigjet “False” dhe e dyta “True”.
Formatimi Inline dhe Funksionet e Formatit
Për formatimin ne mund të përdorim gjithashtu funksione që shkruajmë në kod. Për shembull, merrni parasysh funksionin "FormatFloat" për të formatizuar numrat.
Shprehjet e mëposhtme shkruajnë pjesën e plotë të numrit dhe dy vendet e para pas decimalit:
[FormatFloat('#0', Int(n)]
[FormatFloat('00', Round(100 * Frac(n))))]
Formatimi i të dhënave gjithashtu mund të bëhet brenda shprehjes (formatimi inline), siç tregohet në shembullin më poshtë
Sot është [NOW #d dddd], [NOW #d d.m.yyyy], koha është [NOW #d hh.mm.ss].
Në objektin "RichText" formatimi inline është mënyra e vetme e mundshme e formatimit.