W³asne typy danych
Czasami zachodzi potrzeba utworzenia w³asnego typu -tzw. rekordu, który bêdzie przechowywa³ wymy¶lone przez nas dane. Przypu¶æmy ¿e chcia³by¶ zbudowaæ prost± bazê danych zawieraj±c± imiona i nazwiska swoich klientów. Zamiast przechowywaæ wszelkie dane w osobnych tablicach np.
const
MaxDanych = 200;
var
{imiona - tablica o rozmiarze MaxDanych elementów }
imiona : array[0..MaxDanych-1] of string[20];
nazwiska : array[0..MaxDanych-1] of string[30];
telefony : array[0..MaxDanych-1] of string[20];
{...}
{odwo³ywanie}
imiona[10]:='Moje Imiê';
nazwiska[10]:='Moje Nazwisko';
telefony[10]:='0700 00 000';
Mo¿na pogrupowaæ je blisko siebie. W taki sposób by znajdowa³y siê obok siebie w pamiêci (jest bardziej fachowo).
Mo¿na to zrobiæ choæby tak:
const
MaxDanych = 200;
type
TDaneOsobowe = record
imie : string[20];
nazwisko : string[30];
telefon : string[20];
rok_ur : integer;
end;
var
Dane : array[0..MaxDanych-1] of TDaneOsobowe;
{…}
{odwo³ywanie}
Dane[0].imie := 'Moje imie';
Dane[0].nazwisko := 'Moje nazwisko';
Dane[0].telefon := '0 700 00 000';
Dane[0].rok_ur := 1999;
{lub za pomoc± with – uproszczenie}
with Dane[0] do
begin
imie := 'Moje imie';
rok_ur := 1999;
end;
W przyk³adzie zademonstrowano korzystanie z polecenia with - które dla ka¿dego elementu wewn±trz dodaje przedrostek, w typ wypadku Dane[0]. Dziêki temu poleceniu mo¿emy znacznie skróciæ kod.
Do tablicy w³asnego rekordu mo¿na odnosiæ siê jak do ka¿dej innej tablicy. Mo¿na przegl±daæ t± tablicê za pomoc± pêtli i zmiennej iterowanej (zwiêkszanej).