Página 1 de 1

Trabalhar com arquivo txt

Enviado: 17 Jul 2019 18:00
por prmuller
Boa tarde amigos!
Alguém teria alguma idéia para o seguinte problema?
Preciso criar um relatório de laudo de vistoria técnica.
Esse laudo tem 20 ítens e cada um com mais 20 subítens com o resultado de conformidade sim ou não.
Até aí tudo bem. Crio o arquivo de entrada e dele faço o relatório.
Tenho uma tabela dos subítens em txt e queria que ao ser digitado o subítem o sistema localizasse no txt, pelo código a respectiva descrição que são bem extensas.
Seria possível fazer isso?

Agradeço qualquer luz.

Paulo Muller

Trabalhar com arquivo txt

Enviado: 17 Jul 2019 18:40
por alxsts
Olá!

Rotina para fazer buscas em arquivos .TXT podem ser encontradas aqui mesmo no Fórum. O que realmente me pareceu estranho é você trabalhar estas informações em arquivos .TXT...

Trabalhar com arquivo txt

Enviado: 17 Jul 2019 18:53
por prmuller
Não amigo, é um txt único. Seria mais para não digitar os subítens que são extensos.

Trabalhar com arquivo txt

Enviado: 17 Jul 2019 19:58
por JoséQuintas
De qualquer jeito precisa processar o txt.
Uma opção seria importar para um array.

Considerando:

Se for uma lista de códigos, melhor importar e deixar pronto em outro formato
Se for uma modificação de algo existente, pode usar array

O trabalho de criar o fonte de conversão vai ser o mesmo.

Trabalhar com arquivo txt

Enviado: 17 Jul 2019 20:38
por prmuller
Agradeço a todos pelas respostas. Vou resolver da maneira seguinte: Renomeio o txt para prg e cada subítem vira uma função com o nome do seu código para retornar a descrição.
Simples e prático!

Obrigado.

Trabalhar com arquivo txt

Enviado: 17 Jul 2019 23:08
por JoséQuintas
Então é uma lista de códigos pra importar, e não um documento pra ser atualizado.
Se for pouca coisa faz assim, senão outra opção é importar pra Excel e depois para o aplicativo, ou do Excel salvar em DBF ou do txt gerar PRG porque não...

Trabalhar com arquivo txt

Enviado: 18 Jul 2019 07:37
por prmuller
Bom dia mestre Quintas!
É uma coisa fixa, sem atualização, então, criando processos, resolve.

Sds,

Trabalhar com arquivo txt

Enviado: 21 Jul 2019 11:06
por caputo
Quando abro um arquivo XML referente a DANFE para importar para meu sistema o mesmo não abre estruturado

Como eu gravo um Registro para cada linha do XML o mesmo teria que estar estruturado

Para eu importar para meu sistema tenho que usar um aplicativo externo XML Viewer para Salvar o mesmo estruturado

Teria como fazer de outra forma, para que o arquivo XML fique Estruturado ???

Trabalhar com arquivo txt

Enviado: 21 Jul 2019 11:23
por bencz
caputo,
Veja o exemplo do Wanderlei: viewtopic.php?f=4&t=17201
Outra possibilidade é usar o sistema do Harbour para abir e ler o XML, então, você salva o XML que foi aberto, com a opção de formatação com quebra de linha

Outro ponto, leia isto: https://educacao.uol.com.br/disciplinas ... ronome.htm

Trabalhar com arquivo txt

Enviado: 21 Jul 2019 12:43
por Itamar M. Lins Jr.
Ola!
Teria como fazer de outra forma, para que o arquivo XML fique Estruturado ???
Está estruturado! O windows, não detecta o final de linha com LF somente!
Se abrir no wordpad, notepad++ etc, vai ver que está correto.

Use a ferramenta (função) do José Quintas.

Código: Selecionar todos

FUNCTION XmlNode( cXml, cNode, lComTag )
LOCAL nInicio, nFim, cResultado := ""

   hb_Default( @lComTag, .F. )
   
   nInicio := At( "<" + cNode, cXml )
   
   IF " " $ cNode
      cNode := Substr( cNode, 1, At( " ", cNode ) - 1 )
   ENDIF

   IF nInicio != 0
      IF ! lComTag
         nInicio := nInicio + Len( cNode ) + 2
         IF nInicio != 1 .AND. Substr( cXml, nInicio - 1, 1 ) != ">" // Quando tem elementos no bloco
            nInicio := hb_At( ">", cXml, nInicio ) + 1
         ENDIF
      ENDIF
      nFim := hb_At( "</" + cNode + ">", cXml, nInicio )
      IF nFim != 0
         nFim -=1
         IF lComTag
            nFim := nFim + Len( cNode ) + 3
         ENDIF
         cResultado := Substr( cXml, nInicio, nFim - nInicio + 1 )
      ENDIF
   ENDIF

   RETURN cResultado
Muito boa, coisa de gênio mesmo rsrsrsr!
Veja a classe completa no GITHUB do José Quintas.
https://github.com/JoseQuintas

Saudações,
Itamar M. Lins Jr.