Pascal programozás alap és haladó szinten!

Mindenkinek akit kicsit is érdekel ,de tudni akar! AZ övék ez a honlap!

7.jpg

Karakteres képernyõ kezelése - a CRT unit

A Crt egység a karakteres képernyõ, a billentyûzet valamint a hangszóró kezelését segítõ függvényeket, eljárásokat tartalmazza. Mint az egységek többsége, a Crt unit is definiál konstansokat, változókat.

Színek:

A karakteres képernyõ tartalma megtalálható az ún. képernyõ memóriában. Itt egy karaktert két bájton tárol el a rendszer, melyek a karakter ASCII kódja (1 bájt) valamint a karakter attribútuma (1 bájt). Ez utóbbi a színinformációt hordozza, az alábbi módon:

7 6 5 4 3 2 1 0

V R G B I R G B

A 0.-3. bit a karakter tintaszínét határozza meg, R, G, B az additív színkeverés három alapszíne, I pedig az intenzitás. Például 0100 - piros, 1100 - világospiros, 0101 - lila. A 4.-6. bitek a karakter háttérszínét kódolják. Ha a 7. bit (V) egyes, akkor a karakter villog.
A fentiekbõl következik, hogy összesen 16 tinta- és 8 háttérszínt használhatunk. A színek kódjait könnyen kiszámolhatjuk, ezeket a megfelelõ eljárásokban használhatjuk, de a könnyebb megjegyezhetõség kedvéért a Crt unit az alábbi szín konstansokat definiálja.
 

Tinta- és háttérszínek: 

További tintaszínek: 

Balck

0

Fekete

DarkGray

8

Sötétszürke

Blue

1

Kék

LightBlue

9

Világoskék

Green

2

Zöld

LightGreen

10

Világoszöld

Cyan

3

Türkiz

LightCyan

11

Világostürkiz

Red

4

Piros

LightRed

12

Világospiros

Magenta

5

Lila

LightMagenta

13

Világoslila

Brown

6

Barna

Yellow

14

Sárga

LightGray

7

Világosszürke

White

15

Fehér

Blink 128 Villogás

Pl: TextColor(Lightred+Blink), ezzel egyenértékû: TextColor(12 + 128) vagy TextColor(140).

Fontosabb eljárások, függvények:

Képernyõkezelés:
Függvények: WhereX, WhereY
Eljárások: TextBackground, TextColor, ClrScr, CrlEol, DelLine, InsLine, GotoXY, Window, NormVideo, TextMode

Billentyûzetkezelés:
Függvények: KeyPressed, ReadKey

Hang, késleltetés:
Eljárások: Sound, Delay, NoSound

Példa:
1. Mozgassunk egy téglalapot (egy kis képernyõt) benne egy szöveggel a képenyõn a kurzormozgató billentyûk segítségével!

Megoldás

Crt unit - példaprogram

program CrtPl;
uses Crt;
var  x1, x2, y1, y2: byte;
     c: char;
begin
  x1:=35; y1:=12; x2:=45; y2:=16;
  repeat
    {A régi ablak törlése}
    TextBackground(black);
    ClrScr;
    {Új ablak és a szöveg megjelenítése}
    Window(x1, y1, x2, y2);
    TextBackground(blue);
    TextColor(red);
    ClrScr;
    GotoXY(3, 3);
    WriteLn('szoveg');
    {Várakozás egy billentyû leütésére}
    c := ReadKey;
    {Ha a billentyûzetnek két bájtos kódja van (az elsõ bájt #0), a második bájt beolvasása.
     Ilyenek a kurzormozgató billentyûk.}
    if c = #0 then
      begin
        c := ReadKey;
        case c of
          #72: begin Dec(y1); Dec(y2) end; {Felfele nyíl}
          #80: begin Inc(y1); Inc(y2) end; {Lefele nyíl}
          #77: begin Inc(x1); Inc(x2) end; {Jobbra nyíl}
          #75: begin Dec(x1); Dec(x2) end; {Balra nyíl}
        end;
      end
    {Kilépés ESC-re}
  until c = #27;
  NormVideo;           {Eredeti színek visszaállítása}
  ClrScr
end.
5.jpg
 







Weblap látogatottság számláló:

Mai: 24
Tegnapi: 7
Heti: 35
Havi: 100
Össz.: 153 451

Látogatottság növelés
Oldal: Karakterlánc kezelés
Pascal programozás alap és haladó szinten! - © 2008 - 2024 - kerigseoszt.hupont.hu

A HuPont.hu-nál a honlap készítés egyszerű. Azzal, hogy regisztrál elkezdődik a készítés!

ÁSZF | Adatvédelmi Nyilatkozat

X

A honlap készítés ára 78 500 helyett MOST 0 (nulla) Ft! Tovább »