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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  unir arquivos txt
joao carlos
não registrado
ENUNCIADA !
Postada em 18/05/2009 08:41 hs   
bom dia
tenho dois arquivos txt como o exemplo abaixo
arquivo 1
0001  antonio
0002  maria
0003  jose
 
Arquivo 2
0001          00010000
0002          3565254
0003                98988888
 
como faço para que esta coluna do arquivo fique ao lado dos nomes correspondentes ao mesmo numero inicial? (001,002,...)
agradeço a coloboração
att
luiz
 
   
J.Carlos
Pontos: 2843
PRESIDENTE PRUDENTE
SP - BRASIL
Postada em 19/05/2009 08:32 hs            
'A idéia desta rotina é juntar conforme vc deseja, mesmo que não haja
'correpondencia entre os registros. Este tipo de rotina era o que se usava quando
'programavávamos no velho cobol e o nosso banco de dados ainda era em fita magnética, rsrsrs.
'No caso, vamos ler arquivo1 e arquivo2 e gravando o arquivo3.
'Obs: se Arq1 ou Arq2 estiverem fora de ordem a rotina pode não funcionar.
'     Também montei aqui sem testar, o resto agora é contigo.
 
Type Registro1
   cdReg1 As String * 4
   nmPessoa As String * 40
   resto1 As String * 2
End Type
Type Registro2
   cdReg2 As String * 4
   nmEspacos As String * 10
   nrPessoa As String * 8
   resto2 As String * 2
End Type
Type Registro3
   cdReg3 As String * 4
   nmPessoa As String * 40
   nrPessoa As String * 8
   resto3 As String * 2
End Type
Public Reg1 As Registro1
Public Reg2 As Registro2
Public Reg3 As Registro3
Private sub form_Load() 'ou em outro local qualquer do form
 dim wCont as integer
 Open "c:Arquivo1.txt" For Input As 1
 Open "c:Arquivo2.txt" For Input As 1
 Open "c:Arquivo3.txt" For Random As 1 Len = Len(Reg3)
 call leArq1
 call leArq2
 Do Until EOF(1) and EOF(2)
    if reg1.cdReg1 = reg2.cdreg2 then
       wcont = wcont + 1
       reg3.cdreg3 = reg1.cdreg1
       reg3.nmPessoa = reg1.nmPessoa
       reg3.nrPessoa = reg2.nrPessoa
       reg3.resto3 = vbcrlf
       Put #3, wCont, Reg3
       call leArq1
       call leArq2
    elseif reg1.cdreg1 < reg2.cdreg2 then
       wcont = wcont + 1
       reg3.cdreg3 = reg1.cdreg1
       reg3.nmPessoa = reg1.nmPessoa
       reg3.nrPessoa = ""
       reg3.resto3 = vbcrlf
       Put #3, wCont, Reg3
       call leArq1
    else 'reg1.cdreg1 > reg2.cdreg2
       wcont = wcont + 1
       reg3.cdreg3 = reg2.cdReg2
       reg3.nmPessoa = ""
       reg3.nrPessoa = reg2.cdReg2
       reg3.resto3 = vbcrlf
       Put #3, wCont, Reg3
       call leArq2
    endif
  Loop
  Close #1
  close #2
  Close #3
End sub
Private sub LeArq1()
 Line Input #1, wReg1
 if Eof(1) then
    reg1.cdReg1 = 9999
 endif
End Sub
Private sub LeArq2()
 Line Input #2, wReg2
 if Eof(2) then
    reg2.cdReg2 = 9999
 endif
End Sub
 
     
joao carlos
não registrado
ENUNCIADA !
Postada em 19/05/2009 08:41 hs   
valeu
vou tentar aqui
JC
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



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