AJUDA COM LEITOR DE CODIGO DE BARRAS

HUBER.FABIO 17/04/2007 11:04:19
#212246
AMIGOS

TENHO UM CAMPO CÓDIGO DO CLIENTE COMO NUMéRICO E TAMANHO 5, GOSTARIA DE CAPTURAR O CÓDIGO DO CLIENTE DE UMA ETIQUETA COM CÓDIGO DE BARRAS, MINHA DIFICULDADE ESTÁ SENDO QUANDO NA CAPTURA PELO LEITOR ELE TRAS 13 DIGITOS E MEU CAMPO é DE TAMANHO 5 ENTÃO ELE SÓ PEGA OS 5 PRIMEIROS NÃÅ¡MEROS DOS 13 TRAZIDOS DO LEITOR, ACONTECE QUE O CÓDIGO DO CLIENTE ESTÁ ENTRE OS 13. TEM ALGUMA MANEIRA DE EU LER ESSE CÓDIGO ANTES EM ALGUM EVENTO POIS PELO KEYPRESS NÃO ESTOU CONSEGUINDO
USUARIO.EXCLUIDOS 17/04/2007 11:35:13
#212248
O evento KeyUp e executado depois do KeyPress, então vc primerio pega o codigo com o evento KeyPress armazena em variavel e coloca todo a sua rotina no evento KeyUp
HUBER.FABIO 17/04/2007 11:45:56
#212252
Olá amigo, só se estiver fazendo algo errado, mais já no evento keypress ele me retorna somente os 5 primeiros números do código de barras dos 13 lidos, sendo assim preciso antes de mais nada dos 13 completos.
DANIELCPAETE 17/04/2007 11:58:39
#212258
Resposta escolhida
Cara tente algo como assim

Private Variavel As String

Private Sub Form_Load()
Text1.MaxLength = 5
Variavel = ""
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
MsgBox Variavel
'Aqui você trata os dados do código
Variavel = ""
Else
Variavel = Variavel & Chr(KeyAscii)
End If
End Sub
HUBER.FABIO 17/04/2007 13:37:37
#212281
Caros colegas,

Talvez eu não esteja entendendo ou não sendo muito claro, minha rotina já está no keypress, o problema está nesse momento pois ao entrar no evento minha variável já está com os 5 primeiros digitos dos 13 capturados pelo leitor, imagine um código de barras capturado pelo leitor de número 7891234512312, quando chego no keypress minha variavel está com número 78912 ou seja, como meu campo é de tamanho 5 ele desconsidera o resto já que o próprio leitor da o ENTER automaticamente. eu preciso pegar esse número completo antes de qualquer coisa.
USUARIO.EXCLUIDOS 17/04/2007 13:54:41
#212285
Pelo que entendi o problema está no seu text que só aceita 5 (caracteres)...
Faça o seguinte: aumente o maxlength do seu text para 13 e lá no evento KeyPress do text vc armazena numa variável o código que precisa(no caso o código do produto), depois é só atribuir no text a variável:

SEGUE EXEMPLO:

Private Sub Text1_KeyPress(KeyAscii As Integer)
dim lCodProduto as long
If KeyAscii = 13 Then
KeyAscii=0
lCodProduto=mid(text1.text,1,5) 'Aqui vc "pega" o tal código que está no meio
Text1.Text = mCodProduto
End If
End Sub



Espero ter ajudado.

Tópico encerrado , respostas não são mais permitidas