Ver. 1.0 Beta, Nie masz kompilatora? Teraz mo瞠sz pisa skrypty ONLINE! Wersja podstawowa -nie zawiera wszystkich polece Pascala. S逝篡 do nauki podstaw

Pisanie w豉snych modu堯w w Turbo Pascalu i Delphi

Pascal

Wsteczwstecz Procedury i funkcje
W g鏎w g鏎 Podstawy Pascala
Dalejdalej Data i czas

Pisanie w豉snych modu堯w w Turbo Pascalu i Delphi

Modu造 (units)


Modu Crt
Modu Graph
Modu Dos
W豉sne modu造



Modu Crt


Modu Crt zawiera procedury i funkcje przydatne w prostych operacjach u篡wanych przewa積ie w trybie tekstowym. Polecenia modu逝 Crt pomagaj te w odczytywaniu stanu klawiatury.



ClrScr; -Procedura powoduj帷a wyczyszczenie zawarto軼i ekranu i ustawienie kursora graficznego w lewym g鏎nym rogu.


ClrEol; -Procedura kt鏎a czy軼i lini tekstu od pozycji kursora do ko鎍a lini.


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


DelLine; -Procedura czy軼i ca陰 linie, w kt鏎ej znajduje si kursor


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


HighVideo; -Rozja郾ia kolory, tzn. je瞠li wpiszesz ciemny czerwony i co chcesz nim narysowa, b璠zie narysowane to jasnym czerwonym.


InsLine; Wstawia pust lini tam, gdzie si znajduje kursor a reszt przenosi w d馧.


KeyPressed - Funkcja kt鏎a zwraca warto嗆 TRUE je瞠li zosta naci郾i皻y klawisz lub FALSE je瞠li nie.


LowVideo -Przyciemnia kolory patrz HighVideo.


NormVideo -Przywraca normalne kolory.


NoSound; -Wy陰cza d德i瘯 ze SPEAKERA (g這郾iczka wbudowanego w komputer).


ReadKey; -Wczytuje wci郾i皻y klawisz z klawiatury.


Sound(Hz:Word); -W陰cza d德i瘯 w SPEAKERZE o cz瘰totliwo軼i Hz, np. aby wyda d德i瘯 o cz瘰totliwo軼i 200Hz musisz wpisa: Sound(200); Najmniejsz liczb jaka mo瞠 by u篡ta jako d德i瘯 mo瞠 by warto嗆 oko這 60 Hz!


TextBackground(kolor:Byte); Ustawia kolor t豉 pod tekstem. Standardowo jest czarne. Poni瞠j podano jaki kolor odpowiada jakiej liczbie. Przyk豉d u篡cia : TextBackground(5);


TextColor(kolor:Byte); Ustawia kolor liter na warto嗆 jak przyjmuje zmienna kolor. Przyk豉d u篡cia : TextColor(15); lub je郵i masz jak捷 zmienn np. k:=15; piszesz TextColor(k);


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


WhereX; -Funkcja, kt鏎a przyjmuje warto嗆 typu Byte zawieraj帷 pozycj poziom (inaczej pozycja X) kursora tekstowego.


WhereY; -Funkcja przyjmuje pozycj Y kursora.


Window(X1,Y1,X2,Y2:Byte); Procedura ta ustawia w pami璚i okno, w kt鏎ym mo積a pisa. Od tej pory ka盥y tekst b璠zie wypisywany w tym oknie. X1 oznacza od kt鏎ego znaku w poziomie ma si zaczyna okno, Y1 -od kt鏎ego ma si zaczyna okno w pozycji Y, a X2 i Y2 to wsp馧rz璠ne ko鎍owe, np. Window(10,10,70,15); Pozycja 1,1 to g鏎ny lewy r鏬 ekranu.


Warto軼i kolor闚

Kolory podane w poni窺zej tabelce s wykorzystywane w procedurach TextBackGround i TextColor a tak瞠 w trybie graficznym modu逝 Graph.




Numer

Nazwa koloru

Kolor

0

czarny


1

niebieski


2

zielony


3

cyan


4

czerwony


5

fioletowy


6

br您owy


7

j. szary


8

szary


9

j. niebieski


10

j. zielony


11

j. cyan


12

j. czerwony


13

j. fiolet


14

鄴速y


15

bia造



Modu Graph


Modu Graph jest odpowiedzialny za tworzenie grafiki w trybie VGA -czyli w niskich rozdzielczo軼iach. Standardowo u篡wa rozdzielczo軼i ekranu 640x480 oraz 16 kolor闚. Bardzo cz瘰to jest wykorzystywany podczas nauki programowania w szkole.


