Bematech Software Partners

 
  • jun 24 2009

    Edição 44 – Usando funções de Display

    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).

    img_1

    • 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.

    img_2

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

    img_3

    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:

    1. Desenvolvendo um Software de Automação Comercial em ASP NET – Parte III/III  BSP – Bematech Software Partners Nos artigos anteriores, desenvolvemos a...
    2. Identifique seu Cliente através de um Código de Barras Você já imaginou poder identificar seu cliente através de um...
    3. Edição 36 – Cancelando a transação TEF Caro Parceiro, Após implementarmos as nossas rotinas de cupom fiscal...
    4. Edição 58 – Gerando o Arquivo MFD (PAF-ECF) Caro parceiro, Sempre visando orientar e apoiar você nosso parceiro...
    5. Edição 87 – Código com 14 dígitos Caro Partner e Desenvolvedor Bematech,  Nesta edição de nosso Flash...

     

1 Comentário

Deixe um comentário