Exibindo código ASCII das teclas

Publicado por Thiago Luiz da Silva em 08/08/2006

[ Hits: 25.558 ]

 


Exibindo código ASCII das teclas



Quando programamos, normalmente temos que controlar as teclas que foram pressionadas, e a melhor maneira de fazer isso é conhecendo o código ASCII dela. Nesta dica vou mostrar como fazer isso em C++.

Com estas linhas simples, você cria um programa que exibe o código ASCII da tecla digitada.

Os includes são arquivos do sistema necessário para a execução dos comando básicos. Vamos utilizar os seguintes:

#include <iostream.h>
#include <conio.h>

Para que possamos compilar um programa em C++, o mesmo deve possuir um método principal, o main(). Então criaremos o programa dentro dele.

void main()
{

}

Agora, tudo que for feito abaixo, deve ser feito dentro das chaves do metodo main.

Agora, vamos declarar uma variável do tipo inteiro que terá o valor 0 como padrão.

int tecla = 0;

Temos que exibir uma mensagem para o usuário para ele saber o que fazer. Para isso utilizaremos o comando cout<<.

  cout<<"Tecle algo para ver seu codigo ASCII.";
  cout<<endl;

O comando endl serve para ir para a próxima linha no console.

Vamos informar tambem que a tecla Esc vai sair do sistema. Mas e se o usuário quiser saber qual é o codigo ASCII da tecla Esc? Informe pra ele. É a tecla 27.

  cout<<"Tecla ESC = 27 - Sai do Sistema";
  cout<<endl;

Agora faremos um laço de repetição. Um laço de repetição é o ato de repetir uma determinada coisa até que um objetivo seja alcançado. No nosso caso, ele irá repetir o que está entre as chaves enquanto a tecla pressionada for diferente (simbolo !=) de 27 (Esc).

do
{

} while(tecla != 27);

Para receber uma tecla digitada, é utilizado o comando getch(). Com esse comando, ele aguarda uma tecla ser pressionada para continuar o programa. Basta fazer com que uma variável do tipo inteiro receba este comando, e teremos o código ASCII da tecla. Logo abaixo já podemos escrever a tecla digitada. Vamos então adicionar o seguinte conjunto de linhas dentro das chaves do laço:

   tecla = getch(); //aqui ela recebe a tecla digitada
   cout<<"Tecla = ";
   cout<<tecla; //Exibe o numero asci da tela
   cout<<endl;

Aqui vai o código completo com algumas simplificações na exibição das mensagens:

#include <iostream.h>
#include <conio.h>

void main() // Descrevemos o método main.
{ //Inicio do main
  int tecla = 0; //Declaração da variável do tipo inteiro
  cout<<"Tecle algo para ver seu codigo ASCII."<<endl;
  cout<<"Tecla ESC = 27 - Sai do Sistema"<<endl;
  do
  {
    tecla = getch(); //aqui ela recebe a tecla digitada
    cout<<"Tecla = "<<tecla<<endl; //Exibe o código ASCII na tela
  }while(tecla != 27);
}

Valeu. Espero que aproveitem esta dica!!!

Outras dicas deste autor

Utilizando a classe phpmailer como alternativa a função mail() do PHP

Leitura recomendada

Obtendo a data e a hora de compilação em C

Desenvolvimento com C/C++ e GTK

Switch em C, e se a opção for inválida?

Programação para Arduino

Como limpar a tela em C

  

Comentários
[1] Comentário enviado por rustin em 09/08/2006 - 08:49h

Desculpe minha ignorância, mas... a biblioteca conio.h não existe no Linux, certo?

[2] Comentário enviado por thiago.silva em 10/08/2006 - 07:32h

A biblioteca similar ao conio.h no linux é a ncurses.h. Você tambem pode usar o getchar() da stdio.h, más eu não sei exatamente o seu comportamento.

[3] Comentário enviado por removido em 22/05/2007 - 04:10h

Thiago.silva, eu não sabia dessa semelhança de bibliotecas , voce não tem noção do quanto esse seu aviso de equivalencia da conio.h vai me ajudar =) obrigadão cara!

[4] Comentário enviado por sergelli em 25/02/2008 - 16:45h

Pra juntar, " a fome com a vontade de comer", seria legal se juntasse aí, os passos para compilar o arquivo e disponibilizar o executável para outros usuários.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts