Unit je jednotkou (alebo skôr knižnicou), ktorá obsahuje procedúry a funkcie, ktoré možno volať (spúšťať) z ľubovoľného programu.
Ak máme napr. unit obsahujúci procedúry na načítavanie údajov, vykresľovanie a pohyb po menu, máme jednak silný prostriedok na vytváranie prostredia, jednak nástroj na veľké ušetrenie času.
Unit je obyčajný súbor procedúr a funkcií (obyčajne napísaný v Turbo Pascale). Prácu s grafikou aj prácu s textom tiež zabezpečujú unity - graph a crt.
Skladá sa:
Unit Pokus; |
Interface
..... |
Implementation
...... |
begin
end. |
Ak chceme unit využívať vo svojom programe, musíme jeho meno uviesť v zozname uses-ov.
Meno unitu a súbor, v ktorom je unit uložený, musia byť rovnaké. Inak dochádza ku kolíziám.
Štruktúru unitu už poznáme. Okrem procedúr a funkcií však možno v unite
definovať aj typy a konštanty, ktoré bude využívajúci program potom poznať
(napr. typ osoba, tabuľka, ...).
V unite možno deklarovať (pomocou var) aj vlastné (unitovské) globálne premenné, ktoré budú poznať všetky jeho procedúry, no tieto premenné nebudú dostupné programu, ktorý unit využíva.
Všetky ostatné prvky unitu sú dostupné. A naopak - definície, deklarácie, procedúry a funkcie otcovského programu sú pre unit neznáme a neprístupné. Potrebné údaje sa dajú prenášať len v parametroch jednotlivých procedúr.
Každý program môže využívať ľubovoľný počet unitov. V prípade, že sa v dvoch unitoch vyskytne procedúra s rovnakým menom, patrí sa špecifikovať, ktorú procedúru žiadame:
unit1.moja alebo unit2.moja
V opačnom prípade (len moja) sa vykonáva procedúra z unitu, ktorý je v zozname zapísaný ako prvý.