|
|
Adatbeviteli és megjelenítési formátum megadása adatbázis mezőknél
|
|
Példaprogram letöltése
5162 bájt
|
Ha a felhasználó egy DBEdit komponensben szerkeszti egy mező értékét, akkor előfordulhat, hogy azt nem a megfelelő formátumban adja meg. Ebben a példában megnézzük, hogy hogyan tudjuk egy adatbázis mező adatbeviteli, illetve megjelenítési formátumát egyszerűen megadni.
A két formátum nem biztos, hogy megegyezik. Egy dátumot például a legkönnyebb úgy megadni, hogy számmal írjuk be az évszám, hónap és nap számát, viszont a megjelenítésnél kiírhatjuk betűvel is. A megjelenítési formátum megadása továbbá hasznos lehet a tört értékek megadásánál, mivel itt akár adott számú tizedes jegyre is kerekíthetjük a bevitt értéket. Ha nyomtatásra kerül a sor, akkor a QuickReport szintén a megjelenítési formátumban meghatározott módon fogja az adatokat kiírni, így szebb nyomtatási képet kaphatunk.
A formátumok megadásához szükség van a mezők objektumaira, melyeket a Table vagy Query komponensre duplán kattintva, vagy a hozzájuk tartozó menüből a Fields Editor-t választva hozhatjuk létre.
A mezők objektumai a TField osztályból származnak, de az adattípustól függően más és más típusú objektumok jönnek létre. Az objektumok EditFormat vagy EditMask property-jében adhatjuk meg az adatbeviteli, míg a DisplayFormat property-ben a megjelenítési formátumot.

EditFormat
Osztály: TNumericField
property EditFormat: String;
Ez a property a TNumericField osztályban található meg, így a szám típusú mezőknél használható. A property sztring típusú, a sztring pedig speciális karaktereket tartalmaz, melyek meghatározzák, hogy az adatbevitel milyen módon történhet. A használható karakterek, és jelentésük az alábbi táblázatban láthatók:
| Karakter |
Jelentés |
| 0 |
Ezen a helyen kötelezően egy számnak kell lennie. |
| # |
Ezen a helyen szám, vagy számok találhatók, de nem kötelezően. |
| . |
Tizedespont. |
| , |
Ha a sztring tartalmazza a vessző karaktert, akkor a szám ezres csoportosítással jelenik meg. A karakter bárhol lehet a formátum sztringben. |
| E+ |
A szám tudományos megjelenítése. |
| 'xx'/"xx" |
A karakterek idézőjelek (egyszeres, vagy dupla) között jelennek meg. |
| ; |
A pozitív, negatív és 0 értékek elválasztása a formátum sztringben. Segítségével mindhárom esethez különböző formátumot rendelhetünk, ennek azonban csak a megjelenítésnél van haszna, hiszen adatbevitelkor még nem tudjuk, hogy milyen értéket ad meg a felhasználó. |

EditMask
Osztály: TField
property EditMask: String;
A sztring illetve dátum típusú mezőknél használható adatbeviteli maszk adható meg ebben a property-ben. A maszkot ugyanúgy kell megadni, mint a MaskEdit komponensnél. Az alábbi táblázat tartalmazza a használható értékeket:
| Karakter |
Jelentés a maszkban |
| ! |
Ha ez a karakter megjelenik a maszkban (általában az első karakterként), akkor az opcionális karakterek helyén álló szóközök nem kerülnek bele a Text property-be. |
| > |
Az ezután a karakter után álló betűk nagybetűk lesznek. |
| < |
Az ezután álló karakterek kisbetűk lesznek. |
| <> |
Az előző két karakter hatásának kikapcsolása, ezután kis- és nagybetűk egyaránt megadhatók. |
| \ |
Ha fix szöveget adunk meg, ami tartalmaz vezérlő karaktereket is, akkor a karakter elé ezt kell beírni (pl. az „a” betűhöz „\a”). |
| L |
Ebben a pozícióban csak betű adható meg, és kötelezően meg kell adni. |
| l |
Ebben a pozícióban szintén csak betű adható meg, de nem kötelező megadni. |
| A |
Alfa-numerikus karakter (betű vagy szám) adható meg ebben a pozícióban, és kötelező megadni. |
| a |
Hasonló az előzőhöz, de nem kötelező megadni. |
| C |
Tetszőleges karakter megadható, de kötelező megadni. |
| c |
Tetszőleges karakter megadható, és nem kötelező megadni. |
| 0 |
Csak szám adható meg, és kötelező megadni. |
| 9 |
Csak szám adható meg, de nem kötelező megadni. |
| # |
Numerikus karakter, vagy a + és – jelek adhatók meg. |
| ; |
A maszk egyes részeit elválasztó karakter. |
| _ |
Automatikusan szóközöket szúr be a szövegbe az adott helyre. |

