Moduły
Skoro można tworzyć własne typy, to dlaczego by nie stworzyć własnego modułu. O ile w tym kursie kwestia korzystania z modułów jest prawie całkowicie pominięta, o tyle na tworzeniu własnych warto się zatrzymać z tego względu, że w Delphi operuje się prawie tylko na modułach.
Moduły służą do umieszczania w nich procedur, funkcji, typów itp. które mogą być następnie wykorzystane przez program lub inny moduł.
Każdy moduł składa się z części Interface oraz Implementation. Najpierw jednak znajduje się nazwa modułu:
Unit nazwamodułu;
Interface
Implementation
end.
Ważne jest aby nazwa modułu pokrywała się z nazwą pliku w którym jest zapisany ten moduł.
W części Interface deklarujemy wszystkie elementy modułu które mają być widoczne na "zewnątrz"
Interface
uses jakismodul
type jakistyp:integer;
var qwerty:real;
procedure proc1;
procedure proc2(x:integer);
W ten sposób program w którym użyjemy tego modułu będzie widział typ: jakistyp i będziemy mogli deklarować zmienne tego typu. Ponadto będziemy mogli np:. skorzystać ze zmiennej qwerty i przede wszytskim z procedur: proc1, proc2.
W sekcji Implementation, również możemy zadeklarować typy, zmienne moduły, ale będą widoczne jedynie wewnątrz tego modułu:
Implementation
uses modul;
var www:string;
W tym miejscu musimy także opisać zadeklarowane w części Interface procedury i funkcje (w naszym przypadku proc1 i proc2):
procedure proc1;
begin
{treść procedury}
end;
procedure proc2(x:integer);
begin
{treść procedury}
end;
Teraz żeby użyć naszego modułu w programie, należy w uses wpisać jego nazwę (i umieścić go w takim miejscu, aby program znalazł ten moduł):
uses nazwamodulu;
Warto zwrócić uwagę na nadawanie nazw zmiennym i procedurom w sekcji interface: Jeżeli np.: zadeklarujemy tam zmienną x:integer to będziemy mogli z niej korzystać w programie z zadeklarowanym modułem, ale jednocześnie nie będziemy mogli zadeklarować w nim własnej zmiennej "x" (kompilator wskaże błąd, ponieważ taka zmienna już istnieje)