Delphi - FileSystemObject script objektum használata Delphi-ből

FileSystemObject 8. rész

forráskód letöltése
A FileSystemObject-ről szóló cikksorozat utolsó részében egy érdekes, a fájlrendszertől teljesen független lehetőséggel foglalkozunk. Ez a lehetőség annyira különbözik az eddigiektől, hogy bár a FileSystemObject-en keresztül is elérjük, de külön típusként is elérhetjük. Az új lehetőséggel egy olyan listát kezelhetünk, amelyben az egyes értékeket egyedi kulccsal azonosíthatjuk.
Eddig, ha a FileSystemObject-tel dolgoztunk, akkor mindig az alábbi utasítással hoztuk létre az OLE objektumot:
fso:=CreateOleObject('Scripting.FileSystemObject');
Ezt most is megtehetnénk, de ha jobban tetszik, használhatunk más típust is, amivel a Dictionary objektumot kezelhetjük:
dict:=CreateOleObject('Scripting.Dictionary');
Az ebben a cikkben bemutatott lehetőségek tehát mindkét esetben működnek. A Dictionary objektum, mint a bevezetőben is említettük, különböző értékek tárolására alkalmas, olyan mintha egy nyitott, dinamikus tömb lenne, amelyben az egyes értékeket egy egyedi kulccsal azonosítjuk.
Nézzük milyen property-ket és metódusokat alkalmazhatunk:
Count
Ebből a property-ből tudhatjuk meg, hogy a lista mennyi elemet tartalmaz. Ez természetesen egy csak olvasható property.
Key(key)
Egy már meglévő elem kulcsát módosíthatjuk ezzel a property-vel.
dict.Key[’kulcs’]:=’új kulcs’;
Item(key)
Ebből a property-ből tudhatjuk meg a key kulccsal azonosított elem értékét.
ShowMessage(dict.Item[’kulcs’]);
Add(key, item)
Ezzel a függvénnyel vehetünk fel egy új elemet a szótárba. A key az elemet azonosító kulcs, az item pedig az elem értéke.
dict.Add(’HUN’, ’Hungary’);
Exists(key)
Ezzel a függvénnyel ellenőrizhetjük, hogy a key kulccsal rendelkező elem megtalálható-e a szótárban. A függvény visszatérési értéke igaz, ha az elem megtalálható, és hamis, ha nem.
Items
Ebből a property-ből az elemek kérdezhetők le, az alábbi módon:
var
  items: OleVariant;
...
  items:=dict.Items;
  for i:=0 to dict.Count-1 do begin
    ShowMessage(items[i]);
  end;
Keys
Az Items-hez hasonlóan használható az elemek kulcsainak lekérdezésére.
Remove(key)
A key kulccsal azonosítható elemet törli a szótárból.
RemoveAll
Az összes elemet törli a szótárból.

FileSystemObject cikksorozat