HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Színek használata konzol alkalmazás feliratainál


Konzol alkalmazások 3. rész

Példaprogram letöltése

3765 bájt


Konzol alkalmazás készítésekor arra is lehetőségünk van, hogy a megjelenítendő karakterek ne csak egy színnel jelenjenek meg, hanem egy általunk választott tetszőleges színnel.

A megvalósítandó példában egy ciklus segítségével folyamatosan írunk ki számokat a konzol ablakba úgy, hogy minden számnak véletlenszerű színe legyen.

A színek kezelésénél tudnunk kell, hogy maximum csak 16 különböző áll rendelkezésünkre, tehát nem használhatunk RGB színeket. E 16 szín a három alapszínből (piros, zöld és kék) keverhető ki, melyhez hozzájön még egy intenzitás mértékét befolyásoló lehetőség. Adott ehhez négy konstans:
  FOREGROUND_BLUE = 1;
  FOREGROUND_GREEN = 2;
  FOREGROUND_RED = 4;
  FOREGROUND_INTENSITY = 8;
E négy konstans tetszőleges módon kombinálható egymással, így előállhat a 16 különböző szín. Piros esetén értelemszerű, hogy a FOREGROUND_RED konstans-t kell használnunk. Ha sárga színt szeretnénk, akkor az a FOREGROUND_RED + FOREGROUND_GREEN kombinációból kerül ki.

Az egyszerűbb kezelés kedvéért készítünk egy felsorolt típust, melyhez társítunk egy konstans tömböt:
type
  TConsoleColor=(ccRed, ccMaroon, ccLime, ccGreen, ccBlue, ccNavy, ccFuchsia, ccPurple, ccAqua,
      ccTeal, ccYellow, ccOlive, ccBlack, ccWhite, ccSilver, ccGray);

const
  CONSOLECOLOR: array[TConsoleColor] of DWORD=(
    FOREGROUND_RED or FOREGROUND_INTENSITY,
    FOREGROUND_RED,
    FOREGROUND_GREEN or FOREGROUND_INTENSITY,
    FOREGROUND_GREEN,
    FOREGROUND_BLUE or FOREGROUND_INTENSITY,
    FOREGROUND_BLUE,
    FOREGROUND_RED or FOREGROUND_BLUE or FOREGROUND_INTENSITY,
    FOREGROUND_RED or FOREGROUND_BLUE,
    FOREGROUND_GREEN or FOREGROUND_BLUE or FOREGROUND_INTENSITY,
    FOREGROUND_GREEN or FOREGROUND_BLUE,
    FOREGROUND_RED or FOREGROUND_GREEN or FOREGROUND_INTENSITY,
    FOREGROUND_RED or FOREGROUND_GREEN,
    0,
    FOREGROUND_RED or FOREGROUND_GREEN or FOREGROUND_BLUE or FOREGROUND_INTENSITY,
    FOREGROUND_RED or FOREGROUND_GREEN or FOREGROUND_BLUE,
    FOREGROUND_INTENSITY
  );

Ezek után egy-egy szín értékét már könnyedén meghatározhatjuk. Például sárga szín:
  CONSOLECOLOR[ccYellow]

Mielőtt adatot írnánk a konzol ablakba, állítsuk be az aktuális színt, melyhez a SetConsoleTextAttribute függvény hívása szükséges. Itt első paraméterként meg kell adnunk a szokásos azonosítót, melyet a GetStdHandle függvény ad. Másodikként pedig a szín értékét, mely 0 és 15 közötti szám esetén a betűszínt határozza meg.
  SetConsoleTextAttribute(FHandle, CONSOLECOLOR[ccLime]);
  WriteLn('Start');





Cikksorozat

#IDKategóriaCikk címeSorozat
3916WindowsA javascript nyelv bemutatása1. rész
3946WindowsJavascript változók és operátorok2. rész
3975WindowsKódvezérlés JScript-ben3. rész
4004WindowsFüggvények és objektumok4. rész
4036WindowsFejlett funkciók a JavaScript nyelvben5. rész
4066WindowsFejlett funkciók a JavaScript nyelvben - folytatás6. rész
4116WindowsReguláris kifejezések7. rész
4145WindowsReguláris kifejezések - folytatás8. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2001 évkönyv 634. 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 |