W³asne modu³y
Modu³y udostêpnia nie tylko firma Borland, która napisa³a Turbo Pascala. Modu³ mo¿e stworzyæ ka¿dy, równie¿ Ty. Nie jest to nic skomplikowanego. Modu³ buduje siê do¶æ podobnie do zwyk³ego programu. Równie¿ trzeba utworzyæ nowy plik o rozszerzeniu .pas.
Modu³ rozpoczyna siê od s³owa unit, a koñczy s³owem end. (z kropk± na koñcu). Ka¿dy modu³ mo¿e korzystaæ z innych, wcze¶niej stworzonych modu³ów. Przed u¿yciem innych modu³ów nale¿y wpisaæ s³owo kluczowe interface. Po ich u¿yciu nastêpuje czê¶æ nag³ówka.
Nag³owek pozwala zdefiniowaæ, które procedury i funkcje bêd± widoczne dla innych tworzonych przez Ciebie plików. Czê¶æ procedur i funkcji, które znajduj± siê w Twoim module mo¿e byæ 'prywatna', dostêpna tylko wewn±trz tego modu³u.
Po czê¶ci nag³ówka nastêpuje czê¶æ implementacji. W tej czê¶ci piszesz ju¿ w³asny program. Ka¿da z pisanych procedur i funkcji musi sk³adaæ siê jeszcze raz z nag³ówka a nastêpnie z w³asnego kodu.
unit nazwa;
interface
uses Crt, Dos; {Mo¿na dodaæ inne modu³y, z których korzysta Twój modu³}
{nag³ówki w³asnych procedur i funkcji}
procedure moja_procedura(zmienna1, zmienna2 : Byte); {przyk³ad definicji procedury}
function nowa_funkcja(parametr : Integer) : Integer; {przyk³ad definicji funkcji}
implementation {czê¶æ implementacyjna}
procedure moja_procedura(zmienna, zmienna2 : Byte); {przyk³ad definicji}
begin
WriteLn('Wpisa³es liczby: ', zmienna, ' i ', zmienna2);
end;
{jeszcze raz nag³ówek, ale ju¿ z implementacj±}
function nowa_funkcja(parametr : Integer) : Integer;
begin
nowa_funkcja := parametr * 5; {przyk³ad tworzenia wyniku funkcji}
end;
end.
A jak w swoim programie u¿yæ w³asnego modu³u? Najpierw trzeba skompilowaæ taki modu³. S³u¿y do tego klawisz F9. Przeznaczenie (Destination) musi byæ ustawione na Disk. Wstêp do programowania opisuje jak ustawiæ te opcje.
Je¿eli powy¿szy modu³ nazwa³by¶ nazwa.pas to mog³oby to wygl±daæ nastêpuj±co:
program test_modulu;
uses nazwa; {Dodajemy w³asny modu³ do listy dostêpnych}
begin
moja_procedura(1, 2); {tu ju¿ korzystamy z w³asnych procedur i funkcji}
WriteLn('nowa_funkcja(2) da wynik: ', nowa_funkcja(2));
end.
Modu³y powinny byæ pogrupowane tematycznie. Mo¿esz na przyk³ad utworzyæ modu³ obs³uguj±cy myszkê, modu³ do obs³ugi klawiatury, do grafiki, muzyki oraz inne.
Je¿eli chcia³by¶ zdobyæ wiêcej wiedzy na temat w³asnych modu³ów, przede wszystkim musisz samemu poeksperymentowaæ. Nie bój siê wymy¶laæ nowych rozwi±zañ. Spróbuj zrozumieæ zasady programowania.