Moduły (units)

Moduły (units)

Moduł Crt

Moduł Crt zawiera procedury i funkcje przydatne w prostych operacjach używanych przeważnie w trybie tekstowym. Polecenia modułu Crt pomagają też w odczytywaniu stanu klawiatury.

ClrScr; -Procedura powodująca wyczyszczenie zawartości ekranu i ustawienie kursora graficznego w lewym górnym rogu.

ClrEol; -Procedura która czyści linię tekstu od pozycji kursora do końca lini.

Delay(czas: Word) -Procedura, która czeka tyle milisekund (milisekunda=1/1000 sekundy) ile wynosi zmienna czas. Zmienna Czas musi być typu WORD (word to liczba całkowita od 0 do 65535).

DelLine; -Procedura czyści całą linie, w której znajduje się kursor

GotoXY(X,Y: Byte); przenosi kursor do pozycji X i Y. Pozycja 1,1 oznacza lewy górny róg ekranu.

HighVideo; -Rozjaśnia kolory, tzn. jeżeli wpiszesz ciemny czerwony i coś chcesz nim narysować, będzie narysowane to jasnym czerwonym.

InsLine; Wstawia pustą linię tam, gdzie się znajduje kursor a resztę przenosi w dół.

KeyPressed - Funkcja która zwraca wartość TRUE jeżeli został naciśnięty klawisz lub FALSE jeżeli nie.

LowVideo -Przyciemnia kolory patrz HighVideo.

NormVideo -Przywraca normalne kolory.

NoSound; -Wyłącza dźwięk ze SPEAKERA (głośniczka wbudowanego w komputer).

ReadKey; -Wczytuje wciśnięty klawisz z klawiatury.

Sound(Hz:Word); -Włącza dźwięk w SPEAKERZE o częstotliwości Hz, np. aby wydać dźwięk o częstotliwości 200Hz musisz wpisać: Sound(200); Najmniejszą liczbą jaka może być użyta jako dźwięk może być wartość około 60 Hz!

TextBackground(kolor:Byte); Ustawia kolor tła pod tekstem. Standardowo jest czarne. Poniżej podano jaki kolor odpowiada jakiej liczbie. Przykład użycia : TextBackground(5);

TextColor(kolor:Byte); Ustawia kolor liter na wartość jaką przyjmuje zmienna kolor. Przykład użycia : TextColor(15); lub jeśli masz jakąś zmienną np. k:=15; piszesz TextColor(k);

TextMode(mode:integer); Ustawia specyficzny tryb tekstowy. Normalny ma 80 znaków w pozycji X i 25 w pozycji Y. Instrukcja ta zmienia ten tryb.

WhereX; -Funkcja, która przyjmuje wartość typu Byte zawierającą pozycję poziomą (inaczej pozycja X) kursora tekstowego.

WhereY; -Funkcja przyjmuje pozycję Y kursora.

Window(X1,Y1,X2,Y2:Byte); Procedura ta ustawia w pamięci okno, w którym można pisać. Od tej pory każdy tekst będzie wypisywany w tym oknie. X1 oznacza od którego znaku w poziomie ma się zaczynać okno, Y1 -od którego ma się zaczynać okno w pozycji Y, a X2 i Y2 to współrzędne końcowe, np. Window(10,10,70,15); Pozycja 1,1 to górny lewy róg ekranu.

Wartości kolorów

Kolory podane w poniższej tabelce są wykorzystywane w procedurach TextBackGround i TextColor a także w trybie graficznym modułu Graph.

Numer Nazwa koloru Kolor
0 czarny
1 niebieski
2 zielony
3 cyan
4 czerwony
5 fioletowy
6 brązowy
7 j. szary
8 szary
9 j. niebieski
10 j. zielony
11 j. cyan
12 j. czerwony
13 j. fiolet
14 żółty
15 biały

Moduł Graph

Moduł Graph jest odpowiedzialny za tworzenie grafiki w trybie VGA -czyli w niskich rozdzielczościach. Standardowo używa rozdzielczości ekranu 640x480 oraz 16 kolorów. Bardzo często jest wykorzystywany podczas nauki programowania w szkole.

Dobrze nadaje się do tworzenia wykresów, prezentowania wyników obliczeń. Jest dość powolny i raczej nie stosuje się go do tworzenia animowanych gier komputerowych. Wymaga plików ze sterownikami grafiki, np. egavga.bgi, który domyślnie znajduje się w katalogu BGI w Turbo Pascalu.

Najczęściej używane polecenia  (Dokładny opis w pomocy Turbo Pascala -Shift + F1):
Circle, ClearDevice, DetectGraph, Ellipse, FloodFill, GetPixel, InitGraph, Line, OutText, OutTextXY, PutPixel, Rectangle, SetColor, SetFillColor, SetFillStyle, SetLineStyle, SetTextStyle, TextWidth, TextHeight

