Programování v Pascalu Přednáška 10 RNDr. Hana Havelková
Programová jednotka Struktura Interface Implementace Inicializace Použití
Programová jednotka funguje jako knihovna konstant typů proměnných funkcí procedur může být univerzálně použitelná nebo naopak zaměřená konkrétní problematiku komplexní čísla matice zlomky finanční matematika grafika …
Struktura jednotky unit identifikátor_jednotky;hlavička interface deklarace konstant; deklarace typů;interface deklarace proměnných; hlavičky procedur a funkcí implementation uses seznam knihovních modulů; definice funkcí a procedur z interface definice pomocných procedur a funkcíimplementace end.inicializace
Interface rozhraní jednotky tato část obsahuje seznam všech prvků, které mají být přístupné, které jednotka dává veřejně k dispozici deklarace konstant, typů, proměnných hlavičky procedur a funkcí
Implementation implementace jednotky tato část obsahuje deklarace konstant, typů a proměnných, které používá jednotka a nejsou veřejně přístupné deklarace všech procedur a funkcí, jejichž hlavičky byly uvedeny v interface deklarace další pomocných procedur a funkcí, které ovšem nejsou veřejně přístupné
Inicializace může obsahovat blok příkazů, které se provedou při zavedení jednotky ještě před spuštěním programu, který jednotku používá může být prázdná (v tom případě není uvedeno slovo begin)
Použití jednotky zkontrolujeme, zda-li se překládá na disk – menu COMPILE – DESTINATION – DISK jednotku přeložíme do TPU – jméno jednotky musí být shodné se jménem souboru PAS i souboru TPU zkontrolujeme, zda-li soubor TPU je ve složce jednotek nastavené v menu OPTION – DIRECTORIES – EXE & TPU directories uvedeme správné jméno jednotky v klauzuli uses programu či jednotky, která ji chce použít
Jednotka Cas (1) unit Cas; interface const dny : array [0..6] of string = ('Nedele','Pondeli','Utery','Streda','Ctvrtek','Patek', 'Sobota'); procedure AktDatum; implementation uses Crt, DOS; procedure AktDatum; var hod, min, sek, mili : word; den, mes, rok, cden : word;
Jednotka Cas(2) begin GetTime (hod,min,sek,mili); GetDate (rok, mes, den, cden); TextColor (red); GotoXY(60,2); Write (dny[cden]); GotoXY (67,2); ClrEol; Write (hod,':',min,':',sek); GotoXY (60,3); ClrEol; WriteLn (den,'. ',mes,'. ',rok); TextColor (white); end; begin AktDatum; end.
Jednotka Zlomek - interface unit Zlomek; interface type TZlomek = record citatel : integer; jmenovatel : integer; end; procedure Kraceni (var z : TZlomek); procedure ZadejZlomek (var z : TZlomek); procedure Soucet (z1, z2 : TZlomek; var s : TZlomek); procedure Rozdil (z1, z2 : TZlomek; var r : TZlomek); procedure Soucin (z1, z2 : TZlomek; var s : TZlomek); procedure Podil (z1, z2 : TZlomek; var p : TZlomek);