MSCOMM LEITURA DE CODIGO DE BARRAS

USUARIO.EXCLUIDOS 28/03/2005 16:02:38
#75374
Pessoal, estou com um problemão, esta sendo utilizado em um aplicação vb.6 o componente MSCOMM para leitura de codigo de barras em crachás.
A aplicação não esta funcionando legal em maquinas w95 e w2000, após a leitura do cracha esta retornando caracteres invalidos. por exempro:
Codigo correto: 15638
Retorna: %¨&(*&)*_

Bicho estranho!!!
USUARIO.EXCLUIDOS 28/03/2005 17:39:12
#75409
Qual a comunicação? Serial, Paralela, USB...
USUARIO.EXCLUIDOS 28/03/2005 18:09:39
#75422
Serial.
SHADOW.BOY 29/03/2005 09:13:14
#75512
Ele esta trazendo em caractere ASCII (Chart), você terá que fazer um conversor para Decimal.

Pergunta:
No Win-98 está funcionando corretamente ?

Boa sorte.
USUARIO.EXCLUIDOS 29/03/2005 14:30:47
#75587
Como eu faço para converter para decimal?

Ele funciona em qualquer windows, mas existe algumas maquinas que estão apresentando o problema na leitura.
USUARIO.EXCLUIDOS 29/03/2005 16:13:08
#75602
Explique melhor como você esta recebendo os dados.
USUARIO.EXCLUIDOS 29/03/2005 16:59:22
#75621
tenho um leitor que esta conectado ao mouse e a porta serial. Uso o leitor no mouse para evitar a entrada de dados via teclado. O problema e que em algumas maquinas os crachas não estão sendo lidos corretamente, por exempo:
em vez de ler 3698569 ...
... esta lendo %&(*)*_(_)(_

como disse, esse erro ocorre em algumas maquinas.
vale tambem ressaltar que estou usando mscomm32.ocx

USUARIO.EXCLUIDOS 29/03/2005 17:06:16
#75627
Certo, mas como você trás o código para a tela? você formata com CHR() ou ASC()?
USUARIO.EXCLUIDOS 29/03/2005 17:12:42
#75630
Eu uso as seguintes funções:

Private Sub Leitor_OnComm(index As Integer)
Call f_VerificaLeitor(index)
End Sub

Private Sub f_VerificaLeitor(index As Integer)
Dim CrachaLido As String
Dim DataHora As Variant
CrachaLido = f_LeDados(index)
If CrachaLido = "" Then
Exit Sub
End If
CrachaLido = Mid(CrachaLido, 2)
CrachaLido = Left(CrachaLido, Len(CrachaLido) - 2)

lblCracha.Caption = Time & " - " & CrachaLido

End Sub

'*************************************************************************
' ESTAS ESTAO EM UM MODULO
'*************************************************************************


Public Function f_LeitorEncerra(index As Integer) As Boolean
On Error GoTo TrataErro
Dim Buffer As String
With frmMarcacoes.Leitor(index)
Buffer = .Input
.PortOpen = False
End With
f_LeitorEncerra = True
Exit Function
TrataErro:
Exit Function
Resume
End Function

Public Function f_LeitorInicia(index As Integer) As Boolean
On Error GoTo TrataErro
With frmMarcacoes.Leitor(index)
.InputLen = 0
.PortOpen = True
End With
f_LeitorInicia = True
Exit Function
TrataErro:
Exit Function
End Function

Public Function f_LeDados(index As Integer) As Variant
On Error GoTo TrataErro
Dim TempoEspera As Variant
TempoEspera = Timer
Do While Timer <= TempoEspera + 0.5
Loop
f_LeDados = frmMarcacoes.Leitor(index).Input
Call f_LeitorEncerra(index)
Call f_LeitorInicia(index)
SendKeys ""
Exit Function
TrataErro:
Exit Function
End Function


USUARIO.EXCLUIDOS 30/03/2005 14:39:37
#75798
Tá dificil, Por favor, alguém me ajude
SHADOW.BOY 31/03/2005 09:18:43
#75962
Nestas maquinas que você disse não estar funcionando, qual a metragem do cabo serial conectado em cada maquina ?

Você já instalou todos os Patch's de correção e Service's Pack's ?

O cabo serial é um RS-232 DB25 ou DB9 ?
Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas