Ir para conteúdo
Fórum Script Brasil
  • 0

Trabalhando com 2 scanners em VB.NET


Guest --Marcelo --

Pergunta

Guest --Marcelo --

Colegas,

Criei um sistema de estoque em VB.Net. Em uma aplicação deste sistema o usuário escaneia o código de barras dos produtos para dar entrada no estoque, porém este é um processo onde entram em ação 2 scanners, isto é, 2 pessoas, e os dados devem ir para o sistema separados.

Trocando em miúdos, quero escanear com 2 scanners quase que simultâneamente (diferença de milissegundos) e o meu software vai pegar o dado de cada scanner e guardar em uma tabela qualquer o dado escaneado e o scanner que o escaneou. Por exemplo:

DADO - SCANNER

0258 --- 1

0257 --- 1

0354 --- 2

0356 --- 2

Alguém por favor poderia me ajudar?

grato,

Marcelo

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
Guest --Marcelo --

Boa tarde Graymalkin,

São 2 Scanners USB para códigos de barra , Modelo LS-2208 da Symbol. (vendorId: &h05e0 ModelId: &h1200).

Até o momento estou usando estes scanners como emulador de Teclado, isto é, quando eu escaneio alguma coisa um texto é digitado, como se fosse um teclado. Mas ainda posso usar ele como um dispositivo de entrada USB se necessário.

Acredito que eu possa ter começado a encontrar uma solução paleativa para o problema. Fuçando no manual de mais de 400 páginas, encontrei como configurar um prefixo para cada scanner, com isso tive a idéia de associar cada scaner a uma letra, então o Scanner 1 seria prefixo A e o scanner 2 prefixo B, o scaner 3 poderia ser prefixo C, etc.

Ai parecia que tinha resolvido meu problema, era só tratar o dado recebido via scaner, por exemplo: A23548 seria o código 23548 escaneado no scanner 1 e B23449 seria o código 23449 escaneado no scanner 2. Neste caso tentei usar o evento Keypress do form e resolvi 1 problema, mas achei mais pelo menos 3 :

O evento keypress trata cada caracter separado, tudo bem, é só eu criar uma variável global e ir montando o código até que seja recebido o caracter [enter] (que meu scanner já está configurado para dar enter depois de escanear), PORÉM percebi que se no meio do processo de leitura caracter por caracter do keypress, alguém escanear outra coisa em qualquer 1 dos scanners o evento é interrompido denovo e ele para de ler os dados do 1º código e passa a ler o segundo, misturado com o primeiro, aí vira uma salada só.

O ideal seria um evento que não trate caracter por caracter, para que isso não ocorra, ou conseguir bloquear qualquer outra entrada quando o programa estiver processando a primeira, mas o dado escaneado durante o processamento do 1º código não pode ser perdido.

Mas acho que a solução seria mesmo ler estes dados diretamente da porta USB, como se fosse serial. Porque ai não tem confusão USB1 = SCANNER 1 = BYTE DE ENTRADA1 e USB2 = SCANNER 2 = BYTE DE ENTRADA2. Ainda estou em busca de uma DLL que possa desmistificar esta comunicação USB.

Se você puder ajudar eu seria muito grato. Continuarei focado na busca de uma solução e assim que encontrar um meio de fazer esta comunicação postarei aqui porque sei como toda pessoa que um dia teve que trabalhar com fluxo de dados no Vb, seja por COM ou LPT1 sempre sonhou em usar a USB.

muito grato,

Marcelo

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...