Lekcja 7 - Klawisze rozszerzone w menu i trybie tekstowym

Funkcje: ReadKey, Chr, Inc, Dec





Funkcja: ReadKey  zwraca nam kod wciśniętego klawisza. Np.:

program readkey;
uses CRT;
var
    klawisz : char;
Begin
WriteLn( 'Wcisnij którykolwiek klawisz');
klawisz:=ReadKey;
WriteLn('Wcisnąłeś klawisz o kodzie: ', znak);
end.

Program podaje nam kod klawisza (z tablicy znaków ASCII), który uprzednio wciśniemy.

Funkcja: Chr
Umożliwia nam wypiszanie na ekranie znaków, których nie da się wypisać przy pomocy klawiatury.
Możemy napisać tak:

program chr;
uses crt;
Var znak : char;
begin
ClrScr;
WriteLn('Wcisnij klawisz ENTER');
Repeat
znak:=ReadKey;
Until znak=Chr(13);
end.

Program zakończy się jedynie wtedy, kiedy wciśniemy klawisz o kodzie ASCII = 13, czyli ENTER.
Możesz tak wypisywać litery, ale będziesz miał wtedy więcej pisania, np.

program kody_ascii;
uses crt;
begin
clrscr;
writeln(#72,#69,#76,#76,#79);
repeat until keypressed;
end.

Właśnie wypisaliśmy wyraz: HELLO. Możesz sobie pomyśleć, że po co takie coś w ogóle jest. Po tym przykładzie przekonasz się, że musi być.
Zróbmy taki oto program:

program kody1_ascii;
uses crt;
begin
clrscr;
writeln(#171,#32,#172,#32,#1,#176,#32,#225);
writeln('To jest kurs autorstwa:'+chr(39)+'a');
repeat until keypressed;
end.

Tablicę znaków ASCII możesz ściągnąć z mojej strony: www.pascal-center.prv.pl
Jaki będzie efekt wykonania programu? Sprawdź sam, bo my przechodzimy do funkcji Inc
Funkcja ta zwiększa wartość zmiennej o jeden, np. kiedy zmienna o nazwie 'z' ma wartość 99 a my napiszemy Inc(z) to zmienna zmieni wartość na 100.
Funkcja ta nie zwiększa tylko liczb, ale także typy, np. kiedy zmienna o nazwie: cos:='a' i my napiszemy:
Inc(cos) to zmienna będzie miała wartość 'b'.

Teraz inna funkcja Dec  - wykonuje ona tą samą operację co funkcja Inc, tyle tylko, że na odwrót
czyli zmniejsza wartość zmiennej o 1.



Funkcje: TextBackground, TextColor



Funkcja: TextBackground zmienia tło ekranu tekstowego. Np.

program textbackground;
uses Crt;
begin
clrscr;
textbackground(14);
writeln('Hello');
repeat until keypressed;
end.

I mamy żółte tło!!!
Funkcja: TextColor zmienia kolor tekstu w trybie tekstowym. Np.

program textcolor;
uses Crt;
begin
clrscr;
textcolor(2);
writeln('Hello');
repeat until keypressed;
end.

A teraz mamy zielony tekst.


Wróć do strony głównej kursu