Dobrze nadaje si do tworzenia wykres闚, prezentowania wynik闚 oblicze. Jest do嗆 powolny i raczej nie stosuje si go do tworzenia animowanych gier komputerowych. Wymaga plik闚 ze sterownikami grafiki, np. egavga.bgi, kt鏎y domy郵nie znajduje si w katalogu BGI w Turbo Pascalu.


Najcz窷ciej u篡wane polecenia  (Dok豉dny 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鏎ych polece:

ClearDevice – Czyszczenie zawarto軼i ekranu


FloodFill – Wype軟ienie figury zadanym kolorem


Rectangle – Narysowanie prostok徠a


TextWidth – Sprawdzenie szeroko軼i napisu



Modu Dos


Modu 'Dos' odpowiada za funkcje systemowe. Potrafi przegl康a pliki i katalogi, odczytywa godzin i dat. Za jego pomoc tworzy si tak瞠 obs逝g tzw. przerwa -czyli podprogram闚, kt鏎e s wykonywane przy okre郵onych zdarzeniach (naci郾i璚ie klawisza, poruszenie myszk).


Najcz窷ciej u篡wane polecenia:
DiskFree, DiskSize, Exec, FindFirst, FindNext, GetDate, GetIntVec, GetTime, SetDate, SetIntVec, SetTime


Opis niekt鏎ych polece:

SetIntVec – ustawienie procedury, kt鏎a b璠zie si wykonywa podczas wywo豉nia przerwania


FindFirst, FindNext – Odnajdywanie plik闚 i katalog闚 na dysku.


Exec – Wykonanie innego programu



W豉sne modu造


Modu造 udost瘼nia nie tylko firma Borland, kt鏎a napisa豉 Turbo Pascala. Modu mo瞠 stworzy ka盥y, r闚nie Ty. Nie jest to nic skomplikowanego. Modu buduje si do嗆 podobnie do zwyk貫go programu. R闚nie trzeba utworzy nowy plik o rozszerzeniu .pas.


Modu rozpoczyna si od s這wa unit, a ko鎍zy s這wem end. (z kropk na ko鎍u). Ka盥y modu mo瞠 korzysta z innych, wcze郾iej stworzonych modu堯w. Przed u篡ciem innych modu堯w nale篡 wpisa s這wo kluczowe interface. Po ich u篡ciu nast瘼uje cz窷 nag堯wka.


Nag這wek pozwala zdefiniowa, kt鏎e procedury i funkcje b璠 widoczne dla innych tworzonych przez Ciebie plik闚. Cz窷 procedur i funkcji, kt鏎e znajduj si w Twoim module mo瞠 by 'prywatna', dost瘼na tylko wewn徠rz tego modu逝.


Po cz窷ci nag堯wka nast瘼uje cz窷 implementacji. W tej cz窷ci piszesz ju w豉sny program. Ka盥a z pisanych procedur i funkcji musi sk豉da si jeszcze raz z nag堯wka a nast瘼nie z w豉snego kodu.



unit nazwa;
interface

uses Crt, Dos; {Mo積a doda inne modu造, z kt鏎ych korzysta Tw鎩 modu逛

{nag堯wki w豉snych procedur i funkcji}
procedure moja_procedura(zmienna1, zmienna2 : Byte); {przyk豉d definicji procedury}
function nowa_funkcja(parametr : Integer) : Integer; {przyk豉d definicji funkcji}


implementation {cz窷 implementacyjna}

procedure moja_procedura(zmienna, zmienna2 : Byte); {przyk豉d definicji}
begin
  WriteLn('Wpisa貫s 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豉d tworzenia wyniku funkcji}
end;

end.

A jak w swoim programie u篡 w豉snego modu逝? Najpierw trzeba skompilowa taki modu. S逝篡 do tego klawisz F9. Przeznaczenie (Destination) musi by ustawione na Disk. Wst瘼 do programowania opisuje jak ustawi te opcje.


Je瞠li powy窺zy modu nazwa豚y nazwa.pas to mog這by to wygl康a nast瘼uj帷o:



program test_modulu;

uses nazwa; {Dodajemy w豉sny modu do listy dost瘼nych}

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

Modu造 powinny by pogrupowane tematycznie. Mo瞠sz na przyk豉d utworzy modu obs逝guj帷y myszk, modu do obs逝gi klawiatury, do grafiki, muzyki oraz inne.


Je瞠li chcia豚y zdoby wi璚ej wiedzy na temat w豉snych modu堯w, przede wszystkim musisz samemu poeksperymentowa. Nie b鎩 si wymy郵a nowych rozwi您a. Spr鏏uj zrozumie zasady programowania.


Strona korzysta z plik闚 cookie w celu 鈍iadczenia us逝g Google (reklamy, statytyki) oraz Facebook. Je郵i chcesz zablokowa pliki cookies wy豉cz je w swojej przegl康arce. Potrzebujesz pomocy? kliknij