Pular para o conteúdo

Exibindo código ASCII das teclas

Dica publicada em C/C++ / Introdução
Thiago Luiz da Silva thiago.silva
Hits: 28.091 Categoria: C/C++ Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar

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!!!

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

Desenvolvimento com C/C++ e GTK

Fazendo comparações sem o uso de IF, ELSE em C

Usando comandos do sistema em C

Incluindo paths para os seu próprios headers

Compilando e executando programas em C no Linux

#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

Entre na sua conta para comentar.