Caro parceiro,
Na edição 40 de nosso Flash Tip, vimos como criar o primeiro exemplo e imprimir algumas mensagens no display do usuário, como compilar o projeto, onde os arquivos são alocados no microteminal e qual o arquivo que devemos configurar para que a aplicação seja carregada no processo de BOOT do microterminal.
Nesta edição, iremos desenvolvedor um pequeno exemplo que nos permita interagir com o microterminal, enviando mensagens para o display e recebendo informações do teclado. Basicamente neste exemplo, usaremos o tão famoso “switch/case”, além das funções nativas do SDK.
Configurações Iniciais
Antes de iniciarmos nosso exemplo, devemos inserir em nosso projeto a biblioteca “allegro”, a qual possui uma função específica que irá receber dados do teclado, ou seja, uma função similar ao getchar() do C – a função readkey().
Não há necessidade de inserir recursos opcionais para trabalharmos com a “allegro”, devido ela já estar presente na instalação do ambiente de desenvolvimento. Então, para inserirmos a biblioteca “allegro” em nosso projeto, devemos seguir os seguintes passos:
- Na estrutura de pastas, clicamos com o botão direito do mouse sobre a pasta do projeto e em seguida selecionamos “Properties” (nesta ilustração nosso projeto recebe o nome de BemaFit).

- Temos a janela de propriedades do projeto dividida em três colunas. Na primeira coluna selecionamos a opção C/C++ Build. Na coluna do meio, clicamos duas vezes sobre a opção Libraries, em seguida clicamos na opção Add da terceira coluna (ilustrada com um círculo).
- Será exibida uma nova janela para inserção da biblioteca “allegro”. Simplesmente informamos “alleg” e damos um OK em todas as janelas para confirmar a alteração.

Após a inserção desta biblioteca, já é possível inserimos nosso código no projeto.

Abaixo temos o código pronto que irá testar as funções de display e teclado, conforme mencionamos nesta edição. Basta então, copiá-lo e inserí-lo no projeto, inclusive com seus includes.
#include <allegro.h>
#include <UDisplay.h>
#include <stdio.h>
int main(void)
{
char ch;
/* instrução necessária para inicializar a biblioteca allegro */
if (allegro_init() != 0)
return 1;
do
{
/* inicializa funções do teclado */
install_keyboard();
char buff[256];
// Inicializar o display do usuario
UserDisplayInit();
// Limpa o display do usario
UserDisplayClearAll();
// Monta menu principal no display o usuário
UserDisplayPrint(1,1, “1 – Escolha um “);
UserDisplayPrint(2,1, “2 – Escolha dois”);
UserDisplayPrint(3,1, “Opcao:”);
memset(buff, 0, 256);
ch=readkey();
switch(ch)
{
case ’1′:
UserDisplayClearAll();
UserDisplayPrint(2,1, “Key 1 Pressionada!”);
readkey();
break;
case ’2′:
UserDisplayClearAll();
UserDisplayPrint(2,1, “Key 2 Pressionada!”);
readkey();
break;
default:
UserDisplayClearAll();
UserDisplayPrint(2,1, “Programa encerrado!”);
readkey();
return EXIT_SUCCESS;
break;
}
/* Pausa na execução */
readkey();
}
while (ch != ’9′);
}
Após realizarmos a compilação do projeto, devemos simplesmente definir no arquivo userrc (localizado dentro do microterminal), o local aonde está nosso projeto compilado para que ele seja carregado na inicialização do microterminal (processo que já abordamos na edição 40 do Flash Tip).
Basicamente, ao executar o projeto teremos as seguinte opções no display do usuário:
1 – Escolha um
2 – Escolha dois
Opção:
E, ao pressionar 1 teremos a mensagem “Key 1 Pressionada!” e ao pressionar 2 teremos a mensagem “Key 2 Pressionada!”. Se for pressionado algo diferente, teremos “Programa encerrado!”.
Assim, temos um pequeno exemplo demonstrando o uso das funções de display e de interação com o microterminal, capturando entradas via teclado.
Próxima Edição:
Na próxima edição, vamos avançar um pouco mais no desenvolvimento e realizar a comunicação do microterminal com alguns periféricos.
Não perca!
Até lá e boas implementações!
Related posts:
- Desenvolvendo um Software de Automação Comercial em ASP NET – Parte III/III BSP – Bematech Software Partners Nos artigos anteriores, desenvolvemos a...
- Identifique seu Cliente através de um Código de Barras Você já imaginou poder identificar seu cliente através de um...
- Edição 36 – Cancelando a transação TEF Caro Parceiro, Após implementarmos as nossas rotinas de cupom fiscal...
- Edição 58 – Gerando o Arquivo MFD (PAF-ECF) Caro parceiro, Sempre visando orientar e apoiar você nosso parceiro...
- Edição 87 – Código com 14 dígitos Caro Partner e Desenvolvedor Bematech, Nesta edição de nosso Flash...
7 de julho de 2009 às 15:50
Pingback by Edição 45 - Acessando periféricos | Bemacast - Flash-Tip
[...] edição 44 de nosso Flash Tip, criamos um exemplo simples que nos possibilitou realizar uma interação entre [...]