Trabalhar com arquivo txt

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

prmuller
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 11 Nov 2008 12:25
Localização: Vila Velha - ES

Trabalhar com arquivo txt

Mensagem 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
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Trabalhar com arquivo txt

Mensagem 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...
[]´s
Alexandre Santos (AlxSts)
prmuller
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 11 Nov 2008 12:25
Localização: Vila Velha - ES

Trabalhar com arquivo txt

Mensagem por prmuller »

Não amigo, é um txt único. Seria mais para não digitar os subítens que são extensos.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Trabalhar com arquivo txt

Mensagem 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
prmuller
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 11 Nov 2008 12:25
Localização: Vila Velha - ES

Trabalhar com arquivo txt

Mensagem 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.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Trabalhar com arquivo txt

Mensagem 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...
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
prmuller
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 11 Nov 2008 12:25
Localização: Vila Velha - ES

Trabalhar com arquivo txt

Mensagem por prmuller »

Bom dia mestre Quintas!
É uma coisa fixa, sem atualização, então, criando processos, resolve.

Sds,
caputo
Usuário Nível 1
Usuário Nível 1
Mensagens: 23
Registrado em: 29 Out 2007 08:39
Localização: Olímpia/SP

Trabalhar com arquivo txt

Mensagem 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 ???
Anexos
XML estruturado da forma que preciso
XML estruturado da forma que preciso
XML Não estruturado
XML Não estruturado
Avatar do usuário
bencz
Usuário Nível 4
Usuário Nível 4
Mensagens: 524
Registrado em: 28 Abr 2012 17:36
Contato:

Trabalhar com arquivo txt

Mensagem 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
Imagem
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Trabalhar com arquivo txt

Mensagem 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.
Saudações,
Itamar M. Lins Jr.
Responder