criar txt via dbf

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

tonyx
Usuário Nível 3
Usuário Nível 3
Mensagens: 303
Registrado em: 07 Jul 2004 15:26

criar txt via dbf

Mensagem por tonyx »

tenho um dbf e gero um txt pelo comando
USE &ARQUIVO
COPY TO TEXTO.TXT SDF
--------
so que o banco diz que no final do arquivo txt tem uma linha em branco
que eo comando de fim do arquivo que o proprio clipper usa
como detonar esta misera linha sem toda vez usar o notepad
--------
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem por Stanis Luksys »

Ola amigo,

Crie um rotina que abra seu TXT com MemoRead(), pesquise o caracter com At(), delete este caracter com StrTran() ou Stuff(), e finalmente grave novamente o TXT com MemoWrit().

Se encontrar dificuldades em criar esta rotina poste aqui que podemos ajuda-lo.

É isso aí.
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
tonyx
Usuário Nível 3
Usuário Nível 3
Mensagens: 303
Registrado em: 07 Jul 2004 15:26

resp

Mensagem por tonyx »

nada ainda tem uma linha a baixo e feita automatica
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem por Stanis Luksys »

Não entendi bem, vc quer jogar o TXT pro banco?

Se for isso, uma alternativa seria tentar usando a funcao FCount() para saber quantas linhas tem seu TXT, depois execute um loop de inclusão no banco, tipo:

Código: Selecionar todos

var := 1
do while var <= fCount("arq.txt")-1
  
  dbAppend()
  replace campo with...

  var++

enddo
Seria issso?
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
tonyx
Usuário Nível 3
Usuário Nível 3
Mensagens: 303
Registrado em: 07 Jul 2004 15:26

esta aqui funcionou

Mensagem por tonyx »

* esta aqui o banco aceitou *
*---- coisa simples ----------
:))
*----------
parte1:= 'parte1.txt'
parte2:= 'parte2.txt'
parte3:= 'parte3.txt'
erase(parte1)
erase(parte2)
erase(parte3)
use banco2400
reg_fim:= reccount()
go bott
txt_fim:= alltrim(linha)
copy to &parte1 sdf for recno() < reg_fim
close
tst:= memowrit(parte2,txt_fim)
run copy &parte1+&parte2 &parte3
Responder