PESQUISA EM ARQ. TEXTO

IRENKO 05/06/2007 11:32:29
#219806
Tenho o arquivo texto abaixo separado por (;), a dúvida é a sequinte: como faço uma pesquisa na primeira coluna consistido no LostFocus de um TextBox se conteudo digitado no mesmo existe na primeira coluna do arquivo texto? Se NÃO mostro mensagem (Numero incorreto), se SIM faz nada.

43;PASTA CRISTAL (LATA COM 0,3 KG);0
94;AÇO LAMINADO SAE 1045 DIAMETRO 5.1/2"X600MM;0
256;CANTONEIRA AÇO ASTM A36 1.1/2"X1.1/2"X3/16"X12000MM;0
264;CANTONEIRA AÇO ASTM A36 1.1/2"X1.1/2"X1/4"X12000MM;0
272;CANTONEIRA AÇO ASTM A36 1.3/4"X1.3/4"X3/16"X12000MM;0
280;CANTONEIRA AÇO ASTM A36 2"X2"X3/16"X12000MM;0
299;CANTONEIRA AÇO ASTM A36 2"X2"X1/4"X12000MM;0
302;CANTONEIRA AÇO ASTM A36 2"X2"X5/16"X12000MM;0
310;CANTONEIRA AÇO ASTM A36 2.1/2"X2.1/2"X3/16"X12000MM;0
329;CANTONEIRA AÇO ASTM A36 2.1/2"X2.1/2"X1/4"X12000MM;0
337;PERFIL SOLDADO;0
345;CONTRA PINO GALCANIZADO 3X40MM DIN 94;17
353;CANTONEIRA AÇO ASTM A36 3"X3"X1/4"X12000MM;0
361;CANTONEIRA AÇO ASTM A36 3"X3"X5/16"X12000MM;0
370;CANTONEIRA AÇO ASTM A36 3"X3"X3/8"X12000MM;0
388;CANTONEIRA AÇO ASTM A36 4"X4"X5/16"X12000MM;0
396;CANTONEIRA AÇO ASTM A36 4"X4"X3/8"X12000MM;0
USUARIO.EXCLUIDOS 05/06/2007 11:49:18
#219811
Resposta escolhida
Se é o que entendi... tenta o código abaixo e vÃÅ  se resolve.... não se esqueça de substituir o caminho do arquivo.

Private Sub Text1_LostFocus()
Dim Encontrou As Boolean
Dim ValorProc As String

ValorProc = Me.Text1.Text

Open "D:\Benjamim\Códigos de Teste\Arq.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, strLinha
leLinha = Split(strLinha, ";")
If ValorProc = leLinha(0) Then
Encontrou = True
End If
Loop
Close #1

If Encontrou = False Then MsgBox "Número incorreto!"

End Sub


Se isso resolveu seu problema, não se esqueça de fechar o tópico e pontuar.. blz!!!

Abraços,
USUARIO.EXCLUIDOS 05/06/2007 11:57:08
#219814
Meu fiz pra ti o exemplo so que coloquei no evento CLICK , so que seguinte eu fiz pra verificar se o numero e valido... agora so falta voce fazer um macete pra identificar quando nao e valido.. pra nao ficar repetindo em todas as linhas do arquivo.. porque coloquei tudo em um loop =D
segue o codigo:

Dim resul1() As String

Private Sub Command1_Click()
Open "C:\aff.txt" For Input As #1

Do While Not EOF(1)
Line Input #1, linha

resul1 = Split(linha, ";", 3)

If Text1.Text = Empty Then
MsgBox "campo nao pode ser vazio"
Close 1
Exit Sub
Else
If Text1.Text = resul1(0) Then
MsgBox "numero valido"
Close 1
Exit Sub
End If
End If
Loop

End Sub


flw's
IRENKO 05/06/2007 13:26:07
#219827
MRBENJAMIM, o seu exemplo deu certo para a minha finalidade so que pintou uma eventualidade, se o numero esta errado e eu tento sair do form pressionando o botão sair, evidentimente estou usando o evento LostFocus do TextBox e assim não consigo fechar o form e continua mostrando a mensagem. Existe maneira de resolver?


USUARIO.EXCLUIDOS 05/06/2007 13:47:11
#219837
Sim.... basta você colocar um If dizendo que caso seja vazio saia

Private Sub Text1_LostFocus()
Dim Encontrou As Boolean
Dim ValorProc As String

ValorProc = Me.Text1.Text

If ValorProc = "" Then ExitSub

Open "D:\Benjamim\Códigos de Teste\Arq.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, strLinha
leLinha = Split(strLinha, ";")
If ValorProc = leLinha(0) Then
Encontrou = True
End If
Loop
Close #1

If Encontrou = False Then MsgBox "Número incorreto!"

End Sub


Blz!
IRENKO 05/06/2007 14:15:53
#219847
Valeu MRBENJAMIM!!
USUARIO.EXCLUIDOS 05/06/2007 14:18:02
#219849
MRBENJAMIM, bronw ja que estamos aqui poderia me ajudar a resolver um grande problema que encontro .. nesse meu topico criado...

http://www.vbmania.com.br/vbmania/vbmforum.php?varMethod=Abrir&varID=219603&varSubPagina=1&varWorld=1
Tópico encerrado , respostas não são mais permitidas