online kép - Fájl  tubefájl feltöltés file feltöltés - adja hozzá a fájlokat onlinefedezze fel a legújabb online dokumentumokKapcsolat
  
 

Letöltheto dokumentumok, programok, törvények, tervezetek, javaslatok, egyéb hasznos információk, receptek - Fájl kiterjesztések - fajltube.com

 

Online dokumentumok - kep
  

A CRT unit fontosabb beépített konstansai, eljarasai, függvényei, hasznalata

számítógépes

Fájl küldése e-mail



egyéb tételek

 
Halózatok halózata: az internet
Szamítógép halózatok
IP labor A ping parancs végrehajtasi üzeneteinek elfogasa
Alkalmazasok
MILYEN HÍRFORRÁSOKAT ISMER? A HÍRFORRÁSOK KÖZÜL MELYEKET KELL ELLENŐRIZNI ÉS HOGYAN?
Szamrendszerek
Szamítógépes rendszer
Állomanykezelés
Az elsődleges operaciós rendszer telepítése és üzemeltetése
BGP - Border Gateway Protokol
 
 

A CRT unit fontosabb beépített konstansai, eljárásai, függvényei, használata

Minden program egyik legfontosabb része - a lényegi problémamegoldás és a hibakezelés mellett - a felhasználói felület, melyen keresztül a felhasználó a programmal kapcsolatot tart. Nagyon fontos a megfelelõ kialakítása, mivel a program használata során mindig tudni kell milyen lehetõségek állnak rendelkezésre a továbblépésre, illetve hogyan lehet javítani hiba esetén. A felhasználói felület kialakítása során két lehetõség közül választhatunk: szöveges és grafikus felület. Figyelembe kell venni a program által támasztott követelményeket - függvényábrázolást oktató programot nem célszerû szöveges felületen írni - és a számítógép hardver kiépítettségét (videokártya, monitor). A hardver tényezõk ma már kevésbé okozna 858d34i k problémát az SVGA monitorok széleskörû elterjedése miatt. Amennyiben a szöveges felület mellett döntünk, Turbo Pascal programok esetében a CRT unit tartalmazza a szükséges eljárásokat, függvényeket, konstansokat.

A szöveges felületet használó programok elsõ sora általában: Uses CRT; azaz a program elején meg kell hívni a CRT unit-ot, hogy eljárásait, függvényeit, konstansait használhassuk a programunk írása során.
A szöveges mód egyik fontos jellemzõje a képernyõ karakterfelbontása, amely megmutatja, hogy vízszintesen és függõlegesen hány karakter jeleníthetõ meg a képernyõn. A karakterfelbontás általában 80x25 karakter, azaz a képernyõ egy sorába 80 karaktert írhatunk és 25 sor fér el egyszerre a képernyõn. Ettõl eltérõ értékkel találkozhatunk EGA és VGA monitorok esetében.
 

Az EGA és VGA monitorok karakterfelbontásai:



Monitortipus

Oszlopok száma

Sorok száma

EGA







VGA









 
 A képernyõ tipusa meghatározza a karakterfelbontás mellett az alkalmazható karakter és háttérszínek számát is. Színes monitor esetén 16 féle karakterszínt és 8 féle háttérszínt állíthatunk be. Monokrom monitorok esetében (Hercules, MonoVGA) a különféle színeket árnyalatok jelzik.

Mind a karakterfelbontást, mind a karakter- és háttérszínt beállíthatjuk a CRT unit eljárásainak és konstansainak segítségével.
 

A CRT unit beépített konstansai:

A képernyõ üzemmódjához kapcsolódó beépített konstansok:

Konstans

Érték

Karakterfelbontás

Értelmezés

BW40


40x25

Fekete-fehér

BW80


80x25

Fekete-fehér

CO40


40x25

Színes

CO80


80x25



Színes

Mono


80x25

Egyszínû (Hercules, MDA)

Font8x8


80x43 
80x50