DisplayFormat
Osztály: TNumericField
property DisplayFormat: String;
A számok megjelenítési formátumát adhatjuk meg ebben a property-ben. A TNumericField típusú objektumoknál a sztringet ugyanúgy kell megadnunk, mint az EditFormat property-ben (lásd fent).

DisplayFormat
Osztály: TDateTimeField
property DisplayFormat: String;
A TDateTimeField típusú objektumoknál a megjelenítési formátumot másképpen kell megadni, mint a TNumericField típusú objektumoknál. Mivel itt dátumot, és/vagy időt jelenítünk meg, így a használható karakterek is ennek megfelelően lettek kialakítva. Bizonyos esetekben itt már nem csak maga a karakter határozza meg a megjelenítési formátumot, hanem az is, hogy az adott karakterből mennyi áll egymás után.
| Karakterek |
Jelentés |
| c |
A dátum a ShortDateFormat (rövid dátum formátum) változóban megadott formátumban, ezt követi az idő a ShortTimeFormat (rövid idő formátum) változóban megadott formátumban. Az idő csak akkor jelenik meg, ha meg van adva (a dátum érték tört része nem 0). |
| d |
A nap száma bevezető 0 nélkül. |
| dd |
A nap száma 0-val két karakterre igazítva. |
| ddd |
A nap nevének rövidített változata (a ShortDayNames változóból). Például „csüt.”. |
| dddd |
A nap neve a LongDayNames változóból. Például „Csütörtök’. |
| ddddd |
A dátum a ShortDateFormat változónak megfelelően. |
| dddddd |
A dátum a LongDateFormat (hosszú dátum formátum) változónak megfelelően. |
| m |
A hónap száma bevezető 0 nélkül. |
| mm |
A hónap száma 0-val két karakterre igazítva. |
| mmm |
A hónap rövidített neve a ShortMonthNames változóból. |
| mmmm |
A hónap neve a LongMonthNames változóból. |
| yy |
Az évszám két karakteren. |
| yyyy |
Az évszám négy karakteren. |
| h |
Az óra bevezető 0 nélkül. |
| hh |
Az óra 0-val két karakterre igazítva. |
| n |
A perc bevezető 0 nélkül. |
| nn |
A perc 0-val két karakterre igazítva. |
| s |
A másodperc bevezető 0 nélkül. |
| ss |
A másodperc 0-val két karakterre igazítva. |
| t |
Az idő a ShortTimeFormat változónak megfelelően |
| tt |
Az idő a LongTimeFormat (hosszú idő formátum) változónak megfelelően. |
| am/pm |
Az idő után a napszak is megjelenik („am.” vagy „pm.”). Használhatók vegyesen kis- és nagybetűk is, az eredmény ennek megfelelő lesz. Ebben az esetben csak a 12 órás kijelzés működik. |
| a/p |
Hasonló az előzőhöz, de csak egy betűvel. |
| ampm |
12 órás idő megjelenítés, a TimeAMString és a TimePMString változókban megadott értékekkel jelezve a napszakot („de.” vagy „du.”). |
| / |
A DateSeparator változóban beállított dátum elválasztó karakter. |
| : |
A TimeSeparator változóban beállított idő elválasztó karakter. |
| 'xx'/"xx" |
A karakterek egyszeres, vagy dupla idézőjelek között jelennek meg. |
|
Könyv
Ez a cikk megtalálható ebben a könyvben:
Delphi Software Offline 2002 évkönyv 45. oldal
Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!
|