TXT com espaços criados pelo TAB

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

spereira
Usuário Nível 2
Usuário Nível 2
Mensagens: 85
Registrado em: 19 Jul 2004 11:42
Localização: Porto - Portugal

TXT com espaços criados pelo TAB

Mensagem por spereira »

Preciso da ajuda de todos os colegas clippeiros.

Tenho um cliente que, não sei como, me envia os seus dados num arquivo .TXT.
Ao fazer a conversão com o append from ... sdf, reparei que não estava gravando os registros nos campos corretamente a partir de uma determinada posição. Então verifiquei que a partir desta determinada posição estavam inseridos tabulações, em vez de espaços.
Há alguma forma de resolver este problemão sem ter de ir apagar os espaços e criá-los novamente no editor de texto?
Desta forma não está nada automático.

Obrigado.

Sérgio Pereira
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: TXT com espaços criados pelo TAB

Mensagem por Maligno »

Não uso esse tipo de importação, mas vejo duas maneiras de resolver isso. Pelo Clipper, lendo linha a linha e convertendo as tabulações em espaços. Ou carregando o texto num editor comum e fazendo uma conversão automática de uma vez só.

Também poderia ser pedido ao cliente que não use tabulações, se o programa gerador permite essa configuração, claro. Seria o caminho mais sensato.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
cleudson
Usuário Nível 1
Usuário Nível 1
Mensagens: 10
Registrado em: 15 Ago 2009 22:33
Localização: Pernambuco

Re: TXT com espaços criados pelo TAB

Mensagem por cleudson »

Bom, os espacos tabulados que vc se refere estao sempre no mesmo lugar ou cada txt quer vc rebebe os espacos estao em lugares diferentes? pois se estiverem sempre no mesmo lugar o que vc pode fazer é criar um dbf a parte e informar a coluna inicial e final para cada campo e ir dando append na sua tabela.
spereira
Usuário Nível 2
Usuário Nível 2
Mensagens: 85
Registrado em: 19 Jul 2004 11:42
Localização: Porto - Portugal

Re: TXT com espaços criados pelo TAB

Mensagem por spereira »

Infelizmente os espaços tabulados estão em linhas diferentes e com quantidade de tabs diferentes também. Algumas linhas de registro tem outras não.
Vou tentar junto ao cliente pra ver se dá pra ele não enviar desta forma, senão vou ter que fazer como o maligno disse, mandar substituir no editor de textos.

Obrigado
Sérgio

Sérgio Pereira
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Re: TXT com espaços criados pelo TAB

Mensagem por Toledo »

Sergio, você já tentou substituir as tabulações por espaços usando o STRTRAN()?

Eu não testei, mas veja se isto não resolve:

STRTRAN(linha,chr(9)," ")

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Re: TXT com espaços criados pelo TAB

Mensagem por gvc »

Vamos tentar algumas coisas:
- Veja e entenda como o seu cliente gera o tal arquivo texto. Talvez seja possível colocar algumas regras simples para ele montar o texto.
- Veja se é possivel montar uma importação de arquivo texto, usar o STRTRAN (Toledo) para converter os caracteres necessários.
- Veja se encontrar um editor que ajuste a formatação do texto conforme vc precisa. (esta é uma opção horrível)

Eu uso o NOTEPADE++ e ele permite criar e gravar macros.
Se o arquivo não tiver lógica nenhuma, procure usar as duas primeiras opções.

Boa sorte. Espero ter ajudado.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
cleudson
Usuário Nível 1
Usuário Nível 1
Mensagens: 10
Registrado em: 15 Ago 2009 22:33
Localização: Pernambuco

Re: TXT com espaços criados pelo TAB

Mensagem por cleudson »

Bem ja que o txt é todo desorganizado entao sugiro fazer o serguinte:
no editor de texto substitua tudo que tiver dois espacos por um antes de importacao, assim vai ficar tudo com um espaço só.
Euclides
Usuário Nível 3
Usuário Nível 3
Mensagens: 154
Registrado em: 12 Mai 2007 14:07
Localização: São Paulo, Capital

Re: TXT com espaços criados pelo TAB

Mensagem por Euclides »

spereira,
Deixe eu dar também o meu ´pitaco´...
Quando chegam estes dados com ´tabs malucos´ é porque foram gerados pelo Excel no formato texto. É só pedir ao cliente enviar no formato ´texto formatado (separado por espaços)´ que fica depois dos formatos DBF no combo de seleção de ´Salvar como tipo´.
Precisa tomar algum cuidado com a largura das células porque se for muito estreita, simplesmente trunca o campo.
Se tiver ´mesclagem de células´ na planilha, então ´danosse´, não sei como resolver...
Espero ter ajudado um pouco...
T+
Euclides
Responder