18.7. Setarea culorilor

2019/XX/XX in Programare in C

Culoarea fondului se seteaza cu ajutorul functiei textbackground de prototip:

void textbackground(int culoare);

unde:

culoare este un intreg in intervalul [0, 7] si are semnificatia definita in tabelul de la inceputul acestui capitol.

Culoarea caracterelor se seteaza cu ajutorul functiei textcolor de prototip:

void textcolor(int culoare);

unde:

culoare este un intreg in intervalul [0, 15] si are semnificatia definita in tabelul de la inceputul acestui capitol.

Se pot seta ambele culori, precum si clipirea caracterului folosind functia textattr de prototip:

void textattr(int atribut);

unde:

atribut se defineste cu ajutorul relatiei (1).

Exercitii:

18.1. Sa se scrie o functie care afiseaza parametrii ecranului.

void pecr()
/* afiseaza parametrii ecranului */
{
  struct text_info parecr;

  clrscr();
  gettextinfo(&parecr);
  printf("stanga:%u sus:%u dreapta:%u jos:%u\n", 
    parecr.winleft, parecr.wintop, parecr.winright, parecr.winbottom);
  printf("atribut:%u mod curent:%u\n", 
    parecr.attribute, parecr.currmode);
  printf("inaltimea ecranului:%u latimea ecranului:%u\n", 
    parecr.screenheight, parecr.screenwidth);
  printf("coloana cursorului:%u linia cursorului:%u\n", 
    parecr.currx, parecr.curry);
}

18.2. Sa se scrie un program care seteaza pe rand modurile text, definite cu ajutorul constantelor simbolice: BW40, C40, BW80, C80 si C4350 si afiseaza parametrii ecranului pentru fiecare din modurile respective.

#include <stdio.h>
#include <conio.h>

#include "FUNCTIA149.C"

main()
{
  int i;
  int tab[]={BW40, C40, BW80, C80, C4350};
  char *text[]={"BW40", "C40", "BW80", "C80", "C4350"};

  for(i=0; i < 5; i++) {
    textmode(tab[i]);
    pecr();
    printf("\n\t\t\t%s\n\n", text[i]);
    printf("Actionati o tasta pentru a continua\n");
    getch();
  }
}

18.8. Gestiunea textului