00001
00006 #include <Slang++/slang.H>
00007
00008 using namespace Slang;
00009
00010 #include <cctype>
00011
00012 using namespace std;
00013
00014 int main ()
00015 {
00016 Ecra::ObjectoCor cor_normal(amarelo, preto);
00017 Ecra::ObjectoCor cor_aviso(vermelho, preto);
00018
00019 while(true) {
00020 if(teclado.haTeclaDisponivel(10)) {
00021 teclado.leProximaTeclaDisponivel();
00022 Tecla tecla_premida = teclado.teclaLida();
00023
00024 if(tecla_premida.eDeDeslocamento())
00025 ecra.moveCursorDeAcordoCom(tecla_premida);
00026 else if(tecla_premida.eChar())
00027 if(isprint(tecla_premida.comoChar()))
00028 ecra << cor_normal << tecla_premida.comoChar();
00029 else
00030 ecra << cor_aviso << parado
00031 << "Este nao se pode imprimir!";
00032 else
00033 ecra << cor_aviso << parado << "Tecla inválida!";
00034 if(tecla_premida == 's')
00035 break;
00036 }
00037 ecra.refresca();
00038 }
00039 }
00040