Mostrando postagens com marcador código de barras. Mostrar todas as postagens
Mostrando postagens com marcador código de barras. Mostrar todas as postagens

Ler código de barras através de um leitor óptico com ASP.NET

Não há nenhum segredo ou driver específico para realizar a leitura. Basicamente o leitor óptico lê o código de barras, converte para string e retorna para o buffer de entrada do computador. Ou seja, é como se fosse digitar no teclado! Acabou o mistério...
Há várias formas de codificação do código de barras e quem é responsável por essa codificação/decoficação pode ser tanto a leitora quanto a aplicação. Irei considerar em nosso exemplo que o que a leitora lê e irei utilizar não me importando o que seja. Supondo e para fins ilustrativos que nosso código de barras seja essa aí de cima, o valor de entrada seria 3805565154 (frisando novamente, apenas supondo). A leitora irá passar para nossa aplicação a seguinte entrada 3805565154 ENTER. A maioria das leitoras já facilitam sua vida forçando o ENTER ao terminar de ler o conteúdo. Então fica fácil! Vamos por a mão na massa.
Crie uma tela com apenas um TextBox. Criei essa bonitinha aqui:

Selecione o TextBox, vá na guia Properties e clique no ícone de Events. Adicione um evento em KeyDown conforme a figura abaixo:

Com isso, ao digitar qualquer valor no TextBox, irá disparar esse evento. Mas como queremos ler apenas o valor completo, adicionamos uma determinada condição para começar a analisar apenas quando pressionar/entrar o ENTER, logo nosso código ficaria da seguinte forma:

private void txtNumero_KeyDown(object sender, KeyEventArgs e)
{
        if (e.KeyCode == Keys.Enter)
        {
                string entrada = txtNumero.Text;
                txtNumero.Text = "";
        }
}
 
Ou seja, a cada entrada de caracteres, ativo o evento mas só iniciarei a análise quando a entrada for um ENTER. Ao final, zero o conteúdo do TextBox para que possa dar uma nova entrada. Daí você pode adicionar outras instruções no meio para fazer o que quiser. Eu complementei a aplicação fazendo uma consulta em um banco de dados e analisando se existe ou não um determinado cupom. Vamos aos testes...
A leitora que usei é plugada diretamente na entrada PS/2 do teclado. A depender de sua leitora pode ser na USB, na PS/2 ou utilizar algum adaptador específico. Depois de conectado, inicie sua aplicação. Posicione o leitor sobre o código de barras e pressione o botão para realizar a leitura e voilá... Sua aplicação irá ler a entrada e realizar o processo que desejar.
Minha aplicação leu um cupom cujo número codificado era 1000909. Bem fácil e útil... 
Quem quiser saber mais informações como tipos de codificações, como gerar/codificar/decodificar strings para código de barras no Access, acessem esse artigo da MSDN que é bem interessante e explicativo.