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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  alguem pode resolver esta?
JOAO CARLOS
não registrado
ENUNCIADA !
Postada em 12/06/2009 13:11 hs   
Tenho um arquivo texto como segue abaixo
1  MARIA   001
1  JOAO    002
1  ANTONIO 004
3  004AVISTA
3  004APRAZO
3  004SEMJUROS
3  001AVISTA
3  002AVISTA
3  002APRAZO
como faria para que o txt ficasse como abaixo
1 MARIA  001; 001AVISTA
1 JOAO   002; 002AVISTA;002APRAZO
2ANTONIO 004; 004AVISTA;004APRAZO;004SEMJUROS
como podem os registros iniciados em "1" possuem como comparação para anexar
os registros de inicio "3"  o inicio 9 da coluna
agradeço a colaboração
JC
   
Sandro
não registrado
ENUNCIADA !
Postada em 12/06/2009 20:51 hs   
Cara, não entendi nada...por quê fazer isso? Aliás, por quê o seu txt está estruturado dessa forma? E por quê você quer alterar essa estrutura?
Acredito que não haja necessidade de fazer isso, pois você pode tratar esses relacionamentos via código através de dois vetores (ou matrizes, usando Type).
Por favor, explique melhor isso, pois está muito confuso...
 
Sandro.
 
   
joao carlos
não registrado
Postada em 13/06/2009 10:26 hs   
infelizmente eu recebo o txt desta forma, concordo que é um samba de crioulo doido. é que eu preciso anexar em tabela access via vb e nem sei por onde começar. eu preciso que nesta tabela conste o nome dos clientes e no campo condições conste os prazos correspondentes a cada registro que esta no txt com inicial 3.  espero que tenha explicado melhor, se vc puder me dar uma dica que como fazer isto agradeço muito
jc
     
Sandro
não registrado
ENUNCIADA !
Postada em 13/06/2009 21:13 hs   
Realmente esse arquivo é uma zona, mas se não tem jeito, vamos lá.
Acredito que a melhor coisa seria fazer como eu disse no outro posto, usar dois vetores. Eu gosto de usar vetores, pois são mais rápidos e economizam memória, mas se você preferir pode usar uma collection com classes personalizadas.
Você pode criar dois vetores para conter os dados de cada tipo de registro, um para os tipos 1 e outro para os tipos 3.
 
Dim Vet1() As String, Vet3() As String
Dim Max1 As Integer, Max3 As Integer, Cont1 As Integer, Cont3 As Integer
Dim Linha As String, Linha2 As String
 
Open <Seu Arquivo> For Input As #1
Max1 = -1
Max3 = -1
Do While Not EOF(1)
    Linha = ""
    Line Input #1, Linha
    If Left$(Trim(Linha), 1) = "1" Then
        Max1 = Max1 + 1
        ReDim Preserve Vet1(Max1)
        Vet1(Max1) = Linha
    Else
        Max3 = Max3 + 1
        ReDim Preserve Vet3(Max3)
        Vet3(Max3) = Linha
    End If
Loop
Close #1
Open "C:Resultado.txt" For Output As #2
For Cont1 = 0 To Max1
    Linha2 = Vet1(Cont1)
    For Cont3 = 0 To Max3
        If Right(Vet1(Cont1), 3) = Mid$(Vet3(Cont3), 4, 3) Then
            Linha2 = Linha2 & ";" & Mid$(Vet3(Cont3), 2)
         End If
    Next
    Print #2, Linha2
Next
Close #2
 
Isso vai criar um arquivo chamado resultado.txt que deverá estar no formato que você quer.
 
Sandro
   
joao carlos
não registrado
ENUNCIADA !
Postada em 14/06/2009 18:36 hs   
valeu sandro
 
é que no momento não estou em meu local de trabalho, segund feira irei testar e com certeza estarei enviando resposta do resultado, mas desde já agradeço muito a sua ajuda
JC
   
Donizete
IBITINGA
SP - BRASIL
ENUNCIADA !
Postada em 21/06/2009 12:58 hs            
Bom não sei se vc já resolveu seu problema, mas no site do macoratti (http://www.macoratti.net/txt_arqs.htm) tem alguma coisa falando a respeito, não seei se é exatamente do que precisa.
 
abs.
 
 
 
 
 
   
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

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

HTML DESLIGADO

     
 VOLTAR

  



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