EGA: 80x43 üzemmód 
VGA: 80x50 üzemmód


 A színekhez kapcsolódó beépített konstansok:
 

Konstans

Érték

Szín


Konstans

Érték

Szín

BLACK


Fekete

LIGHTBLUE


Világoskék

BLUE


Kék

LIGHTGREEN


Világoszöld

GREEN


Zöld

LIGHTCYAN


Világostürkiz

CYAN


Türkiz

LIGHTRED


Világospiros

RED


Piros

LIGHTMAGNETA


Világoslila

MAGNETA


Lila

YELLOW


Sárga

BROWN


Barna

WHITE


Fehér

LIGHTGRAY


Világosszürke

BLINK


Villogás

DARKGRAY


Sötétszürke




 
A fenti konstansokat a szövegszín, háttérszín és képernyõüzemmód beállításánál használhatjuk. Ezen kívül beállíthatunk még néhény speciális jellemzõt a CRT unit beépített változóinak segítségével. A változók beállításai programunk futása során fejtik ki hatásukat.
 

A CRT unit beépített változói:

CheckBreak: boolean
A programok futása általában megszakítható a Ctrl+Break billentyûkombináció segítségével. A CheckBreak változó segítségével ennek figyelését le lehet tiltani, tehát ha a programunk elején a CheckBreak változónak False értéket adunk, akkor a Ctrl+Break billentyûkombinációval a programot nem lehet megszakítani. Ha a változó értéke True, akkor a Ctrl+Break billentyûkombinációval a program megszakítható. Alapértelmezés szerinti értéke: True.
A CheckBreak változó értékét akkor célszerû beállítani, amikor a program már "be van lõve", mert egy végtelen ciklus esetén hasznos lehet, ha meg tudjuk szakítani a program futását.

CheckSnow: boolean
CGA tipusú monitorok esetében befolyásolja a megjelenítés minõségét.

DirectVideo: boolean
A Write és Writeln eljárások mûködését befolyásolja. Ha értéke True, akkor a Write és Writeln eljárások közvetlenül írhatnak a videomemóriába (amelynek kezdõcíme: $B800:$0000), ha értéke False, akkor a képernyõre íráshoz az eljárások BIOS megszakításokat használnak. A videomemória közvetlen kezelése lényegesen gyorsabb mûködést eredményez, ezért csak nagyon indokolt esetben célszerû a változó értékét módosítani.



LastMode: Word
Az utoljára beállított szöveges üzemmód kódját tartalmazza. Alkalmazása akkor szükséges, ha a program felváltva használ szöveges és grafikus képernyõt.

WindMin: Word; WindMax: Word
A beállított szöveges ablak (lásd késõbb) bal felsõ és jobb alsó sarkának abszolút (teljes képernyõre vonatkoztatott) koordinátáit tartalmazzák. A WindMin a bal felsõ, a WindMax a jobb alsó sarok koordinátáit tárolja. A változók alsó byte-ja az X, a felsõ byte-ja az Y koordináta tárolására szolgál. Az értékek a Low és High függvényekkel nyerhetõk vissza.
Példa:
Uses CRT;
Var X_1, Y_1, X_2, Y_2: Byte;
Begin
   
    X_1:= Low(WindMin);
    Y_1:= High(WindMin);

   
    X_2:= Low(WindMax);
    Y_2:= High(WindMax);

    Writeln('A szoveges ablak sarkainak koordinatai:');
    Writeln('Bal felso sarok: X= ', X_1, 'Y= ', Y_1);
    Writeln('Jobb also sarok: X= ', X_2, 'Y= ', Y_2);
End.
 
 
 

A CRT unit eljárásai, függvényei:

A CRT unit eljárásait, függvényeit négy csoportba sorolhatjuk:
    1. Mûködési paraméterek beállítása
    2. Be- és kiviteli mûveletek
    3. Képernyõkezelés
    4. Egyéb eljárások, függvények

