Página 1 de 1

Geração de arquivo texto

Enviado: 22 Abr 2009 11:43
por ARPRADO
Eu estou gerando um arquivo texto para a receita federal mais tem um porém.
No final do arquivo fica um caracter que com ele não valida, só qdo é removido.
Como faço para omitir este caracter ().

A geração do arquivo é bem simples.

Código: Selecionar todos

set alternate to (marq)
set alternate on
While !eof()
  ?? texto
  ?
enddo
set alternate off
set alternate to

Re: Geração de arquivo texto

Enviado: 22 Abr 2009 19:03
por alaminojunior
Opte por criar este arquivo com as funções de baixo nível do Clipper.

Código: Selecionar todos

fhandle:= fcreate("c:\arquivo.txt")
While !eof()
  fwrite(fhandle,texto)
  skip
enddo
fclose(fhandle)
Talvez precise incluir o salto de linha, mas isso é mole.

Re: Geração de arquivo texto

Enviado: 04 Jun 2009 18:01
por Maurício Elias
Olá colega.

Eu faço assim:

Código: Selecionar todos

  set device to print
  set printer to &Warq
  select palm
  go top
  do while !eof()
    @prow(),00 say trim(linha)
    skip
    if !eof()
      @prow()+1,00 say ""
    endif
  enddo
  set printer to
  set device to screen
Abraços.

_______
Maurício



---
Nota da Moderação (Maligno):
A presente mensagem foi editada para inserir o código postado dentro de tags de visualização de código. Por favor, no futuro, use essas tags, pois se já é difícil ler o código alheio, pior fica sem a devida indentação.

Re: Geração de arquivo texto

Enviado: 05 Jun 2009 23:43
por alxsts
Olá!

Benvindo ao Fórum, ARPrado!

Provavelmente o caracter a mais é um Chr(26) ou Control Z, marcador de final de arquivo...
Alamino Jr escreveu
"Talvez precise incluir o salto de linha, mas isso é mole.
Se optares pela solução do Alamino Jr, acrescente um CR + LF a cada linha...fwrite(fhandle,texto + Chr(13) + Chr(10) )

Código: Selecionar todos

    fhandle:= fcreate("c:\arquivo.txt")
    While !eof()
      fwrite(fhandle,texto + Chr(13) + Chr(10))
      skip
    enddo
    fclose(fhandle)
Pessoalmente prefiro esta forma. Já a solução do Maurício Elias, utiliza o operador macro ( & ), o que procuro evitar ao máximo pois aumenta o tamanho do .Exe e degrada a performance.

[]'s
AlxSts