PEŁNY KURS TURBO PASCALA - część IV
podstawowe polecenia modułu CRT
Wypadałoby tu zacząć od wyjaśnienia słowa „moduł”. Otóż w Pascalu jest pełno poleceń, a wszystkie one nie są zasługą samego Pascala. Czasami do Pascala trzeba dorzucić jakiś moduł, aby one zadziałamy. Moduł CRT jest już w Pascalu wbudowany. Jest często stosowany w najróżniejszych programach i myślę, że ma użyteczne funkcję. Wszystkie moduły (nie tylko CRT) trzeba najpierw zdeklarować zanim się ich użyje, (czyli zanim użyje się ich poleceń). Zmienne deklarowaliśmy poleceniem „VAR”, natomiast moduły deklarować będziemy za pomocą słówka „USES”. Wpisujemy to jeszcze przed „VAR” na samym początku programu. Sam moduł tak właściwie niczym nie jest - daje tylko możliwość stosowania kilku nowych poleceń. Właśnie te kilka poleceń poznasz na tej lekcji. Zatem, najprostszy program, który ma moduł CRT, wygląda tak:
USES CRT;
BEGIN
END.
W ten właśnie sposób deklarujemy moduł CRT. Zwróć uwagę, że po słówku „USES” nie ma żadnego znaku. Na końcu linii pamiętamy oczywiście o średniku. Tak zdeklarowany moduł możemy wykorzystać. Najważniejsze z jego poleceń to:
CLRSCR;
To skomplikowane polecenie jest dość użyteczne. Po prostu czyści ekran z jakiegokolwiek tekstu. Każdy tekst znajdujący się po tym poleceniu będzie wyświetlany na czystym ekranie (żadnych innych rzeczy tam nie będzie jak dotychczas). Spróbuj napisać następujące programy i zobacz sam różnice:
USES CRT;
BEGIN
write('Jakiś tekst');
readln;
END.
USES CRT;
BEGIN
clrscr;
write('Jakiś tekst');
readln;
END.
Najpierw spróbuj włączyć pierwszy program, a potem drugi. Widzisz różnice?
DELAY(x);
Polecenie to daje możliwość wstrzymania programu na określoną ilość czasu (przydaje się zwłaszcza w programach demonstracyjnych). Za „x” wstawiamy czas, na jaki program ma być wstrzymany (1000 to jedna sekunda). Przykład programu z zastosowaniem polecenia DELAY znajduje się poniżej:
USES CRT;
BEGIN
write('Jakiś tekst numer 1');
delay(3500);
write('Jakiś tekst numer 2');
readln;
END.
Powyższy program napisze pierwsze zdanie i po upływie trzech i pół sekundy - drugie zdanie. Nie jest to chyba zbyt skomplikowane.
SOUND(x);
Przyszedł najwyższy czas, aby zademonstrować dźwięk. Nie będzie to dźwięk wydawany z głośników, a z tegoż urządzona, co się znajduje w środku komputera. Za „x” wstawiamy tzw. częstotliwość, tak samo jak w przypadku „DELAY”. Samo polecenie „SOUND” nam nic nie da, gdyż komputer szybko odegra ten dźwięk i pojedzie dalej. Zaraz po poleceniu „SOUND” najlepiej stosować polecenie „DELAY”, które zatrzyma dźwięk na określoną ilość czasu. W ten sposób możemy już grać proste melodyjki. Z osobistych doświadczeń wiem, że niektórzy nie wytrzymują dźwięku o częstotliwości 2200. Radzę popróbować. Ale najpierw przeczytajcie jeszcze poniższe polecenie.
NOSOUND;
Służy do przerywania jakiegokolwiek dźwięku wydobywającego się ze spikera. Na końcu programu radzę to stosować, bo może okazać się, że dźwięk nie ustanie. W celu przećwiczenia tych funkcji radzę napisać następujący program:
USES CRT;
BEGIN
sound(2200);
delay(5000);
nosound;
END.
Program ten przez pięć sekund da nam bardzo denerwujący dźwięk.
GOTOxy(współrzędne);
Załóżmy, że chcemy aby nasz tekst zaczynał się mniej więcej w środku ekranu. Stosowanie pięćdziesiąt razy polecenia „WRITELN;” a potem odmierzenie ilości spacji byłoby nieco niewygodne. Dlatego właśnie powstało polecenie „GOTOxy”. Polecenie to rozkazuje przejście kursora do danej pozycji. Aby wszystko ładnie wyglądało, warto by było przedtem użyć „CLRSCR”. Po poleceniu „GOTOxy” podajemy w nawiasach współrzędne. Pierwsza współrzędna jest odległością w poziomie (ilość kratek od lewej strony ekranu), druga zaś jest odległością w pionie (ilość kratek od górnej części ekranu). Możemy, więc napisać poniższy program.
USES CRT;
BEGIN
clrscr;
gotoxy(30,15);
write('Jakiś tekst');
readln;
END.
Powyższy tekst zaczynać się będzie w trzydziestej kolumnie i piętnastym wierszu. A teraz spróbujcie użyć ten sam program, ale bez polecenia „CLRSCR”, a zobaczycie jak beznadziejnie będzie on wyglądał.
HALT;
W zasadzie, to polecenie „HALT” nie jest w składzie modułu CRT, i działa również bez niego, jednak chciałem go teraz opisać. Nie będzie to zbyt zawiłe, gdyż polecenie to robi nic innego, jak wychodzi z programu. Jak tylko program napotka to polecenie na swojej drodze, od razu przerywa program i natychmiast z niego wychodzi. Nie muszę chyba więcej wyjaśniać.
Jest oczywiście jeszcze wiele innych poleceń ze składni modułu CRT, ale staram się, aby wszystkie te polecenia były przyswajane powoli. Na razie powinieneś poćwiczyć z tym, co już umiesz. Dam ci małe zadanie domowe. Zrób program, który napisze najpierw kilka zdań, potem obliczy iloczyn dowolnych dwóch liczb wprowadzanych przez użytkownika, a na końcu wyświetli na środku ekranu napis „DOWIDZENIA!!!” przez pięć sekund. Niezłe zadanko, co? Ty już to umiesz!!!
3