W bibliotece FCL środowiska Lazarus, które używa kompilatora FPC, istnieje klasa generyczna TFPGMap. Przyjmuje ona dwa typy danych jako parametry: typ klucza i typ wartości. W środowisku Lazarus można też korzystać z klasy TDictionary, która jest dostępna w module Generics.Collections i działa podobnie jak ta z biblioteki VCL. Poniższy kod kompiluje się od wersji 2.6 kompilatora FPC, ponieważ użyto w nim rekordów pomocników (record helpers).
program LiczbaDniRoku;
uses SysUtils, DateUtils, Fgl;
var LiczbaDni: specialize TFPGMap<String, Integer>; // klucze typu String, wartości typu Integer
begin // utworzenie słownika LiczbaDni := specialize TFPGMap<String, Integer>.Create; LiczbaDni.Add('styczeń', 31); // wstawienie pary: klucz, wartość LiczbaDni.Add('luty', 28); LiczbaDni.Add('marzec', 31); // podaje liczbę kluczy przechowywaną w słowniku Writeln('liczba dodanych miesiecy: ', LiczbaDni.Count.ToString); // korekta liczby dni 'lutego', gdy rok jest przestępny if DaysInAYear(2000) = 366 then LiczbaDni['luty'] := 29; // zmiana wartości związanej z kluczem "luty" // wyszukanie wartości klucza w słowniku if LiczbaDni.IndexOf('marzec') > -1 then Write('liczba dni w marcu: ', LiczbaDni['marzec']) else Write('klucz "marzec" nie występuje w słowniku'); // usunięcie słownika LiczbaDni.Free; // zatrzymanie okna konsoli Readln; end.
Zobacz też tablica
Kategoria:Struktury danych