Delphi - A konzol ablak adatainak lekérdezése

Konzol alkalmazások 3. rész

forráskód letöltése
Sorozatunk utolsó részében megvizsgálunk néhány olyan, eddig még nem használt függvényt, amellyel a konzol ablak tulajdonságait kérdezhetjük le. Készítünk egy példaprogramot is, amely megjeleníti a lekérdezett információkat.
A konzol ablak legnagyobb méretét, amelyet monitorunkon felvehet a GetLargestConsoleWindowSize függvénnyel kérdezhetjük le.
c:=GetLargestConsoleWindowSize(FHandle);
A c egy Coord típusú változó. A c változó X értéke az oszlopok számát, Y értéke pedig a sorok számát kapja eredményül.
Az ablakban használt billentyűzetkiosztás kódlapjának számát a GetConsoleOutputCP függvény szolgáltatja. A függvénynek semmilyen bemenő paramétere nincs. Visszatérési értéke pedig a kódlap azonosító száma.
A konzol képernyő kurzorának adatait az alábbi függvénnyel kérdezhetjük le.
GetConsoleCursorInfo(FHandle,Info);
FHandle a buffert azonosítja. Az Info egy TConsoleCursorInfo struktúra, amely a kurzor méretéről és láthatóságáról tartalmaz információkat.
WriteLn('A kurzor merete: ',Info.dwSize);
if Info.bVisible then WriteLn('A kurzor lathato.') else WriteLn('A kurzor nem lathato.');
A dwSize a kurzor méretét adja meg. A bVisible értéke igaz, ha a kurzor látható, hamis, ha nem látható.
Az ablakban használható egérgombok számát a GetNumberOfConsoleMouseButtons függvény adja eredményül.
GetNumberOfConsoleMouseButtons(i);
A gombok száma az i változóba kerül.

Konzol alkalmazások cikksorozat