HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Tömb típusú adatmezők használata


Példaprogram letöltése

4802 bájt

Ebben a példában a tömb típusú adatmezők használatával foglalkozunk. Megnézzük, hogy miként lehet létrehozni, elérni, valamint megjeleníteni egy tömb típusú adatmezőt.

A tömb típusú mezőt az ftArray mezőtípus képviseli.
A mellékelt példában egy ClientDataSet objektum segítségével hozunk létre egy adattáblát.
A tábla két mezőt tartalmaz:
  • Name
  • PhoneNumbers
Egy személyhez maximum 3 telefonszámot adhatunk meg, a PhoneNumbers mező segítségével.
A Name mezőt az alábbi utasítással hozzuk létre.
with ClientDataSet1 do begin
  FieldDefs.Add('Name',ftString,30);
A tömb típusú mező létrehozásánál két sort kell bejegyeznünk a FieldDefs tömbbe.
FieldDefs.Add('PhoneNumber',ftArray,3);
FieldDefs.Add('Phone',ftString,13);
Az első sor rendelkezik arról, hogy egy 3 elemű tömbmezőre van szükségünk, melynek neve PhoneNumber.
A következő sorban kell megadnunk, hogy a tömb egyes elemei milyen mezőtípussal rendelkezzenek. Jelen esetben ez egy 13 karakter hosszú sztring. A tömb bármilyen típusú elemekből állat, még ADT mező is szerepelhet benne. Azonban tömb nem tartalmazhat másik tömböt.
A Phone névvel ellátott mező nevének nincs jelentősége, sehol nem jelenik meg. Pusztán csak formai okokból kell elneveznünk a mezőt. Név nélküli mező ugyanis nem hozható létre.
A megadott adatszerkezetet a ClientDataSet CreateDataSet metódusával hozhatjuk létre, majd nyithatjuk meg.
Ha a tömb típusú mező egyik elemét DB kontrolok segítségével akarjuk megjeleníteni, szükségünk van a mező nevére. Például egy DBText komponens használata esetén a DataField mezőben a következő hivatkozást kell megadnunk:
DBText2.DataField:='PhoneNumber[0]';
Mezőnév[Index]
Ha a tömb egy mezőjének tartalmát el szeretnénk érni, akkor azt a következő módon tehetjük. Például:
Label1.Caption:=TArrayField(ClientDataSet1.FieldByName('PhoneNumber')).Fields[0].AsString;
A ClientDataSet objektum ObjectView property-jének értéke határozza meg, hogy a tömb típusú mező miként jelenjen meg, például egy DBGrid-ben.
Ha a property értéke igaz, akkor az egyes mezők hierarchikusan jelennek meg. Hamis érték esetén a tömb egyes elemi külön oszlopot képviselnek.
A ClientDataSet1 objektum SaveToFile és LoadFromFile metódusai segítségével adatainkat elmenthetjük egy állományba, illetve betölthetjük onnan.
Ha azt akarjuk, hogy a DBGrid a PhoneNumber tömb elemeit összecsukott állapotban is megjelenítse, akkor azt az OnDrawDataCell eseményben programozhatjuk le.

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