Forum Nasza klasa : P Strona Główna
RejestracjaSzukajFAQUżytkownicyGrupyGalerieZaloguj
Moduły w Pascalu

 
Odpowiedz do tematu    Forum Nasza klasa : P Strona Główna » Informatyka Zobacz poprzedni temat
Zobacz następny temat
Moduły w Pascalu
Autor Wiadomość
marianmanieck
Administrator



Dołączył: 23 Mar 2006
Posty: 115
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Kaczki 3miasto :P

Post Moduły w Pascalu
    Moduły w Pascalu

Moduły (ang. unit) są to skompilowane biblioteki, zawierające gotowe do użycia funkcje i procedury.
Przyjrzyjmy się najczęściej wykorzystywanym modułom.
• SYSTEM - nie wiele osób w ogóle wie, że używa tego modułu - jest to moduł dołączany automatycznie podczas kompilacji zawiera funkcje wyświetlające, wczytujące dane oraz podstawowe funkcje matematyczne
• CRT (lub CRT2) - ten moduł już sami musimy zadeklarować, zawiera on 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
• DOS - zbiór funkcji i procedur systemu operacyjnego DOS
• GRAPH - zestaw funkcji i procedur do obsługi trybu graficznego



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
• ClrEol - czyszczenie bieżącej linii
• ClrScr - czyszczenie ekranu
• Delay(milisekundy) - opóźnia wykonywanie dalszej części programu
• GotoXY(wspolrzedna_X,wspolrzedna_Y) - ustawia kursor w danym położeniu (dla przypomnienia tryb tekstowy to 25 linii i 80 kolumn)
• WhereX, WhereY - funkcje zwracające odpowiednio współrzędne: X i Y aktualnej pozycji kursora
• TextColor(kolor) - ustawia kolor tekstu, kolor może być typu string np. yellow lub też liczbą całkowitą z zakresu 0-15.
• TextBackground(kolor) - ustawia kolor tła, ma ograniczoną paletę tylko do 8 kolorów, liczby całkowite 0-7
• HighVideo - zwiększa intensywność kolorów na odpowiedniki Light, dla Lighr pozostaje Light wyjątek: dla szarego przechodzi na biały
• LowVideo - zmniejsza intensywność kolorów na odpowiedniki Dark, dla Dark pozostaje Dark, powraca także z HighVideo do poprzedniego trybu
• ReadKey - odczytuje jeden znak, odpowiednik getch z C, stosuje się tę funkcję np. na zakończenie programu zamiast ReadLn
• Sound(czestotliwosc) - włącza dźwięk o podanej częstotliwości z wewnętrznego głośnika
• NoSound - bez parametrów, wyłącza głośnik wewnętrzny
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.
Aby nie być gołosłownym spójrz na trzy proste przykłady:

Cytat:

uses Crt;
begin
clrscr;
TextColor(Green);
TextBackground(Black);
WriteLn('zielone na czarnym');
TextColor(LightRed+Blink);
TextBackground(LightGray);
WriteLn('Migajacy jasnoczerwony na szarym tle');
TextColor(14); { Yellow = 14 }
TextBackground(Blue);
WriteLn('Zolte na niebieskim');
NormVideo; { Procedura przywracajaca normalne atrybuty }
WriteLn('Test');
readkey; { czeka na nacisniecie dowolnego klawisza, potem konczy program }
end.



Manipulowanie intensywnością kolorów:


Cytat:
uses Crt;
begin
clrscr;
TextAttr := LightGrey; { szary jest wyjatkiem, po HighVideo przechodzi w bialy }
writeln('qwqwqwqw');
HighVideo; { zwiekszona intensywnsc koloru, na odpowiedniki Light }
writeln('qwqwqwqw');
LowVideo; { zmniejsza intensywnosc koloru na odpowiedniki Dark, lub powraca
z HightVideo; do poprzedniego trybu }
writeln('qwqwqwqw');
readkey;
end.


Oraz dźwiękami:


Cytat:
uses Crt;

begin
Sound(220); { Beep }
Delay(200); { 200 ms }
NoSound; { Ulga! }
end.



Moduł DOS
Moduł DOS zawiera wiele funkcji dostępnych w systemie DOS, które możemy użyć w naszym programie, są to m.in. funkcje i procedury:
• pobierania i ustawiania daty i czasu
• sprawdzania statusu dysków twardych, CD-ROMów, dyskietek i innych napędów
• obsługi, wyszukiwania plików, ustawiania ich parametrów
• obsługi przerwań z tablicy wektorów oraz przerwań programowych systemu DOS
• obsługi procesów, wykonywania i podtrzymywania procesów systemu DOS
Opis wszystkich funkcji, procedur, stałych oraz zmiennych dostępnych w module DOS wraz z licznymi przykładami można odnaleźć w dokumentacji modułu, bądź też w Helpie dostępnym wraz z kompilatorem Borlanda.

Moduł Graph - Wprowadzenie
Jeśli nie znamy się na trybach ekranowych dostępnych z asemblera nie ma się czym przejmować. Poza tym, trzeba to powiedzieć sobie szczerze - programowanie w asemblerze jest znacznie żmudniejsze i trudniejsze.
Każda szanująca się 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 masz! Jeśli nie - możesz znaleźć go na wielu stronach i serwisach poświęconych programowaniu.
W pierwszym programiku wykorzystującym moduł Graph uruchomimy autotest a później zainicjujemy tryb graficzny odpowiadający naszej karcie graficznej.
Opiszę najważniejsze fragmenty programu:
Poniższa procedura wykrywa naszą kartę oraz tryb graficzny, który obsługuje.
DetectGraph(Karta,Tryb); { u mnie 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ę naszej karty graficznej i jej parametrów.
program detekcja;



Cytat:
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 etc.(o czym później), ale chciałem pokazać na jakiej zasadzie są one tworzone - wszystkie bowiem figury są opisywane przez równania matematyczne.


Cytat:
program kolo_sin_cos_biegunowo;

uses
graph,crt;

var i,x,y : integer;
Karta, Tryb : Integer;

begin
DetectGraph(Karta,Tryb); { u mnie 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.



Post został pochwalony 0 razy
Śro 22:10, 12 Kwi 2006 Zobacz profil autora
Wyświetl posty z ostatnich:    
Odpowiedz do tematu    Forum Nasza klasa : P Strona Główna » Informatyka Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do: 
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Design by Freestyle XL / Music Lyrics.
Regulamin