Opis niektórych poleceń:

ClearDevice – Czyszczenie zawartości ekranu

FloodFill – Wypełnienie figury zadanym kolorem

Rectangle – Narysowanie prostokąta

TextWidth – Sprawdzenie szerokości napisu

Moduł Dos

Moduł 'Dos' odpowiada za funkcje systemowe. Potrafi przeglądać pliki i katalogi, odczytywać godzinę i datę. Za jego pomocą tworzy się także obsługę tzw. przerwań -czyli podprogramów, które są wykonywane przy określonych zdarzeniach (naciśnięcie klawisza, poruszenie myszką).

Najczęściej używane polecenia:
DiskFree, DiskSize, Exec, FindFirst, FindNext, GetDate, GetIntVec, GetTime, SetDate, SetIntVec, SetTime

Opis niektórych poleceń:

SetIntVec – ustawienie procedury, która będzie się wykonywać podczas wywołania przerwania

FindFirst, FindNext – Odnajdywanie plików i katalogów na dysku.

Exec – Wykonanie innego programu

Własne moduły

Moduły udostępnia nie tylko firma Borland, która napisała Turbo Pascala. Moduł może stworzyć każdy, również Ty. Nie jest to nic skomplikowanego. Moduł buduje się dość podobnie do zwykłego programu. Również trzeba utworzyć nowy plik o rozszerzeniu .pas.

Moduł rozpoczyna się od słowa unit, a kończy słowem end. (z kropką na końcu). Każdy moduł może korzystać z innych, wcześniej stworzonych modułów. Przed użyciem innych modułów należy wpisać słowo kluczowe interface. Po ich użyciu następuje część nagłówka.

Nagłowek pozwala zdefiniować, które procedury i funkcje będą widoczne dla innych tworzonych przez Ciebie plików. Część procedur i funkcji, które znajdują się w Twoim module może być 'prywatna', dostępna tylko wewnątrz tego modułu.

Po części nagłówka następuje część implementacji. W tej części piszesz już własny program. Każda z pisanych procedur i funkcji musi składać się jeszcze raz z nagłówka a następnie z własnego kodu.

unit nazwa;
interface

uses Crt, Dos; {Można dodać inne moduły, z których korzysta Twój moduł}

{nagłówki własnych procedur i funkcji}
procedure moja_procedura(zmienna1, zmienna2 : Byte); {przykład definicji procedury}
function nowa_funkcja(parametr : Integer) : Integer; {przykład definicji funkcji}


implementation {część implementacyjna}

procedure moja_procedura(zmienna, zmienna2 : Byte); {przykład definicji}
begin
  WriteLn('Wpisałes liczby: ', zmienna, ' i ', zmienna2);
end;

{jeszcze raz nagłówek, ale już z implementacją}
function nowa_funkcja(parametr : Integer) : Integer;
begin
   nowa_funkcja := parametr * 5; {przykład tworzenia wyniku funkcji}
end;

end.

A jak w swoim programie użyć własnego modułu? Najpierw trzeba skompilować taki moduł. Służy do tego klawisz F9. Przeznaczenie (Destination) musi być ustawione na Disk. Wstęp do programowania opisuje jak ustawić te opcje.

Jeżeli powyższy moduł nazwałbyś nazwa.pas to mogłoby to wyglądać następująco:

program test_modulu;

uses nazwa; {Dodajemy własny moduł do listy dostępnych}

begin
  moja_procedura(1, 2);  {tu już korzystamy z własnych procedur i funkcji}
  WriteLn('nowa_funkcja(2) da wynik: ', nowa_funkcja(2));
end.

Moduły powinny być pogrupowane tematycznie. Możesz na przykład utworzyć moduł obsługujący myszkę, moduł do obsługi klawiatury, do grafiki, muzyki oraz inne.

Jeżeli chciałbyś zdobyć więcej wiedzy na temat własnych modułów, przede wszystkim musisz samemu poeksperymentować. Nie bój się wymyślać nowych rozwiązań. Spróbuj zrozumieć zasady programowania.


Wyszukiwarka

Podobne podstrony:
7 TurboPascal Moduły (units)
Chapter 8 Magnetostratigraphic polarity units
Language and Skills Test 5B Units 9 10
16 1 Moduły finansowe i ich połączenie z logistyką i produkcją
Language and Skills Test 4A Units 7 8
Language and Skills Test 7A Units 13 14
Moduły pamięci
moduły
Language and Skills Test: Units 5 6
Language and Skills Test* Units 3 4(1)
Language and Skills Test; Units 5 6
3 EDUKACJA MEDIALNA-I stacjonarne, naukowe, pipek, progtamy kształcenia, moduły
Language and Skills Testz Units 14
The History of the USA 9 Civil War and Reconstruction (units and)
Language and Skills TestZ Units 9 10

więcej podobnych podstron