escrever continuamente em arquivo texto.

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

clebermano
Usuário Nível 3
Usuário Nível 3
Mensagens: 187
Registrado em: 03 Out 2004 12:39
Contato:

escrever continuamente em arquivo texto.

Mensagem por clebermano »

Prezados amigos, me deparo com a seguinte situacao.Eu preciso gerar um arquivo texto continuamente, ou seja, a cada vez que eu termino uma venda eu quero grava-la sequencialmente no arquivo texto, hoje o q esta acontecendo eh o seguinte, quando eu termino uma venda e comeco outra o arquivo atual "mata", o anterior, e assim pra mim nao da.
eu uso fcreate() para criar o arquivo, caso ele nao exista, depois uso o fopen(). para abri-lo, e na sequencia, fwrite(), para escrever, e quando eu saio do modulo, uso fclose().
Se alguem puder me ajudar agradeco desde ja.
obrigado.
Vastec - Automacao Comercial Ltda - Ribeirao Preto - SP. (16)3968-2299-(16)8154-7828 (16)8121-4139
msn: suporte@clebermano.com.br - email: clebermanorp@yahoo.com.br
Quem nao vive pra servir nao serve pra viver !
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Prezado Colega

Você deve usar mais ou menos assim...


CONTEUDO="MARCELO E LINDO E MARAVILHOSO"+CHR(13)+CHR(10)
HAND=FOPEN("ARQLOG.TXT",2)
FSEEK(HAND,0,2)
ESCREVE=FWRITE(HAND,CONTEUDO)

Até logo.

Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
evolver
Membro Master
Membro Master
Mensagens: 189
Registrado em: 28 Ago 2004 01:02
Localização: Cruz Alta - RS
Contato:

Mensagem por evolver »

O problema deve estar na pesquisa da existência do arquivo. Ou então o ponteiro de arquivo estando no início do arquivo vai apagando conforme vai sobreescrevendo. Experimente usar o fseeh(hand,0,2) como o amigo Marcelo passou pra posicionar o ponteiro de arquivo ao final antes de começar a escrever.

Pra verificar a existência de arquivo ao invés de usar um if (existe arquivo)/endif tente

hand=fopen(arquivo,2)
if ferror() # 0 (ou tente ferror() = 2 pra file not found)
fcreate(arquivo,0)
endif

Assim ele só cria o arquivo em caso de erro de abertura.
Sergio "Evolver" Fagundes

CURVE-SE DIANTE DE MIM SER INSIGNIFICANTE, POIS EU SOU ROOT
Só respondo em PVT perguntas relativas ao que eu faço. Qualquer outra dúvida favor postar no fórum.
Peço aos veteranos que antes de responder a uma pergunta repetida dêem uma pesquisada e instruam a quem perguntou a fazer o mesmo.
clebermano
Usuário Nível 3
Usuário Nível 3
Mensagens: 187
Registrado em: 03 Out 2004 12:39
Contato:

Mensagem por clebermano »

ok, pesoal obrigado, vou testar as dicas. valew mesmo.
so vou mudar o conteudo da string do nosso amigo clipper ehehehehe
Vastec - Automacao Comercial Ltda - Ribeirao Preto - SP. (16)3968-2299-(16)8154-7828 (16)8121-4139
msn: suporte@clebermano.com.br - email: clebermanorp@yahoo.com.br
Quem nao vive pra servir nao serve pra viver !
Responder