pdf | do ÂściÂągnięcia | ebook | pobieranie | download
Pokrewne
- Strona Główna
- JavaScript_Zaawansowane_programowanie_zaprjs
- C Szkoła programowania
- Taylor Jennifer GśÂ‚uchy telefon
- Cykl Indiana Jones Indiana Jones i taniec olbrzymów Rob MacGregor
- Laurie, Hugh The Gun Seller
- Dav
- Greg Bear Songs of Earth 01 The Infinity Concerto
- Roberts Nora Przerwana gra
- d
- Amorth, Gabriele Wyznania egzorcysty
- zanotowane.pl
- doc.pisz.pl
- pdf.pisz.pl
- botus.xlx.pl
[ Pobierz całość w formacie PDF ]
Delay umożliwia ustalenie długości trwania dzwięku. Ponieważ głośnik komputera PC
obsługiwany jest sprzętowo, musisz pamiętać o wyłączeniu dzwięku procedurą No-
Sound, w przeciwnym przypadku może on być generowany nawet po zakończeniu
programu. Krótką demonstrację efektów dzwiękowych pokazano poniżej:
for i := 1 to 8 do
begin
end;
Procedury i dane zawarte w module Dos wykorzystywane są znacznie rzadziej, głównie
przez bardziej doświadczonych programistów. Pozwalają one na wykonywanie operacji
na systemie plików, obsługę zegara systemowego oraz zarządzanie procesami
(programami) i tzw. przerwaniami (co jest zabawÄ… nie zawsze bezpiecznÄ…).
Elementarne informacje o systemie plików możesz uzyskać za pomocą funkcji (proce-
dur) DiskSize, DiskFree, GetDir, FindFirst i FindNext. Pierwsze dwie funkcje
zwracają całkowitą pojemność oraz ilość wolnego miejsca dla zadanego dysku (w baj-
tach), zaś procedura GetDir umożliwia określenie nazwy bieżącego katalogu:
writeln('Biezacy katalog: ', s); { s jest typu string }
writeln('Pojemnosc dysku: ', DiskSize(0), ' bajtow.');
writeln('Wolne miejsce: ', DiskFree(0), ' bajtow.');
Warto wiedzieć, że dyski w systemie DOS numerowane są od jedynki (która odpowiada
dyskowi A:), zaś wartość 0 oznacza zawsze dysk bieżący.
Procedury FindFirst i FindNext wykorzystywane są na ogół do sprawdzania obec-
ności pliku na dysku i odczytu listy plików zawartych w katalogu. Poniżej przedsta-
wiono typową konstrukcję wyświetlającą listę plików zawartych w katalogu głównym
dysku C:
FindFirst('c:\
{ plik }
while DosError = 0 do
begin
writeln(OpisPliku.Name);
end;
Procedura FindFirst znajduje pierwszy plik o nazwie zadanej pierwszym parametrem
i tworzy tzw. rekord opisu pliku (zmienna OpisPliku typu SearchRec), wyko-
rzystywany następnie przez FindNext do wyszukiwania kolejnych plików. Zmienna
DosError przechowuje wynik ostatnio wykonanej funkcji systemu operacyjnego
Pożyteczne drobiazgi, czyli moduły biblioteczne 125
(w naszym przypadku funkcji wyszukania pliku), przy czym wartość 0 odpowiada
wykonaniu bezbłędnemu, natomiast pozostałe wartości są kodami odpowiednich błę-
dów zwracanymi przez DOS.
Na tym zakończymy nasze krótkie spotkanie z modułami bibliotecznymi. Z koniecz-
ności omówiliśmy w nim zagadnienia najbardziej podstawowe, pomijając szczegółowy
opis zawartości modułów. Jeśli okaże się, że jest Ci potrzebna jakaś funkcja lub
struktura danych, najlepiej zrobisz przeglÄ…dajÄ…c odpowiednie tematy systemu pomocy,
ewentualnie odwołując się do literatury.
W kolejnym rozdziale pokażemy, jak tworzyć własne moduły i jakie z tego płyną
korzyści.
Zapamiętaj
" Pascalowe moduły biblioteczne zawierają wiele użytecznych procedur i struktur
danych.
" Aby odwołać się do zawartości modułu, musisz umieścić na początku programu
deklaracjÄ™ uses.
" Wykorzystanie modułów powoduje powiększenie objętości skompilowanego
programu.
" Najczęściej wykorzystywanymi modułami są Crt (obsługa monitora i klawia-
tury), Graph (obsługa grafiki) oraz Dos (obsługa wywołań funkcji systemo-
wych).
126 Turbo Pascal programowanie
Moduły własne
W miarę rozwoju Twoich umiejętności będziesz rozwiązywał coraz bardziej złożone
problemy i pisał coraz bardziej złożone programy. Prędzej czy pózniej staniesz też
przed koniecznością rozbicia programu na kilka prostszych fragmentów, czyli podzie-
lenia go na moduły. Modułowość, będąca jedną z podstawowych zasad dobrego prog-
ramowania, jest rozszerzeniem podejścia proceduralnego. Struktura modularna zakłada
wydzielenie funkcji zajmujących się daną dziedziną (np. operacjami wejścia-wyjścia)
i zgrupowanie ich w oddzielnych plikach. Różnicę pomiędzy programem liniowym
a programem modułowym realizującym to samo zadanie przedstawia poniższy rysunek.
Dane, struktury i funkcje globalne,
Otoczenie Otoczenie
procedury przetwarzania danych,
procedury wejScia-wyjScia,
interfejs u¿ytkownika, program g³Ã³wny
a)
PROGRAM
Dane i struktury globalne
Funkcje globalne
Procedury
przetwarzania
Otoczenie
Otoczenie
danych
Procedury wejScia-wyjScia
i interfejs u¿ytkownika
b)
Rysunek 13. Struktura programu liniowego (a) i modułowego (b)
Co daje zastosowanie struktury modułowej? Jak nietrudno zauważyć, program lini-
owy grupuje wszystkie elementy w jednym pliku zródłowym. Przy większych prog-
ramach liczba wierszy kodu zródłowego idzie w tysiące, co z kolei drastycznie wydłuża
czas potrzebny na znalezienie żądanego fragmentu programu, pogarsza jego czytelność
Moduły własne 127
i utrudnia interpretację i uruchamianie. Odpowiedni program o strukturze modułowej
składa się z kilku krótszych (a więc łatwiejszych do czytania) plików zawierających
funkcje pogrupowane tematycznie (co z kolei ułatwia wyszukiwanie odpowiednich
fragmentów programu i jego uruchamianie).
Pierwszą korzyścią z zastosowania struktury modułowej jest poprawa
czytelności kodu zródłowego oraz ułatwienie interpretacji i uruchamiania
programu.
Nie dość tego, raz napisane i przetestowane funkcje i struktury danych mogą przydać Ci
[ Pobierz całość w formacie PDF ]