Geração de arquivo texto

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

ARPRADO
Usuário Nível 1
Usuário Nível 1
Mensagens: 1
Registrado em: 22 Abr 2009 11:35
Localização: Teresina-PI

Geração de arquivo texto

Mensagem 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
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: Geração de arquivo texto

Mensagem 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.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Maurício Elias
Usuário Nível 3
Usuário Nível 3
Mensagens: 304
Registrado em: 12 Mai 2005 08:48

Re: Geração de arquivo texto

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

Re: Geração de arquivo texto

Mensagem 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
[]´s
Alexandre Santos (AlxSts)
Responder