Gravação de arquivo GRRF.RE
Moderador: Moderadores
Gravação de arquivo GRRF.RE
Por favor estou gravando um arquivo SDF e no final é gerado um caracter que o programa da caixa está recusando. Eu edito o programa no Bloco de Notas e excluo este caracter e o programa da caixa aceita. Alguem pode me informar como faço para excluir este caracter do arquivo dentro do programa clipper.
resp para grrf
ja tenho o menu e com as rotinas e o gerador do txt
gostaria que manda-se tudo pra voce
basta mencionar o seu e-mail
gostaria que manda-se tudo pra voce
basta mencionar o seu e-mail
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Amigo TonyX
Você poderia enviar esse código fonte do GRRF.RE para mim, também? Meu e-mail é clipper52@hotmail.co.uk.
Você poderia enviar esse código fonte do GRRF.RE para mim, também? Meu e-mail é clipper52@hotmail.co.uk.
resp para grrf
******** vai sem o sinal na ultima linha ******
USE &GR_40
SORT ON PIS TO &ARQUIVO2 FOR MARCA = '*'
CLOSE
*-----
USE &GERA_GR
ZAP
APPE FROM &GR_00 FOR RECNO() = 1
APPE FROM &GR_10 FOR RECNO() = 1
DBCOMMIT()
APPE FROM &ARQUIVO2
DBCOMMIT()
*------------- FIM MOVIMENTOS --------
SELE 1 && GERA_GR
APPE BLANK
REPL LINHA1 WITH LIN_FIM1
REPL LINHA2 WITH LIN_FIM2
DBCOMMIT()
CLOSE
*
*======================== exclusivo para breal ============
parte1:= 'C:\FOLHA\PARTE1.TXT'
parte2:= 'C:\FOLHA\PARTE2.TXT'
parte3:= ARQ_TXT
erase(parte1)
erase(parte2)
erase(parte3)
use &GERA_GR
reg_fim:= reccount()
go bott
txt_fim:= LINHA1 + LINHA2
copy to &parte1 sdf for recno() < reg_fim
close
tst:= memowrit(parte2,txt_fim)
run copy &parte1+&parte2 &parte3 > nul
*===EIS AQUI A SOLUCAO SERVE ATE PARA BANCOS *****
*========================================
@ LIN+03,COL+1 SAY SPACE(TAM)
MOSTRA(LIN+03,COL+1,'JA ESTA OK')
*-----------
RETURN
USE &GR_40
SORT ON PIS TO &ARQUIVO2 FOR MARCA = '*'
CLOSE
*-----
USE &GERA_GR
ZAP
APPE FROM &GR_00 FOR RECNO() = 1
APPE FROM &GR_10 FOR RECNO() = 1
DBCOMMIT()
APPE FROM &ARQUIVO2
DBCOMMIT()
*------------- FIM MOVIMENTOS --------
SELE 1 && GERA_GR
APPE BLANK
REPL LINHA1 WITH LIN_FIM1
REPL LINHA2 WITH LIN_FIM2
DBCOMMIT()
CLOSE
*
*======================== exclusivo para breal ============
parte1:= 'C:\FOLHA\PARTE1.TXT'
parte2:= 'C:\FOLHA\PARTE2.TXT'
parte3:= ARQ_TXT
erase(parte1)
erase(parte2)
erase(parte3)
use &GERA_GR
reg_fim:= reccount()
go bott
txt_fim:= LINHA1 + LINHA2
copy to &parte1 sdf for recno() < reg_fim
close
tst:= memowrit(parte2,txt_fim)
run copy &parte1+&parte2 &parte3 > nul
*===EIS AQUI A SOLUCAO SERVE ATE PARA BANCOS *****
*========================================
@ LIN+03,COL+1 SAY SPACE(TAM)
MOSTRA(LIN+03,COL+1,'JA ESTA OK')
*-----------
RETURN
-
edmarfrazao
- Usuário Nível 3

- Mensagens: 185
- Registrado em: 06 Dez 2005 11:16
eu uso assim.
goro o txt. depois chamo a rotina baixo
cvfimaarq([SEFIP.RE])
STATIC Function CvFimArq(vArquivo)
nHandle := fopen(vArquivo,2)
IF FERROR() !=0
M_AVISO([Arquivo ]+vArquivo+[ não pode ser aberto])
else
nTamanho:=fseek(nHandle,-1,2)
cBuffer:=[]
? fwrite(nHandle,cBuffer)
ENDIF
nHandle := fclose(nHandle)
return nil
goro o txt. depois chamo a rotina baixo
cvfimaarq([SEFIP.RE])
STATIC Function CvFimArq(vArquivo)
nHandle := fopen(vArquivo,2)
IF FERROR() !=0
M_AVISO([Arquivo ]+vArquivo+[ não pode ser aberto])
else
nTamanho:=fseek(nHandle,-1,2)
cBuffer:=[]
? fwrite(nHandle,cBuffer)
ENDIF
nHandle := fclose(nHandle)
return nil

