SCANNER LEITOR CODIGO BARRAS MESA PORTA SERIAL
Olá...
Estou fazendo um programa que precisa ler quando o usuário passar o produto no leitor ele chama a minha rotina de venda.. Tem hora que consigo pegar o código do leitor e vender certo.. Tem hora que o leitor bipa e não consigo pegar o código passado.. Se o usuário não prestar atenção ele passa o produto e não é registrado no caixa de venda.. Alguém tem alguma rotina que captura o este dados da porta serial.
Por que este erro esta aleatório...
Scanner Datalogic
Modelo Magellan 2200vs
Obrigado.
Estou fazendo um programa que precisa ler quando o usuário passar o produto no leitor ele chama a minha rotina de venda.. Tem hora que consigo pegar o código do leitor e vender certo.. Tem hora que o leitor bipa e não consigo pegar o código passado.. Se o usuário não prestar atenção ele passa o produto e não é registrado no caixa de venda.. Alguém tem alguma rotina que captura o este dados da porta serial.
Por que este erro esta aleatório...
Scanner Datalogic
Modelo Magellan 2200vs
Obrigado.
a vez q trabalhei com pistolinha de codigo de barra, so foi preciso instalar e configurar devidamente no windows, o cursor estando no text era preenchido com os dados da leitura, ja conferiu se é o posicionamento do cursor?
EDELSIOBR,
Você pode fazer assim?
- O usuário passa o produto, o leitor bipa, mas o retorno, por exemplo, do valor vem zerado...
... dai você bipa longo no software, trava o processamento e bota na tela uma grande mensagem em vermelho avisando ao operador o que aconteceu.
--------------------------------------------------------------------------------------
http://www.datalogic.com/
--------------------------------------------------------------------------------------
Manual do Scanner em PDF (Magellan 2200VS ~ Brazilian Portuguese Rev E (.pdf, 151701 byte) ):
http://www.datalogic.com/tools/download.aspx?iddwnfile=13341&path=%2fupload%2fmarketlit%2fdatasheets%2fDS-MAGELLAN2200VS-PT.pdf&name=Magellan+2200VS+%7e+Brazilian+Portuguese
--------------------------------------------------------------------------------------
magellan On-Screen Programming (OSP) v.6.6.0 12/09/2011
SU-MAGELLANOSP Rev A (.zip, 4528245 byte):
http://www.datalogic.com/tools/download.aspx?iddwnfile=918&path=%2fupload%2fmarketlit%2fsoftware%2fsu%2fSU-MAGELLANOSP.zip&name=SU-MAGELLANOSP
--------------------------------------------------------------------------------------
[][ô]s,
Tunusat.
Você pode fazer assim?
- O usuário passa o produto, o leitor bipa, mas o retorno, por exemplo, do valor vem zerado...
... dai você bipa longo no software, trava o processamento e bota na tela uma grande mensagem em vermelho avisando ao operador o que aconteceu.
--------------------------------------------------------------------------------------
http://www.datalogic.com/
--------------------------------------------------------------------------------------
Manual do Scanner em PDF (Magellan 2200VS ~ Brazilian Portuguese Rev E (.pdf, 151701 byte) ):
http://www.datalogic.com/tools/download.aspx?iddwnfile=13341&path=%2fupload%2fmarketlit%2fdatasheets%2fDS-MAGELLAN2200VS-PT.pdf&name=Magellan+2200VS+%7e+Brazilian+Portuguese
--------------------------------------------------------------------------------------
magellan On-Screen Programming (OSP) v.6.6.0 12/09/2011
SU-MAGELLANOSP Rev A (.zip, 4528245 byte):
http://www.datalogic.com/tools/download.aspx?iddwnfile=918&path=%2fupload%2fmarketlit%2fsoftware%2fsu%2fSU-MAGELLANOSP.zip&name=SU-MAGELLANOSP
--------------------------------------------------------------------------------------
[][ô]s,
Tunusat.
Tunusat,
Ai que esta o problema não consigo pegar quando o leitor bipa e não traz o código... Ele bipa informando que leu o código mas não consigo pegar...
Segue o código que estou usando:
Dim WithEvents mySerialPort As SerialPort = New System.IO.Ports.SerialPort
Delegate Sub SetTextCallback(ByVal [text] As String)
Private Sub frmTelaVenda_Load(sender As Object, e As EventArgs) Handles MyBase.Load
abreporta
end sub
private sub abreporta
try
With mySerialPort
.PortName = [Ô]COM3[Ô]
.BaudRate = 9600
.Parity = Parity.None
.DataBits = 8
.StopBits = StopBits.One
.ReadTimeout = 150
End With
mySerialPort.Open()
end sub
Private Sub mySerialPort_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles mySerialPort.DataReceived
Try
SetText(mySerialPort.ReadExisting())
Catch ex As Exception
End Try
End Sub
Private Sub SetText(ByVal [text] As String)
Try
If Me.TxtDescricao.InvokeRequired Then
Dim d As New SetTextCallback(AddressOf SetText)
Me.Invoke(d, New Object() {[text]})
Else
Dim texts As System.Text.RegularExpressions.Match
For Each texts In System.Text.RegularExpressions.Regex.Matches([text].ToString.Trim, [Ô]\d+(\.?\d+)[Ô])
TxtDescricao.Text = texts.Value
Next
If TxtDescricao.Text.Length > 0 Then
chamarotinavenda
End If
end if
text = Nothing
Catch ex As Exception
End Try
End Sub
Ou tem outro jeito de ser feito...
Obrigado.
Ai que esta o problema não consigo pegar quando o leitor bipa e não traz o código... Ele bipa informando que leu o código mas não consigo pegar...
Segue o código que estou usando:
Dim WithEvents mySerialPort As SerialPort = New System.IO.Ports.SerialPort
Delegate Sub SetTextCallback(ByVal [text] As String)
Private Sub frmTelaVenda_Load(sender As Object, e As EventArgs) Handles MyBase.Load
abreporta
end sub
private sub abreporta
try
With mySerialPort
.PortName = [Ô]COM3[Ô]
.BaudRate = 9600
.Parity = Parity.None
.DataBits = 8
.StopBits = StopBits.One
.ReadTimeout = 150
End With
mySerialPort.Open()
end sub
Private Sub mySerialPort_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles mySerialPort.DataReceived
Try
SetText(mySerialPort.ReadExisting())
Catch ex As Exception
End Try
End Sub
Private Sub SetText(ByVal [text] As String)
Try
If Me.TxtDescricao.InvokeRequired Then
Dim d As New SetTextCallback(AddressOf SetText)
Me.Invoke(d, New Object() {[text]})
Else
Dim texts As System.Text.RegularExpressions.Match
For Each texts In System.Text.RegularExpressions.Regex.Matches([text].ToString.Trim, [Ô]\d+(\.?\d+)[Ô])
TxtDescricao.Text = texts.Value
Next
If TxtDescricao.Text.Length > 0 Then
chamarotinavenda
End If
end if
text = Nothing
Catch ex As Exception
End Try
End Sub
Ou tem outro jeito de ser feito...
Obrigado.
tente verificar aqui se a string esta nula
Private Sub SetText(ByVal [text] As String)
if text <> [Ô][Ô] then
ai segue sua rotina
else
vc usa algo de alerta
end if
Private Sub SetText(ByVal [text] As String)
if text <> [Ô][Ô] then
ai segue sua rotina
else
vc usa algo de alerta
end if
Tópico encerrado , respostas não são mais permitidas