VB - BUSCANDO UM CODIGO DENTRO DE UM ARQUIVO TXT
Boa tarde,
Sou novo no fórum, e preciso de uma ajuda pessoal. Estou usando o Visual Studio 2008, e preciso fazer uma aplicação de que busque códigos de barra dentro de um arquivo TXT. A Idéia, é comparar o Código Digitado no textbox com o arquivo TXT. Caso o código digitado não exista, forneça um msgbox, dizendo que o código não é cadastrado. Essa aplicação é para Windows Mobile. o Leitor é um X13-12056. Alguém pode dar uma Luz ?
Sou novo no fórum, e preciso de uma ajuda pessoal. Estou usando o Visual Studio 2008, e preciso fazer uma aplicação de que busque códigos de barra dentro de um arquivo TXT. A Idéia, é comparar o Código Digitado no textbox com o arquivo TXT. Caso o código digitado não exista, forneça um msgbox, dizendo que o código não é cadastrado. Essa aplicação é para Windows Mobile. o Leitor é um X13-12056. Alguém pode dar uma Luz ?
[ô]Coloque este código num botão. é necessário colocar um arquivo xxx.txt na área C:\. Lembre-se que se os dados não [ô]retornarem é por que geralmente um arquivo na raiz do disco C: é protegido. Então é mais recomendado inseri-lo em Meus [ô]Documento e modificar o caminho no código. Insira um Text1 e um botão. Tente adapitá-lo ao VS 2008. Esse foi desenvolvido em VB6.
[ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô]
On Error Resume Next [ô]use isso para evitar erros
arq = [Ô]D:\xxx.txt[Ô] [ô]Caminho do arquivo. Aconselho usar uma variável caso seja um projeto baseado em GUI
x = FreeFile()
Open arq For Input As x
y = Input(LOF(x), x)
Close x
L = Split(y, vbCrLf)
inf = L(UBound(L) - 1) [ô]posição da informação em L no documento._
[ô]Se você modificar o número [Ô]¨1[Ô] vai mudar a linha de leitura em ordem decrescente.
[ô]Ou seja, se houver 10 elementos no arquivo o número 1 retorna o ultimo elemento gravado.
C = Right(inf, 20) [ô]Quantidade de caracteres exibidos por L
If Text1 = C Then
MsgBox [Ô]Essa informação EXISTE no arquivo[Ô]
Else
MsgBox [Ô]Essa informação NÃO EXISTE no arquivo[Ô]
End If
[ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô]
Espero que eu tenho ajudado!
[ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô]
On Error Resume Next [ô]use isso para evitar erros
arq = [Ô]D:\xxx.txt[Ô] [ô]Caminho do arquivo. Aconselho usar uma variável caso seja um projeto baseado em GUI
x = FreeFile()
Open arq For Input As x
y = Input(LOF(x), x)
Close x
L = Split(y, vbCrLf)
inf = L(UBound(L) - 1) [ô]posição da informação em L no documento._
[ô]Se você modificar o número [Ô]¨1[Ô] vai mudar a linha de leitura em ordem decrescente.
[ô]Ou seja, se houver 10 elementos no arquivo o número 1 retorna o ultimo elemento gravado.
C = Right(inf, 20) [ô]Quantidade de caracteres exibidos por L
If Text1 = C Then
MsgBox [Ô]Essa informação EXISTE no arquivo[Ô]
Else
MsgBox [Ô]Essa informação NÃO EXISTE no arquivo[Ô]
End If
[ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô]
Espero que eu tenho ajudado!
colega a partir da versão 2005 ,do visual studio entende-se por VB.NET, então depois desta dica aconselho a postar suas duvidas no forum VB.NET
para ler e comparar um arqui texto é assim
postei o código funcionando em um botão, porem você pode coloca-lo no change e usando um IF para verificar a quantidade de caracteres e se for 13 dar um enter e pesquisar automaticamente, sem ter que ficar pressionando botão
para ler e comparar um arqui texto é assim
Private Sub btnLer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLer.Click
Dim fluxoTexto As IO.StreamReader
Dim linhaTexto As String
If IO.File.Exists([Ô]c:\seutexto.txt[Ô]) Then
fluxoTexto = New IO.StreamReader([Ô]c:\seutexto.txt[Ô])
linhaTexto = fluxoTexto.ReadLine
If linhaText0 = txtCodBarra.Text Then
MessageBox.Show([Ô]Código Existe[Ô])
Else
MessageBox.Show([Ô]Código não existe[Ô])
End If
fluxoTexto.Close()
Else
MessageBox.Show([Ô]Arquivo não existe[Ô])
End If
End Sub
postei o código funcionando em um botão, porem você pode coloca-lo no change e usando um IF para verificar a quantidade de caracteres e se for 13 dar um enter e pesquisar automaticamente, sem ter que ficar pressionando botão
Obrigado pela ajuda.... Marcelo e Mikey,
Segui sua dica Marcelo, mas esta comparando sempre com a primeira linha do TXT. qualquer código que ele busque, esta sempre comparando com a primeira linha. Meu txt esta assim:
7891093044414
7894200027836
7891093044995
7894200108573
7894200108597
7894200108627
7894200138389
Ele sempre compara com a primeira Linha 7891093044414. como faço pra comparar com o restante dos códigos?
Abaixo, como eu fiz. desde Já agradeço.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim fluxoTexto As IO.StreamReader
Dim linhaTexto As String
If IO.File.Exists([Ô]\Windows\Desktop\produtos.txt[Ô]) Then
fluxoTexto = New IO.StreamReader([Ô]\Windows\Desktop\produtos.txt[Ô])
linhaTexto = fluxoTexto.ReadLine
If linhaTexto = txtCodBarra.Text Then
MessageBox.Show([Ô]Código Existe[Ô])
Else
MessageBox.Show([Ô]Código não existe[Ô])
End If
fluxoTexto.Close()
Else
MessageBox.Show([Ô]Arquivo não existe[Ô])
End If
End Sub
Segui sua dica Marcelo, mas esta comparando sempre com a primeira linha do TXT. qualquer código que ele busque, esta sempre comparando com a primeira linha. Meu txt esta assim:
7891093044414
7894200027836
7891093044995
7894200108573
7894200108597
7894200108627
7894200138389
Ele sempre compara com a primeira Linha 7891093044414. como faço pra comparar com o restante dos códigos?
Abaixo, como eu fiz. desde Já agradeço.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim fluxoTexto As IO.StreamReader
Dim linhaTexto As String
If IO.File.Exists([Ô]\Windows\Desktop\produtos.txt[Ô]) Then
fluxoTexto = New IO.StreamReader([Ô]\Windows\Desktop\produtos.txt[Ô])
linhaTexto = fluxoTexto.ReadLine
If linhaTexto = txtCodBarra.Text Then
MessageBox.Show([Ô]Código Existe[Ô])
Else
MessageBox.Show([Ô]Código não existe[Ô])
End If
fluxoTexto.Close()
Else
MessageBox.Show([Ô]Arquivo não existe[Ô])
End If
End Sub
tenta ai agora
tenta agora colega, e me desculpe é que não sou programador .net somente vb6, por isso dos errinhos
Private Sub btnLer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLer.Click
Dim fluxoTexto As IO.StreamReader
Dim linhaTexto As String
If IO.File.Exists(([Ô]\Windows\Desktop\produtos.txt[Ô]) Then
fluxoTexto = New IO.StreamReader(([Ô]\Windows\Desktop\produtos.txt[Ô])
linhaTexto = fluxoTexto.ReadLine
While linhaTexto <> Nothing
linhaTexto = fluxoTexto.ReadLine
If linhaTexto = txtCodBarra.Text Then
MessageBox.Show([Ô]Código Existe[Ô])
Else
MessageBox.Show([Ô]Código não existe[Ô])
End If
End While
fluxoTexto.Close()
Else
MessageBox.Show([Ô]Arquivo não existe[Ô])
End If
End Sub
tenta agora colega, e me desculpe é que não sou programador .net somente vb6, por isso dos errinhos
caso a rotina acima não funcione tente esta
Private Sub btnLer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLer.Click
Dim fluxoTexto As IO.StreamReader
Dim linhaTexto As String
If IO.File.Exists([Ô]\Windows\Desktop\produtos.txt[Ô]) Then
fluxoTexto = New IO.StreamReader([Ô]\Windows\Desktop\produtos.txt[Ô])
linhaTexto = fluxoTexto.ReadLine
While Not fluxoTexto.EndOfStream
linhaTexto = fluxoTexto.ReadLine
If linhaTexto = txtCodBarra.Text Then
MessageBox.Show([Ô]Código Existe[Ô])
Else
MessageBox.Show([Ô]Código não existe[Ô])
End If
End While
fluxoTexto.Close()
Else
MessageBox.Show([Ô]Arquivo não existe[Ô])
End If
End Sub
Agora ta Comparando somente a segunda linha... como no anexo
e o segundo codigo vc testou
Bom dia,
Sim Marcelo, o segundo código também faz a mesma coisa, ele compara qualquer código com apenas a segunda linha do TXT. Como na Imagem Anterior.
Sim Marcelo, o segundo código também faz a mesma coisa, ele compara qualquer código com apenas a segunda linha do TXT. Como na Imagem Anterior.
bom colega eu te dei o caminho das aguas tranfira agora o código postado por mim pára o forum VB.NET, que o pessoal acaba de te ajudar la.
Faça seu login para responder