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