HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Képernyő törlése és menü készítése konzol alkalmazásokban


Konzol alkalmazások 1. rész

Példaprogram letöltése

2874 bájt

Most induló sorozatunkban megismerkedhetünk a konzol alkalmazások további lehetőségeivel és függvényeivel. Ebben a részben megnézzük, hogy hogyan lehet letörölni egy konzol képernyőt, és hogyan tudjuk azon pozícionálni a kurzort. Az eljárások használatát egy menü segítségével ki is próbáljuk.

Példaprogramunkban egy kis számológépet készítünk el. A program bekér két számot, majd azokon elvégezhetjük a négy alapműveletet. A műveletek közül egy menü segítségével lehet választani.
A konzol ablakban nem használunk ékezeteket.
A konzol képernyő azonosítására szükségünk van egy THandle változóra.
FHandle:=GetStdHandle(STD_OUTPUT_HANDLE);
Rögtön a program indulásakor állítsuk be az ablak méretét.
c.X:=80; c.Y:=25;
SetConsoleScreenBufferSize(FHandle,c);
Ezután kezdjük a képernyőtörlést megvalósító eljárás elkészítését. Az eljárásnak adjuk a CLS nevet. A képernyőt úgy töröljük le, hogy üres sorokat írunk az első sortól kezdődően az utolsóig. Ehhez tudnunk kell azt, hogy hány sorunk van. A sorok számát az alábbi módon kérdezhetjük le.
GetConsoleScreenBufferInfo(FHandle,SBI);
A függvény az SBI: TConsoleScreenBufferInfo struktúrába menti el a konzol adatait. Ennek az Y értéke adja meg a sorok számát.
Hozzunk létre egy GotoXY eljárást is, amely segítségével a kurzort pozícionálhatjuk az ablakban.
procedure GotoXY(X,Y : Integer);
begin
  c.X:=X; c.Y:=Y;
  SetConsoleCursorPosition(FHandle,c);
end;
A SetConsoleCursorPosition API függvény szolgál a pozícionálásra.
Több eljárásra nincs is szükségünk, jöhet a program elkészítése.
Két számot kérünk be, az i és j változókba. Ezeken végezzük el a menüben kiválasztott műveletet.
Egy konzolos menü megvalósításához célszerű a repeat – until ciklust használni. A ciklus magjában le kell törölnünk a képernyőt, el kell helyeznünk a menüpontokat. A menüpontok kirajzolásához használjuk a GotoXY eljárást. A választási lehetőség biztosításához elegendő egy Byte változó, amelybe a felhasználó választását olvassuk be. Ezt egy Case szerkezetben ki is tudjuk értékelni, és végre tudjuk hajtani a megfelelő műveletet. A ciklusnak addig kell futnia, ameddig a változó értéke nem egyezik meg a kilépési menüponthoz tartozó értékkel.

Cikksorozat

#IDKategóriaCikk címeSorozat
1099DelphiDBChart komponens felhasználása1. rész
1113DelphiTDBChart komponens2. rész
1122DelphiTDBChart komponens3. rész
1132DelphiTDBChart komponens4. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 717. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |