Opisz najczęściej używane moduły CRT- obsługa konsoli, DOS - wywołanie systemowe i GRAPH - grafika.

Moduły (ang. unit) są to skompilowane biblioteki, zawierające gotowe do użycia funkcje i procedury.

Najczęściej wykorzystywane moduły.

Moduł CRT

Moduł CRT (lub też CRT2 - dla nowszych procesorów) zawiera dodatkowe funkcje uzupełniające bibliotekę SYSTEM o funkcje i procedury ekranowe - sam skrót CRT pochodzi od Cathode Ray Tube - czyli po prostu ekranu.

Przydatne funkcje modułu CRT

Opis wszystkich funkcji, procedur, oraz zmiennych dostępnych w module CRT wraz z licznymi przykładami można odnaleźć w dokumentacji modułu, bądź też w Helpie dostępnym wraz z kompilatorem Borlanda.

0x08 graphic
Podaje trzy proste przykłady:

Manipulowanie intensywnością kolorów:

0x08 graphic

Oraz dźwiękami:

0x08 graphic

Moduł DOS

Moduł DOS zawiera wiele funkcji dostępnych w systemie DOS, które możemy użyć w programie, są to m.in. funkcje i procedury:

Moduł DOS zawiera pokaźny zbiór funkcji i procedur związanych z systemem DOS. Są to m.in. funkcje pozwalające funkcjonować na operacjach, plikach i katalogach. Najczęściej przytaczaną przykładową funkcją z tego modułu jest funkcja FindFirst:

uses Dos;

var

DirInfo: SearchRec;

begin

FindFirst('*.PAS', Archive, DirInfo); { w maskach do szukania mozna takze uzywac '?' }

while DosError = 0 do

begin

Writeln(DirInfo.Name);

FindNext(DirInfo);

end;

readln;

end.

Moduł Graph

Każda firma produkująca kompilatory Pascala dołącza do niego potężny zestaw gotowych już funkcji i procedur graficznych dostępnych w module Graph. Na pewno go mamy. Jeśli nie - można znaleźć go na wielu stronach i serwisach poświęconych programowaniu.

W pierwszym programiku wykorzystującym moduł Graph uruchomiam autotest a później zainicjuję tryb graficzny odpowiadający karcie graficznej.

Opiszę najważniejsze fragmenty programu:

Poniższa procedura wykrywa kartę oraz tryb graficzny, który obsługuje.

DetectGraph(Karta,Tryb); { karta 9 - VSA, tryb 2 - VGAHi }

Po detekcji jest inicjalizacja. Poniższa procedura stawia już tylko przysłowiową kropkę nad i. Trzecim parametrem jest katalog, w którym znajdują się sterowniki graficzne i czcionki.

InitGraph(Karta,Tryb,'c:\bp\bgi');

Spójrzmy na prostą detekcję karty graficznej i jej parametrów.

program detekcja;

uses graph;

var i,x,y : integer;

Karta, Tryb : Integer;

begin

DetectGraph(Karta,Tryb);

InitGraph(Karta,Tryb,'c:\bp\bgi');

{ jestesmy teraz 'wewnatrz' trybu graficznego }

x:= getmaxx;

y:= getmaxy;

CloseGraph;

writeln('Sterownik graficzny numer: ',Karta);

writeln('Tryb : ',Tryb);

writeln('Rozdzielczosc: ',x,' X ',y);

Readln;

end.

W kolejnym programie zaprezentuję procedurę PutPixel(z modułu Graph), jej parametrami są: pozycja X, pozycja Y, kolor zapisany jako łańcuch lub jako wartość liczbowa.

Program rysuje koło z wykorzystaniem funkcji sinus i cosinus.
Oczywiście w module Graph są gotowe funkcje rysujące koła , ale chciałem pokazać na jakiej zasadzie są one tworzone - wszystkie bowiem figury są opisywane przez równania matematyczne.

program kolo_sin_cos_biegunowo;

uses

graph,crt;

var i,x,y : integer;

Karta, Tryb : Integer;

begin

DetectGraph(Karta,Tryb); { karta 9 - VSA, tryb 2 - VGAHi }

InitGraph(Karta,Tryb,'c:\bp\bgi');

for i:=1 to 360 do

PutPixel(GetMaxX div 2+Round(SIN(i)*50), GetMaxY div 2+Round(COS(i)*50),Yellow);

Readln;

CloseGraph;

end.

4