USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Comparar conteudo entre dois arquivos texto
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 14/05/2008 20:14 hs            
depois de penar durante algum tempo cheguei a um veredito
 
veja o código:
 
Private Sub Command1_Click()
ComparaTXT "c: este1.txt", "c: este2.txt", "c: este3.txt"
End Sub

Public Function ComparaTXT(OriginalTXT As String, CompararTXT As String, NovoTXT As String)
Dim Arq1      As Integer
Dim Arq2      As Integer
Dim Arq3      As Integer
Dim Texto(5)  As String
Dim OrigLine  As String ' Linha Original
Dim CompLine  As String ' Linha de Comparação
 
  Arq2 = FreeFile
  Open CompararTXT For Input As #Arq2 ' abre o segundo arquivo
  Arq3 = FreeFile
  Open NovoTXT For Output As #Arq3    ' abre o novo arquivo a ser salvo
 
  Do While Not EOF(Arq2) 'Inicia o Loop no arquivo a se comparar
      Line Input #Arq2, CompLine ' grava a linha em Compline - linha de comparação
      Arq1 = FreeFile
      Open OriginalTXT For Input As #Arq1 'Abre o arquivo original que servira de base para consulta
      Do While Not EOF(Arq1) ' inicia um novo Loop dentro do primeiro Loop
      Line Input #Arq1, OrigLine ' grava a linha em OrigLine - linha de Origem
      ' supondo que o arquivo original seja:
      ' ---------------------------------------------------------------------
      ' 1111111111111111207EMP11/09/2007
      '----------------------------------------------------------------------
      ' a função abaixo irá separa-lo da seguinte forma
      '
      ' texto(0) tira as barras ficando a string assim
      ' 
      ' 1111111111111111207EMP11092007
      '
      ' texto(1)= 1111111111111111
      ' texto(2)= 207
      ' texto(3)= EMP
      ' texto(4)= 10092007
      Texto(0) = Replace(OrigLine, "/", "")
      Texto(1) = Mid(Texto(0), 1, 16)
      Texto(2) = Mid(Texto(0), 17, 3)
      Texto(3) = Mid(Texto(0), 20, 3)
      Texto(4) = Mid(Texto(0), 23, Len(Texto(0)))
      ' agora é feito a seguinte verificação
      ' se a ocorrência for encontrada no arquivo a se comparar
      ' então grava o resultado no arquivo 3
      '
      ' ex: no arquivo a se comparar a ocorrência existe
      ' 001EMP207500100001100100634370000010
      '    ||||||                                       
      ' 000110920071111111111111111613081998
      '    
||||||||||||||||||||||||
      If InStr(1, CompLine, Texto(1)) <> 0 And _
         InStr(1, CompLine, Texto(2)) <> 0 And _
         InStr(1, CompLine, Texto(3)) <> 0 And _
         InStr(1, CompLine, Texto(4)) <> 0 Then
      Print #Arq3, CompLine ' grava somente o que for encontrado no arquivo 3
      End If
      Loop
      Close #Arq1
  Loop
  Close #Arq2
  Close #Arq3
End Function
Pronto baseado nisto você poderá fazer as alterações em MID para que as ocorrências
se ajustem as suas necessidades
 
até mais diga se funcionou
 
 
TÓPICO EDITADO
 
LUIZ PEDRO
SAO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 23/05/2008 12:23 hs            
E ai Treze blz !

Desculpe a demora para responder, mas estava na correria ! O programa funcionou legal, valeu mesmo pela força !

Até mais !
   
Página(s): 6/6     « ANTERIOR  

CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página