Mûködési paraméterek beállítása:
Ebbe a csoportba tanroznak azok az eljárások, amelyek a szövegszínt, háttérszínt, üzemmódot állítják be.

HighVideo eljárás:
A karakterszín intenzitásának növelése.

LowVideo eljárás:
A karakterszín intenzitásának csökkentése.

NormVideo:
Az alapértelmezés szereinti karakterszín és háttérszín beállítások visszaállítása. Az alapértelmezett karakterszín: LIGHTGRAY, az alapértelmezett háttérszín: BLACK.

TextBackground eljárás:
A háttérszín beállítása. Szintaxisa: TextBackground(Háttérszín);
A háttérszín beállításához használhatjuk a CRT unit beépített konstansai és azok értékét is. Tehát TextBackground(BLACK) és TextBackground(0) egyenértékû. A beállítás után a Write és Writeln eljárások a beállított háttérszínnel fogják a képernyõre írni az adatokat. Ha a teljes képernyõre szeretnénk a beállításokat érvényesíteni, alkalmazzuk a ClrScr eljárást.

TextColor eljárás:
A karakterszín beállítása. Szintaxisa: TextColor(Karakterszín);
A karakterszín beállításához használhatjuk a CRT unit beépített konstansai és azok értékét is. Tehát TextColor(BLUE) és TextColor(1) egyenértékû. A beállítás után a Write és Writeln eljárások a beállított karakterszínnel fogják a képernyõre írni az adatokat.

TextMode eljárás:
A képernyõ üzemmódjának (karakterfelbontás) beállítása. Szintaxisa: TextMode(Mod);
Az uzemmod beállításához használhatjuk a CRT unit beépített konstansait és azok értékét is. Tehát TextMode(Font8x8) és TextMode(256) egyenértékû. Az üzemmód megváltoztatását automatikus képernyõtörlés elõzi meg (mivel a karakteres videomemória mérete megváltozik).

Window eljárás:
A szöveges képernyõablak kijelölése. Szintaxisa: Window(X1, Y1, X2, Y2);
Ahol X1 és Y1 a képernyõablak bal felsõ sarka, X2, Y2 a képernyõablak jobb alsó sarka. A sarkok koordinátái mindig a teljes képernyõre vontakozó abszolút koordináták.
A szöveges képernyõn kijelölt alapértelmezett ablak mindig - a karakterfelbontáshoz igazodva - teljes méretû. Tehát, ha a karakterfelbontás 80x25, akkor az ablak koordinátái: 1,1,80,25. Az ablak méretét és helyzetét a Window eljárás segítségével megváltozathatjuk. A szöveges képernyõn egyszerre csak egy ablakot használhatunk. Miután az aktív ablak méretét módosítottuk a további eljárások ezen az ablakon belül relatív koordinátákkal dolgoznak.
 



Be- és kiviteli mûveletek:
A be- és kiviteli mûveletek csoportjába tartoznak azok az eljárások és függvények, melyek segítségével az I/O egységek kezelését tudjuk megvalósítani.

Read eljárás:
Egy vagy több változó értékének beolvasása a billentyûzetrõl. Szintaxis: Read(VáltozóLista);
A változók értékeit ENTER választja el, tehát ha több változót olvasunk be egyszerre (ami szerintem nem célszerû), akkor minden érték után le kell ütni az ENTER-t.

Readln eljárás:
Egy vagy több változó értékének beolvasása a billentyûzetrõl. Szintaxis: Read(VáltozóLista);
A változók értékeit vesszõvel választhatjuk el egymástól.

ReadKey függvény:
Egy karakter beolvasása a billentyûzetrõl. Szintaxisa: ch:= Keypressed; vagy Keypressed;
A második esetben a beolvasott karakter értéke elvész.

Keypressed függvény:
Billentyûlenyomás ellenõrzése. Szintaxisa: Log:= Keypressed vagy Keypressed;
Visszatérési értéke logikai (Boolean) érték, amely True, ha történt billentyûlenyomás, egyébként False;
Leggyakrabban ciklusfeltételben alkalmazzuk:
Repeat Until Keypressed;

