Usando Cores e Sons
Para colorir
a cor do texto ou colorir a cor de fundo da tela, pode-se usar
as seguintes funções:
-
Função
TextAttr
-
Função
TextColor
-
Função
TextBackground
-
Função
Sound
-
Função
Delay
-

Função
TextAttr
Seu programa
pode usar o controlador de dispositivo ansi.sys para
exibir saída colorida na tela. Para colorir a cor do texto,
pode-se usar a função textattr. O textattr consulta
a biblioteca conio.h.
sintaxe: textattr (atributo);
O parâmetro atributo contém oito bits que especificam as cores
desejada. Os quatro bits menos
significativos especificam a cor da frente. Os três bits seguintes
especificam a cor de fundo,
e o bit mais significativo controla a intermitência. Para
selecionar uma cor, é necessário
atribuir o valor da cor desejada para os bits corretos. A
tabela abaixo especifica os valores das cores.
Constante
de Cor
|
Valor
|
Frente/Fundo
|
preto |
0 |
frente/fundo |
azul |
1 |
frente/fundo |
verde |
2 |
frente/fundo |
ciano |
3 |
frente/fundo |
vermelho |
4 |
frente/fundo |
magenta |
5 |
frente/fundo |
marrom |
6 |
frente/fundo |
cinza
claro |
7 |
frente/fundo |
cinza
escuro |
8 |
frente |
azul
claro |
9 |
frente |
verde
claro |
10 |
frente |
ciano
claro |
11 |
frente |
vermelho
claro |
12 |
frente |
magenta
claro |
13 |
frente |
amarelo |
14 |
frente |
branco |
15 |
frente |
piscante |
128 |
frente |
exemplo:
-
O
programa a seguir, faz um teste com as cores.
#include <stdio.h>
#include <conio.h>
void main(void)
{
clrscr();
int i;
for (i=1;i <16;i++)
{
textattr(i);
cprintf("Esta ‚ a cor %d\r\n", i);
}
textattr(128+15);
printf("Isto ‚ piscante");
getch();
}
-
- Função
TextColor
-
-
Para
simplificar o processo de atribuir uma cor de frente, pode-se
usar a função textcolor. O textcolor consulta
a biblioteca conio.h.
sintaxe: textcolor (int corfrente);
O parâmetro corfrente especificará um dos valores
de cores listados na tabela abaixo:
Constante
de Cor
|
Valor
|
preto |
0 |
azul |
1 |
verde |
2 |
ciano |
3 |
vermelho |
4 |
magenta |
5 |
marrom |
6 |
cinza
claro |
7 |
cinza
escuro |
8 |
azul
claro |
9 |
verde
claro |
10 |
ciano
claro |
11 |
vermelho
claro |
12 |
magenta
claro |
13 |
amarelo |
14 |
branco |
15 |
piscante |
128 |
exemplo:
-
O
programa a seguir, ilustra como usar a função textcolor
para definir a cor de frente.
#include <stdio.h>
#include <conio.h>
void main(void)
{
clrscr();
int i;
for (i=1;i <16;i++)
{
textcolor(i);
cprintf("Esta é a cor %d\r\n", i);
}
textattr(128+15);
printf("Isto é piscante"\r\n);
getch();
}
-
-
- Função
TextBackground
- Para simplificar
o processo de atribuir cor de fundo, pode-se usar a função textbackground.
O textbackground consulta a biblioteca conio.h.
sintaxe: textbackground (int corfundo);
O parâmetro corfundo especificará um dos valores listados na
tabela abaixo:
Constante
de Cor
|
Valor
|
preto |
0 |
azul |
1 |
verde |
2 |
ciano |
3 |
vermelho |
4 |
magenta |
5 |
marrom |
6 |
cinza
claro |
7 |
exemplo:
-
O programa
a seguir, faz um teste com as cores.
#include <stdio.h>
#include <conio.h>
void main(void)
{
clrscr();
int i;
for (i=1;i <16;i++)
{
textbackground(i);
cprintf("Esta é a cor %d\r\n", i);
cprintf("pressione qualquer tecla");
getch();
}
}
-
Função
Sound
- Dentro
de quase todo PC há um alto-falante que os programas usam para
gerar avisos sonoros. No entanto, usando a função sound,
seus programas podem gerar sons que emitem diferentes frequências.
A função nosound desativa o alto-falante. As funções
sound e nosound consultam a biblioteca dos.h.
sintaxe: void sound (unsigned frequencia);
void nosound(void);
exemplo:
-
O programa
a seguir, usa a função sound para gerar um som similar
a uma sirene. Quando o usuário pressiona qualquer tecla,
o programa desativa o alto-falante usando a função nosound.
#include <stdio.h>
#include <conio.h>
#include <dos.h>
void main()
{
unsigned freq; //tipo sem sinal
do
{
for (freq=500;freq <=1000;freq+=50)
{
sound(freq);
delay(50);
}
for (freq=1000;freq <=500;freq-=50)
{
sound(freq);
delay(50);
}
}while (! kbhit());
nosound();
}
-
Função
Delay
Dependendo
do seu programa, algumas vezes é necessário retarda-lo por um
determinado número de milessegundos. Por exemplo, para imprimir
uma mensagem na tela e mante-la por algum tempo e logo em seguida
continuar as execução do programa, sem forçar o usuário a pressionar
uma tecla, pode-se usar a função delay. A função delay
consulta a biblioteca dos.h.
sintaxe: void delay (unsigned milissegundos);
Usando a função delay, os programas podem especificar
um período de retardo de até 64.535 milessegundos.
exemplo:
-
O programa
a seguir, retarda a mensagempor 5 segundos (5.000 milessegundos).
#include <stdio.h>
#include <dos.h>
#include <conio.h>
void main(void)
{
clrscr();
printf("Prestes a fazer uma pausa de 5 segundo \n");
delay(5000);
printf("Acabado \n");
getch();
}
|