ZER DAKIDAN: Informazioa pantailan idazteko printf() funtzioa ezagutzen dut.
ZER IKASIKO DUDAN:
Informazioa koloretan pantailaratzen ikasiko dut.
Kontsolan testu bat idazten denean, bere kolorea eta atributuak aukera daitezke. Artikulo honen beheko aldean dauden tauletan biltzen diren ANSI ihes-sekuentziak kontsolan idazten diren testuen koloreak eta atributuak kontrolatzeko balio dute.
ANSI ihes-sekuentziei esker, kontrol-informazioa bidal daiteke kontsolara, irudikatutako testuaren atributuak aldatzeko. Modu horretan, honako hauek hauta daitezke:
Testuaren estiloa :
normala 0
argia/lauso 1
indartua/lodia 2
azpimarratua 4
klikalaria/keinukaria 5
alderantzizkoa 7
ezkutukoa 8
Hondoaren kolorea
Testuaren kolorea
Funtzionamendua erraza da. Kontsolara irteeran bidaltzen den informazioaren artean, testua irudikatzeko jarraibideak ematen dituzten ihes-sekuentziak daude.
Adibidez, printf() funtzioari "%sTestua pantailan%s" parametroa hau ematen bazaio, non lehen %s bitartez testuaren itxura zehazten den eta bigarren %s bitartez testua ohiko itxurar itzultzen duen.
Sintaxia hau izango litzateke: "\033 [x; xxx; xxxm"
Non x bakoitzak digitu bat irudikatzen duen. Lehen digituak estiloa zehazten du, bigarren digituak hondoren kolorea zehazten du eta hirugarren digituak testuaren kolorea zehazten du.
Esate baterako, hemen kode batzuk eta haien esanahiak:
"\033[0;43;36m" normala, hondoa marroia, testua zyana
"\033[4;102;34m" azpimarratua, hondoa berde distiratsua, testua urdina
"\033[5;47;101m" kliskalaria, hondoa zuria, testua gorri distiratsua
"\033[0m" ohiko itxurara itzuli
Kode horiek programa batean erabil ditzagun.
15-Jarduera_Koloreak proiektua
/* Ariketa-66_Koloreak: testuen koloreak */
#include <stdio.h>
// ANSI kolore kodeak
// ohikoa berreskuratu
#define RESET "\033[0m"
// testuaren kolore arruntak
#define BELTZA "\033[0,30m"
#define GORRIA "\033[0,31m"
#define BERDEA "\033[0,32m"
#define MARROIA "\033[0,33m"
#define URDINA "\033[0,34m"
#define MAGENTA "\033[0,35m"
#define ZYANA "\033[0,36m"
#define ZURIA "\033[0,37m"
// testuaren kolore distiratsuak
#define BELTZ_DISTIRATSUA "\033[90m"
#define GORRI_DISTIRATSUA "\033[91m"
#define BERDE_DISTIRATSUA "\033[92m"
#define MARROI_DISTIRATSUA "\033[93m"
#define URDIN_DISTIRATSUA "\033[94m"
#define MAGENTA_DISTIRATSUA "\033[95m"
#define ZYAN_DISTIRATSUA "\033[96m"
#define ZURI_DISTIRATSUA "\033[97m"
// hondoaren kolore arruntak
#define BELTZ_HONDOA "\033[0;40m"
#define GORRI_HONDOA "\033[0;41m"
#define BERDE_HONDOA "\033[0;42m"
#define MARROI_HONDOA "\033[0;43m"
#define URDIN_HONDOA "\033[0;44m"
#define MAGENTA_HONDOA "\033[0;45m"
#define ZYAN_HONDOA "\033[0;46m"
#define ZURI_HONDOA "\033[0;47m"
// hondoaren kolore distiratsuak
#define BELTZ_DISTIRATSUA_HONDOA "\033[0;100m"
#define GORRI_DISTIRATSUA_HONDOA "\033[0;101m"
#define BERDE_DISTIRATSUA_HONDOA "\033[0;102m"
#define MARROI_DISTIRATSUA_HONDOA "\033[0;103m"
#define URDIN_DISTIRATSUA_HONDOA "\033[0;104m"
#define MAGENTA_DISTIRATSUA_HONDOA "\033[0;105m"
#define ZYAN_DISTIRATSUA_HONDOA "\033[0;106m"
#define ZURI_DISTIRATSUA_HONDOA "\033[0;107m"
// konbinazio bat (hiru gai: itxura, hondoa eta testua)
#define Norma__H_BERDEA__T_URDINA "\033[0;44;32m"
#define Lauso__H_BERDEA__T_URDINA "\033[1;44;32m"
#define Betea__H_BERDEA__T_URDINA "\033[2;44;32m"
#define Azpim__H_BERDEA__T_URDINA "\033[4;44;32m"
#define Klisk__H_BERDEA__T_URDINA "\033[5;44;32m"
#define Alder__H_BERDEA__T_URDINA "\033[7;44;32m"
// konbinazio bat (hiru gai: itxura, hondoa eta testua)
#define Norma__H_ZYAN__T_MARROIDISTIRA "\033[0;46;93m"
#define Lauso__H_ZYAN__T_MARROIDISTIRA "\033[1;46;93m"
#define Betea__H_ZYAN__T_MARROIDISTIRA "\033[2;46;93m"
#define Azpim__H_ZYAN__T_MARROIDISTIRA "\033[4;46;93m"
#define Klisk__H_ZYAN__T_MARROIDISTIRA "\033[5;46;93m"
#define Alder__H_ZYAN__T_MARROIDISTIRA "\033[7;46;93m"
// konbinazio bat (hiru gai: itxura, hondoa eta testua)
#define Norma__H_BELTZDISTIRA__T_GORRI "\033[0;100;31m"
#define Lauso__H_BELTZDISTIRA__T_GORRI "\033[1;100;31m"
#define Betea__H_BELTZDISTIRA__T_GORRI "\033[2;100;31m"
#define Azpim__H_BELTZDISTIRA__T_GORRI "\033[4;100;31m"
#define Klisk__H_BELTZDISTIRA__T_GORRI "\033[5;100;31m"
#define Alder__H_BELTZDISTIRA__T_GORRI "\033[7;100;31m"
// konbinazio bat (hiru gai: itxura, hondoa eta testua)
#define Norma__H_MAGENTADISTIRA__T_ZYANA "\033[0;105;36m"
#define Lauso__H_MAGENTADISTIRA__T_ZYANA "\033[1;105;36m"
#define Betea__H_MAGENTADISTIRA__T_ZYANA "\033[2;105;36m"
#define Azpim__H_MAGENTADISTIRA__T_ZYANA "\033[4;105;36m"
#define Klisk__H_MAGENTADISTIRA__T_ZYANA "\033[5;105;36m"
#define Alder__H_MAGENTADISTIRA__T_ZYANA "\033[7;105;36m"
// konbinazio bat (hiru gai: itxura, hondoa eta testua)
#define Norma__H_ZURIDISTIRA__T_URDINA "\033[0;107;34m"
#define Lauso__H_ZURIDISTIRA__T_URDINA "\033[1;107;34m"
#define Betea__H_ZURIDISTIRA__T_URDINA "\033[2;107;34m"
#define Azpim__H_ZURIDISTIRA__T_URDINA "\033[4;107;34m"
#define Klisk__H_ZURIDISTIRA__T_URDINA "\033[5;107;34m"
#define Alder__H_ZURIDISTIRA__T_URDINA "\033[7;107;34m"
// konbinazio bat (hiru gai: itxura, hondoa eta testua)
#define Norma__H_ZURIA__T_GORRIDISTIRA "\033[0;47;91m"
#define Lauso__H_ZURIA__T_GORRIDISTIRA "\033[1;47;91m"
#define Betea__H_ZURIA__T_GORRIDISTIRA "\033[2;47;91m"
#define Azpim__H_ZURIA__T_GORRIDISTIRA "\033[4;47;91m"
#define Klisk__H_ZURIA__T_GORRIDISTIRA "\033[5;47;91m"
#define Alder__H_ZURIA__T_GORRIDISTIRA "\033[7;47;91m"
void Koloreak()
{
printf("Hondoa BERDE eta testua URDIN:\n");
printf("\t%sNormala %s\n", Norma__H_BERDEA__T_URDINA, RESET);
printf("\t%sLausoa %s\n", Lauso__H_BERDEA__T_URDINA, RESET);
printf("\t%sBetea %s\n", Betea__H_BERDEA__T_URDINA, RESET);
printf("\t%sAzpimarratua%s\n", Azpim__H_BERDEA__T_URDINA, RESET);
printf("\t%sKliskagarri %s\n", Klisk__H_BERDEA__T_URDINA, RESET);
printf("\t%sAlderantziz %s\n", Alder__H_BERDEA__T_URDINA, RESET);
printf("\n");
printf("Hondoa ZYAN eta testua MARROI DISTIRATSU:\n");
printf("\t%sNormala %s\n", Norma__H_ZYAN__T_MARROIDISTIRA, RESET);
printf("\t%sLausoa %s\n", Lauso__H_ZYAN__T_MARROIDISTIRA, RESET);
printf("\t%sBetea %s\n", Betea__H_ZYAN__T_MARROIDISTIRA, RESET);
printf("\t%sAzpimarratua%s\n", Azpim__H_ZYAN__T_MARROIDISTIRA, RESET);
printf("\t%sKliskagarri %s\n", Klisk__H_ZYAN__T_MARROIDISTIRA, RESET);
printf("\t%sAlderantziz %s\n", Alder__H_ZYAN__T_MARROIDISTIRA, RESET);
printf("\n");
printf("Hondoa BELTZ DISTIRATSUA eta testua GORRI:\n");
printf("\t%sNormala %s\n", Norma__H_BELTZDISTIRA__T_GORRI, RESET);
printf("\t%sLausoa %s\n", Lauso__H_BELTZDISTIRA__T_GORRI, RESET);
printf("\t%sBetea %s\n", Betea__H_BELTZDISTIRA__T_GORRI, RESET);
printf("\t%sAzpimarratua%s\n", Azpim__H_BELTZDISTIRA__T_GORRI, RESET);
printf("\t%sKliskagarri %s\n", Klisk__H_BELTZDISTIRA__T_GORRI, RESET);
printf("\t%sAlderantziz %s\n", Alder__H_BELTZDISTIRA__T_GORRI, RESET);
printf("\n");
printf("Hondoa MAGENTA DISTIRATSUA eta testua ZYAN:\n");
printf("\t%sNormala %s\n", Norma__H_MAGENTADISTIRA__T_ZYANA, RESET);
printf("\t%sLausoa %s\n", Lauso__H_MAGENTADISTIRA__T_ZYANA, RESET);
printf("\t%sBetea %s\n", Betea__H_MAGENTADISTIRA__T_ZYANA, RESET);
printf("\t%sAzpimarratua%s\n", Azpim__H_MAGENTADISTIRA__T_ZYANA, RESET);
printf("\t%sKliskagarri %s\n", Klisk__H_MAGENTADISTIRA__T_ZYANA, RESET);
printf("\t%sAlderantziz %s\n", Alder__H_MAGENTADISTIRA__T_ZYANA, RESET);
printf("\n");
printf("Hondoa ZURI DISTIRATSUA eta testua URDIN:\n");
printf("\t%sNormala %s\n", Norma__H_ZURIDISTIRA__T_URDINA, RESET);
printf("\t%sLausoa %s\n", Lauso__H_ZURIDISTIRA__T_URDINA, RESET);
printf("\t%sBetea %s\n", Betea__H_ZURIDISTIRA__T_URDINA, RESET);
printf("\t%sAzpimarratua%s\n", Azpim__H_ZURIDISTIRA__T_URDINA, RESET);
printf("\t%sKliskagarri %s\n", Klisk__H_ZURIDISTIRA__T_URDINA, RESET);
printf("\t%sAlderantziz %s\n", Alder__H_ZURIDISTIRA__T_URDINA, RESET);
printf("\n");
printf("Hondoa ZURI eta testua GORRI DISTIRATSU:\n");
printf("\t%sNormala %s\n", Norma__H_ZURIA__T_GORRIDISTIRA, RESET);
printf("\t%sLausoa %s\n", Lauso__H_ZURIA__T_GORRIDISTIRA, RESET);
printf("\t%sBetea %s\n", Betea__H_ZURIA__T_GORRIDISTIRA, RESET);
printf("\t%sAzpimarratua%s\n", Azpim__H_ZURIA__T_GORRIDISTIRA, RESET);
printf("\t%sKliskagarri %s\n", Klisk__H_ZURIA__T_GORRIDISTIRA, RESET);
printf("\t%sAlderantziz %s\n", Alder__H_ZURIA__T_GORRIDISTIRA, RESET);
}
int main()
{
Koloreak();
printf("\n\n");
printf("Programa amaitzera doa");
printf("\n\n");
return 0;
}
ANSI ihes-sekuentziak: koloreak eta atributuak kontsolan
ANSI ihes-sekuentziak: koloreak eta atributuak kontsolan
Kolore arruntak Kolorea Kodea
Beltza
"\033[0,30m"
Gorria
"\033[0,31m"
Berdea
"\033[0,32m"
Marroia
"\033[0,33m"
Urdina
"\033[0,34m"
Magenta
"\033[0,35m"
Zyana
"\033[0,36m"
Zuria
"\033[0,37m"
Lausoak Kolorea Kodea
Beltza
"\033[1,30m"
Gorria
"\033[1,31m"
Berdea
"\033[1,32m"
Marroia
"\033[1,33m"
Urdina
"\033[1,34m"
Magenta
"\033[1,35m"
Zyana
"\033[1,36m"
Zuria
"\033[1,37m"
Bold edo lodiak Kolorea Kodea
Beltza
"\033[2,30m"
Gorria
"\033[2,31m"
Berdea
"\033[2,32m"
Marroia
"\033[2,33m"
Urdina
"\033[2,34m"
Magenta
"\033[2,35m"
Zyana
"\033[2,36m"
Zuria
"\033[2,37m"
Azpimarratuak Kolorea Kodea
Beltza
"\033[4,30m"
Gorria
"\033[4,31m"
Berdea
"\033[4,32m"
Marroia
"\033[4,33m"
Urdina
"\033[4,34m"
Magenta
"\033[4,35m"
Zyana
"\033[4,36m"
Zuria
"\033[4,37m"
Kliskalariak Kolorea Kodea
Beltza
"\033[5,30m"
Gorria
"\033[5,31m"
Berdea
"\033[5,32m"
Marroia
"\033[5,33m"
Urdina
"\033[5,34m"
Magenta
"\033[5,35m"
Zyana
"\033[5,36m"
Zuria
"\033[5,37m"
Alderantzizkoak Kolorea Kodea
Beltza
"\033[7,30m"
Gorria
"\033[7,31m"
Berdea
"\033[7,32m"
Marroia
"\033[7,33m"
Urdina
"\033[7,34m"
Magenta
"\033[7,35m"
Zyana
"\033[7,36m"
Zuria
"\033[2,37m"
Kolore distiratsuak Kolorea Kodea
Beltza
"\033[0,90m"
Gorria
"\033[0,91m"
Berdea
"\033[0,92m"
Marroia
"\033[0,93m"
Urdina
"\033[0,94m"
Magenta
"\033[0,95m"
Zyana
"\033[0,96m"
Zuria
"\033[0,97m"
Hondoak Kolorea Kodea
Beltza
"\033[0,40m"
Gorria
"\033[0,41m"
Berdea
"\033[0,42m"
Marroia
"\033[0,43m"
Urdina
"\033[0,44m"
Magenta
"\033[0,45m"
Zyana
"\033[0,46m"
Zuria
"\033[0,47m"
Hondo distiratsuak Kolorea Kodea
Beltza
"\033[0,100m"
Gorria
"\033[0,101m"
Berdea
"\033[0,102m"
Marroia
"\033[0,103m"
Urdina
"\033[0,104m"
Magenta
"\033[0,105m"
Zyana
"\033[0,106m"
Zuria
"\033[0,107m"
Ohikoa berreskuratzeko Kolorea Kodea
Reset
"\033[0m"
Kodea
Ariketa-66_Koloreak.cbp | main.c
iruzkinik ez:
Argitaratu iruzkina