HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Színek tárolása adatbázisban, DBColor komponens


Példaprogram letöltése

9412 bájt

Egy adatbázisban többféle típusú adatot tudunk tárolni, a legtöbbnél meg tudunk adni egy mező típust, méretet az adat legoptimálisabb tárolásához. Ebben a cikkben egy olyan adatbázis szerepel, amelyben színeket tárolunk, és a DBGrid-ben a rekordok a tárolt színnel jelennek meg. Készítünk egy komponenst is, amellyel a mező színét tudjuk beállítani.

A mellékelt példaprogram megnyitása előtt a DBColor.pas-ban lévő komponenst telepítenie kell a Delphi alá.
Egy szín három színösszetevőből áll össze (piros, zöld, kék), melyeknek egyenként 0-255 értéke lehet, tehát egy-egy bájt. Egy színt tehát egy legalább hárombájtos számmal meg tudunk adni, így a szín tárolása egyszerűen megoldható egy integer típusú mezőben.
A komponenst a TCustomControl osztályból származtatjuk és leginkább egy gombbal kiegészített Edit-re fog hasonlítani. Ehhez szükség lesz egy BorderStyle property-re, valamint egy TButton-ra. A BorderStyle property-ben a komponens keretét állíthatjuk be.
A gombot a konstruktorban hozzuk létre, és az Align property értékét alRight-ra állítjuk. Így a gomb pozícionálásával és a magasságának beállításával nem kell külön foglalkozni, a szélességével azonban igen. Ezt a Resize eljárásban állítjuk be úgy, hogy a gomb szélessége és magassága egyenlő legyen. Azért választottunk Button és nem SpeedButton komponenst, mert így egyszerűen azt is megoldjuk, hogy a komponens a fókuszt is megkapja.
A színt a Color property-ben lehet megadni. A property-hez készítünk egy Get függvényt is, így felhasználhatjuk a TControl osztály Color property-jét anélkül, hogy újabb változót hoznánk létre, valamint így a szín egyben a komponens színét is meghatározza, tehát a megjelenítésről sem kell külön gondoskodnunk.
A gomb OnClick eseményéhez létrehozunk egy eljárást, amelyben egy ColorDialog-ot jelenítünk meg. Az Options és CustomColors property-k ennek a ColorDialog-nak az azonos nevű property-jeihez tartoznak.
A DataSource és DataFiled property-k megszokottak az adatbázishoz kapcsolódó komponenseknél, ez a komponens azonban használható adatbázis kapcsolat nélkül is.
Ha az AutoUpdate logikai property értéke igaz, akkor a beállított színt azonnal beírjuk az adatbázisba az UpdateRecord eljárással, míg ellenkező esetben ez csak akkor történik meg, amikor a komponens elveszíti a fókuszt.

Cikksorozat

#IDKategóriaCikk címeSorozat
1018DelphiVonalkód készítő komponens1. rész
1028DelphiVonalkód nyomtatása a QuickReport-al2. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 43. 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!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |