Alo galera,
Preciso saber porque não estou conseguindo gravar fisicamente meu arquivo TXT após executar uma rotina de filtro como mostro abaixo.
O problema é que tudo funciona noemalmente mas o arquivo não é gravado no HD. Será que vc pode me dar uma ajuda? Veja minha rotina.
Grato
Singulani...
se possível responda para o meu e-mail:
sing@click21.com.br
-----------------------------------------------
/* gerando o nome do arquivo */
cArquivo := "DUDU_XBASE".TXT"
/* criando o arquivo */
nHandle := fcreate ("cArquivo, FC_NORMAL)
dbselectarea ("arq_fun")
? "Aguarde Exportando Cadastro de Funcionários"
while ( CODCLI >= cCliente .and. CODCLI <= cCliente .and. !eof () )
/* montagem do registro */
cLinha := ""
cLinha += arq_fun->CODFUN
cLinha += arq_fun->CODEMP
cLinha += arq_fun->NOMFUN
cLinha += transform(arq_fun->QTDCES, "999999")
cLinha += arq_fun->STAFUN
cLinha += arq_fun->CODMOT
cLinha += arq_fun->NOMMOT
cLinha += chr(13)+chr(10) // para saltar a Linha
// para gravar no arquivo txt
fwrite (nHandle, cLinha, len (cLinha))
dbskip ()
enddo
fclose (nHandle)
? "Exportação Efetuada com Sucesso"
tone (3000,2)
tone (3000,3)
Gravar Arquivo TXT
Moderador: Moderadores
Prezado Colega
A primeira vista encontrei 2 problemas.
1 - cArquivo := "DUDU_XBASE".TXT"
2 - nHandle := fcreate ("cArquivo, FC_NORMAL)
1 - O nome do arquivo tem mais de 8 caracteres no sufixo "DUDU_XBASE"
não sei se você pegou e colou mas tb tem aspas sobrando
2 - Tem aspas onde não é necessário e está faltando a que fecha
Até logo.
Marcelo
A primeira vista encontrei 2 problemas.
1 - cArquivo := "DUDU_XBASE".TXT"
2 - nHandle := fcreate ("cArquivo, FC_NORMAL)
1 - O nome do arquivo tem mais de 8 caracteres no sufixo "DUDU_XBASE"
não sei se você pegou e colou mas tb tem aspas sobrando
2 - Tem aspas onde não é necessário e está faltando a que fecha
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)
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)
Oi Marcela,
Me desculpae mas esses erros eu já havia corrigido.
/* gerando o nome do arquivo */
cArquivo := "ARQ_01.TXT"
/* criando o arquivo */
nHandle := fcreate ("cArquivo", FC_NORMAL)
dbselectarea ("arq_fun")
? "Aguarde Exportando Cadastro de Funcionários"
while ( CODCLI >= cCliente .and. CODCLI <= cCliente .and. !eof () )
/* montagem do registro */
cLinha := ""
cLinha += arq_fun->CODFUN
cLinha += arq_fun->CODEMP
cLinha += arq_fun->NOMFUN
cLinha += transform(arq_fun->QTDCES, "999999")
cLinha += arq_fun->STAFUN
cLinha += arq_fun->CODMOT
cLinha += arq_fun->NOMMOT
cLinha += chr(13)+chr(10) // para saltar a Linha
// para gravar no arquivo txt
fwrite (nHandle, cLinha, len (cLinha))
dbskip ()
enddo
fclose (nHandle)
Me desculpae mas esses erros eu já havia corrigido.
/* gerando o nome do arquivo */
cArquivo := "ARQ_01.TXT"
/* criando o arquivo */
nHandle := fcreate ("cArquivo", FC_NORMAL)
dbselectarea ("arq_fun")
? "Aguarde Exportando Cadastro de Funcionários"
while ( CODCLI >= cCliente .and. CODCLI <= cCliente .and. !eof () )
/* montagem do registro */
cLinha := ""
cLinha += arq_fun->CODFUN
cLinha += arq_fun->CODEMP
cLinha += arq_fun->NOMFUN
cLinha += transform(arq_fun->QTDCES, "999999")
cLinha += arq_fun->STAFUN
cLinha += arq_fun->CODMOT
cLinha += arq_fun->NOMMOT
cLinha += chr(13)+chr(10) // para saltar a Linha
// para gravar no arquivo txt
fwrite (nHandle, cLinha, len (cLinha))
dbskip ()
enddo
fclose (nHandle)
-
Alessandro
- Usuário Nível 3

- Mensagens: 141
- Registrado em: 07 Jul 2004 09:39
- Localização: Santo Antonio da Platina-PR
Pô !!!
Marcela é sacanagem...

Fui...
Marcelo
Marcela é sacanagem...
Fui...
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)
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)
NOTA 1: Provavelmente deu tudo certo, mas o arquivo criado passou a se chamar "cArquivo". Você não usou o conteúdo da variável para indicar o nome do arquivo, mas criou um arquivo com o nome da variável. Teste: procure por um arquivo chamado "cArquivo". Certamente você o encontrará./* criando o arquivo */
nHandle := fcreate ("cArquivo", FC_NORMAL)
É só distração. Não se preocupe. Acontece com todo mundo.
NOTA 2: Economize um pouco de código com construções do tipo
Use diretamente cLinha := arq_fun->CODFUN. Como se trata da primeira linha do loop, o efeito será o mesmo. Não faz muita diferença no presente momento, mas se você se prender a esse tipo de construção nada econômica, um dia, num loop mais "pesado", você poderá comprometer a performance do seu programa. É sempre melhor cultivar o hábito da economia de código.cLinha := ""
cLinha += arq_fun->CODFUN
[]'s
Maligno
http://www.buzinello.com/prg


