Página 1 de 1

TXT com espaços criados pelo TAB

Enviado: 16 Ago 2009 20:13
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.

Re: TXT com espaços criados pelo TAB

Enviado: 16 Ago 2009 20:42
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.

Re: TXT com espaços criados pelo TAB

Enviado: 16 Ago 2009 20:45
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.

Re: TXT com espaços criados pelo TAB

Enviado: 17 Ago 2009 08:18
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

Re: TXT com espaços criados pelo TAB

Enviado: 17 Ago 2009 08:32
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,

Re: TXT com espaços criados pelo TAB

Enviado: 17 Ago 2009 12:53
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.

Re: TXT com espaços criados pelo TAB

Enviado: 18 Ago 2009 01:08
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ó.

Re: TXT com espaços criados pelo TAB

Enviado: 18 Ago 2009 10:33
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