HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Kép tárolása a Registry-ben


Példaprogram letöltése

15306 bájt

A Registry adatbázisban gyakorlatilag bármilyen adatot tárolhatunk, de csak néhány alapvető adattípushoz létezik a tároláshoz és kiolvasáshoz egyszerűen használható eljárás illetve függvény. Ebben a példában két eljárást készítünk. Az egyikkel egy képet tárolhatunk el az adatbázisban minden tulajdonságával együtt, míg a másikkal ugyanezt a képet olvashatjuk ki az adatbázisból.

A két eljárást egy külön unit-ban hozzuk létre (PicInReg), hogy más alkalmazásokban is könnyen fel tudjuk használni őket. Mint a két deklarációból is látható, a két eljárás paraméterezésében nem tér el egymástól.
procedure SavePictureToRegistry(Bitmap: TBitmap; RootKey: cardinal; Key, Name: string);
procedure LoadPictureFromRegistry(Bitmap: TBitmap; RootKey: cardinal; Key, Name: string);
A paraméterek jelentése a következő:
Bitmap: TBitmap;
Ebben a paraméterben kell megadnunk egy TBitmap típusú objektumot. Az ebben az objektumban tárolt képet mentjük el a registry-be, illetve kiolvasáskor ebben az objektumban kapjuk meg a Registry-ből kiolvasott képet.
RootKey: cardinal;
Ebben a paraméterben kell megadnunk a Registry gyökér kulcsot (pl. HKEY_CURRENT_USER).
Key: string;
Ebben a paraméterben kell megadni azt a kulcsot, ami alá a képet menteni szeretnénk.
Name: string;
Ebben a paraméterben kell megadnunk a Registry érték nevét, később a kiolvasáskor ezzel a névvel azonosíthatjuk majd a képet.
A mentés és a beolvasás ugyanazon az elven működik. Létrehozunk egy memória stream-et (TMemoryStream), amelyben elmentjük a bitképet a SaveToStream metódussal. Ezután a TRegistry objektum WriteBinaryData eljárásával egyszerűen elmenthetjük a memória stream tartalmát, hiszen ismerjük az adatok kezdőcímét és méretét.
A kiolvasásnál valamivel bonyolultabb a helyzet, de az elv ugyanaz. A különbség csak annyi, hogy le kell foglalni egy memória területet a kiolvasandó kép adatainak. A terület szükséges méretét a GetDataSize függvény segítségével kérdezhetjük le. Ezután a memória stream-be már egyszerűen elmenthetjük az adatfolyamot, majd a stream-ből betölthetjük a bitkép objektumába a LoadFromStream eljárással.

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