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:
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.