NOVINKA: Začni v IT jako webmaster s komplexním akreditovaným online kurzem Tvůrce WWW stránek. Zjisti více:
NOVINKA: Staň se datovým analytikem od 0 Kč a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:
Funkce, kterou se snažíš použít je dostupná pouze pro registrované uživatele. Buďto se přihlas nebo si zdarma vytvoř nový účet.
Funkce, kterou se snažíš použít je dostupná pouze pro registrované uživatele. Buďto se přihlas nebo si zdarma vytvoř nový účet.
Funkce, kterou se snažíš použít je dostupná pouze pro registrované uživatele. Buďto se přihlas nebo si zdarma vytvoř nový účet.

Programování v jazyce C - Barvy textu

Dnes si ukážeme, jak si "vyzdobit" naší aplikaci barvami textů.

Co budeme potřebovat?

Určitě nějakou knihovnu a právě proto si includneme hlavičkový soubor windows.h.

#include <windows.h>

Uděláme si funkci barvy.

void barvy(void);

Dále už k tvoření samotné funkce. Jak už jsem říkal, musíme mít naincludovaný hlavičkový soubor windows.h. Ukázka funkce.:

void barvy(void)
{
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
    FOREGROUND_GREEN);
}

FOREGROUND_IN­TENSITY je vlastně takové zesvětlení, FOREGROUND_GREEN je samozřejmě barva zelená. Nyní bude barva výrazně zelená skoro jako v matrixu. ^^ Pokud FG intensity dáme pryč vznikne nám barva tmavě zelená.

void barvy(void)
{
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
    FOREGROUND_GREEN); // tmavě zelená
}

A takto jdou míchat různé barvy například.:

void barvy(void)
{
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
    FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); // bílá
}
void barvy(void)
{
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),0); // černá
}

A do kódu budeme psát už jen barvy();. Také můžeme dát všechny barvy do switche a tím získat funkci s proměnnou a nemusíme na každou barvu psát novou funkci.

void barvy(int);

void barvy(int barvy)
{
    switch(barvy)
    {
        case 1: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),0);//černá
        break;
        case 2: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
            FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); // bílá
        break;
    }
}

Nyní už můžeme psát do kódu následovně.:

barvy(1);
printf("black");
barvy(2);
printf("white");

 

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 405x (1.38 kB)
Aplikace je včetně zdrojových kódů v jazyce C

 

Všechny články v sekci
Zdrojákoviště jazyka C - Základní konstrukce
Článek pro vás napsal Зайчик
Avatar
Uživatelské hodnocení:
2 hlasů
Коммунизм для нашего будущего!
Aktivity