Write eljárás:
Adatok írása a képernyõre. Szintaxisa: Write(Adatlista);
Az adatlistában szerepelhetnek konstans értékek, konstans azonosítók, illetve változóazonosítók. Megadhatjuk az egyes adatok után a mezõszélességet, amely meghatározza, hogy az adat hosszúságától függetlenül hány karakterhelyet foglalhat el a képernyõn. A mezõszélességet általában numerikus adatok esetében határozzuk meg, mivel alapértelmezés szerint az eljárás normál alakban írja a képernyõre a lebegõpontos számokat (változókat, konstansokat egyaránt). A mezõszélességet egy számmal adjuk meg, és kettõsponttal választjuk el az adattól. Pld: Writeln(A:10:2); ahol A Real tipusú változó.

Writeln eljárás:
Adatok írása a képernyõre. Szintaxisa: Writeln(Adatlista);
Használata hasonló az elõzõ eljáráshoz, közöttük a különbség, hogy a Writeln eljárás az adatsor képernyõre írása után elvégzi a soremelést, tehát a Writeln használata után a kurzor a következõ sor elejére ugrik.
 



Képernyõkezelés:
Ebbe a csoportba soroljuk azokat az eljárásokat, függvényeket, amelyek a kurzor mozgatásával, illetve a szöveges képernyõ sorainak, oszlopainak kezelésével kapcsolatos feladatokat látják el.

ClrScr eljárás:
A képernyõ törlése. Szintaxisa: ClrScr;
A képernyõ tartalmát törli, a kurzor az elsõ oszlop elsõ sorába ugrik. Az eljárás figyelmebe veszi a beállított háttérszínt ("iylen színûre törli a képernyõt").

ClrEol eljárás:
Az eljárás törli az aktuális (a kurzort tartalmazó) sor tartalmát, a kurzor pozíciójától a sor végéig. Szintaxisa: ClrEol;

WhereX függvény:
A kurzort tartalmazó oszlop sorszáma. Szintaxisa: X:= WhereX;
A függvény visszatérési értéke Byte tipusú.

WhereY függvény:
A kurzort tartalmazó sor sorszáma. Szintaxisa: Y:= WhereY;
A függvény visszatérési értéke Byte tipusú.

DelLine eljárás:
A kurzort tartalmazó sor törlése. Szintaxisa: DelLine;
A kurzor sorától lentebb lévõ sorok felfelé mozdulnak. Hasonló a ClrEol eljáráshoz, de a DelLine esetén a teljes sor törlére kerül, míg a ClrEol eljárás csak a sor tartalmát módósítja.

InsLine eljárás:
Üres sor beszúrása. Szintaxisa: InsLine;
A kurzort tartalmazó sor felé egy üres sort szúr be. A lentebb lévõ sorok lefelé mozdulnak.
 



Egyéb eljárások, függvények:
Ebbe a csoportba tartoznak a hangkeltéssel kapcsolatos, illetve a programfutás felfüggesztését segítõ eljárások.

Delay eljárás:
A program futásának felfüggesztése. Szintaxisa: Delay(Idotartam);
Az idõtartamot ezredmásodpercben kell megadni. Az Idotartam Word tipusú változó vagy konstans.

Sound eljárás:
A belsõ hangszóró bekapcsolása. Szintaxis: Sound(Frek);
A Frek egy Word tipusú változó vagy konstans, a hangmagasságot határozza meg.

NoSound eljárás:
A belsõ hangszóró kikapcsolása. Szintaxisa: NoSound;
Ha a Sound eljárással a belsõ hangszórót bekapcsoltuk, minden esetben alkalmazni kell a NoSound eljárást, mert a hangszóró mindaddig nem kapcsol ki, amíg ezt az eljárást meg nem hívjuk (vagy a gépet ki nem kapcsoljuk).
 



: 907