arquivo texto
Enviado: 30 Ago 2005 18:06
Estou gerando um arquivo texto para critica do programa do ipe do Rio Grande do Sul
gero este arquivo e no final do arquivo aparece uma linha em branco que eu não entendo por que esta aparecendo e se não for removida da erro na critica do arquivo
cada linha tem q ter 160 bytes
gero este arquivo e no final do arquivo aparece uma linha em branco que eu não entendo por que esta aparecendo e se não for removida da erro na critica do arquivo
cada linha tem q ter 160 bytes
Código: Selecionar todos
FUNCTION GRAVA
SET PRINT TO &ARQUIVO
SET DEVICE TO PRINT
SET PRINT ON
setprc(0,0)
LIN = 00
*--PARA TODAS AS TRS
@ LIN,00 SAY "SMH"
@ LIN,03 SAY XCGC
@ LIN,17 SAY STRZERO(DENI,4)
@ LIN,21 SAY STRZERO(XREF,5)
@ LIN,26 SAY XCOD
@ LIN,34 SAY XHOSP
@ lin,159 say repl(" ",1)
LIN = LIN +1
*--VERIFICA ARQUIVOS DE PAGINAS
SELE 6
go top
DO WHILE .NOT. EOF() .AND. (NOTA>=XNOTA .AND. NOTA<=XNOTA1)
xnotab=nota
XINICIO=0
xinic76=0
xinic77=0
DO WHILE NOTA=XNOTAB
ltr=tr
lfolha=folha
IF TR=75 .or. tr=85
IF XINICIO=0
sele 2
seek str(xnotab)
xmatri=matricula
xcodpre=substr(xcod,3,8)
***************************************************
@ LIN,00 SAY REPL(" ",13)
@ LIN,13 SAY "00"
@ LIN,15 SAY STRZERO(GTR,2)
@ LIN,17 SAY "00"
@ LIN,19 SAY MATRICULA
@ LIN,32 SAY CID
sele 6
@ LIN,38 SAY STRZERO(ql,2)
@ LIN,40 SAY SUBSTR(XCOD,3,8)
@ LIN,46 SAY "03"
sele 2
@ LIN,48 SAY MOTIVO
exemploi = dtoc(data)
exemploa = dtoc(data1)
z1 = substr(exemploi,9,2)
z2 = substr(exemploi,4,2)
z3 = substr(exemploi,1,2)
z4 = substr(exemploa,9,2)
z5 = substr(exemploa,4,2)
z6 = substr(exemploa,1,2)
@ LIN,49 SAY Z3+Z2+Z1
@ LIN,55 SAY Z6+Z5+Z4
@ LIN,61 SAY strzero(GUIA,6)
@ LIN,67 SAY STRZERO(NOTA,5)
SELE 6
@ LIN,72 SAY STRZERO((totdesp+totghon+totgser)*100,13)
@ LIN,85 say "01"
@ LIN,87 SAY strzero(flfim,2)
@ LIN,89 SAY STRZERO(totdesp*100,13)
@ LIN,102 SAY STRZERO(FLiniser,2)
@ LIN,104 SAY STRZERO(FLfimser,2)
@ LIN,106 SAY STRZERO(totgser*100,13)
@ LIN,119 SAY STRZERO(totghon*100,13)
@ LIN,132 SAY REPL(" ",28)
LIN = LIN +1
XINICIO=1
ENDIF
******LANCAMENTOS
SELE 7
set order to 3
SEEK STR(xnotab)+str(ltr)+str(lfolha)
IF FOUND()
LINHA=01
DO WHILE .NOT. EOF() .AND. i4numero=xnotab .and. i4tr=ltr .and. i4folha=lfolha
@ LIN,00 SAY REPL(" ",13)
@ LIN,13 SAY STRZERO(I4SEQ,2)
@ LIN,15 SAY I4TR
@ LIN,17 SAY "00"
@ LIN,19 SAY STRZERO(i4mesi,2)+STRZERO(i4diai,2)
@ LIN,23 SAY STRZERO(I4CGC,14)
@ LIN,37 SAY STRZERO(I4CODATEND,8)
@ LIN,45 SAY STRZERO(I4NDIA,2)
@ LIN,47 SAY STRZERO(I4OCCDIA,5)
@ LIN,52 SAY STRZERO(I4AUX,2)
@ LIN,54 SAY STRZERO(I4VIAS,2)
@ LIN,56 SAY STRZERO(I4URG,2)
@ LIN,58 SAY REPL(" ",102)
SKIP
lin = lin+1
ENDDO
ENDIF
ENDIF
sele 6
***TR 76
**************************************************
IF TR=76 .or. TR=86
if xinic76=0
@ LIN,00 SAY REPL(" ",13)
@ LIN,13 SAY "00"
@ LIN,15 SAY ltr
@ LIN,17 SAY strzero(lfolha,2)
@ LIN,19 SAY XMATRI
@ LIN,38 SAY STRZERO(ql,2)
@ LIN,40 SAY XCODPRE
@ LIN,46 SAY "03"
@ LIN,49 SAY Z3+Z2+Z1
@ LIN,67 SAY STRZERO(xnotab,5)
@ LIN,119 SAY STRZERO((totgdes+totgmat)*100,13)
@ LIN,132 SAY STRZERO(totgmat*100,13)
@ lin,145 say repl(" ",15)
lin=lin+1
XINIC76=1
endif
SELE 7
set order to 3
SEEK STR(xnotab)+str(ltr)+str(lfolha)
IF FOUND()
LINHA=01
DO WHILE .NOT. EOF() .AND. i4numero=xnotab .and. i4tr=ltr .and. i4folha=lfolha
@ LIN,00 SAY REPL(" ",13)
@ LIN,13 SAY strzero(i4seq,2)
@ LIN,15 SAY strzero(i4tr,2)
@ LIN,17 SAY STRZERO(i4folha,2)
@ LIN,19 SAY strzero(i4mesi,2)+strzero(i4diai,2)
@ LIN,37 SAY STRZERO(i4codatend,8)
@ LIN,45 SAY STRZERO(i4ndia,2)
@ LIN,47 SAY STRZERO(i4occdia,5)
@ LIN,56 SAY "00"
if i4valor>0
@ LIN,58 SAY STRZERO(i4valor*100,11)
ELSE
@ LIN,58 SAY STRZERO(i4matmed*100,11)
ENDIF
@ LIN,69 SAY alltrim(i4BRASINDI)
@ LIN,81 SAY REPL(" ",79)
IF I4SEQ=25
XINIC76=0
ENDIF
SKIP
lin=lin+1
ENDDO
ENDIF
ENDIF
SELE 6
IF TR=77 .OR. TR=87
IF XINIC77=0
@ LIN,00 SAY REPL(" ",13)
@ LIN,13 SAY "00"
@ LIN,15 SAY strzero(LTR,2)
@ LIN,17 SAY strzero(Lfolha,2)
@ LIN,19 SAY XMATRI
@ LIN,38 SAY STRZERO(QL,2)
@ LIN,40 SAY XCODPRE
@ LIN,46 SAY "03"
@ LIN,49 SAY Z3+Z2+Z1
@ LIN,67 SAY STRZERO(xnotab,5)
@ LIN,119 SAY STRZERO((TOTGSER+totgmat)*100,13)
@ LIN,132 SAY STRZERO(TOTGMAT*100,13)
@ lin,145 say repl(" ",15)
lin=lin+1
XINIC77=1
ENDIF
SELE 7
set order to 3
SEEK STR(xnotab)+str(ltr)+str(lfolha)
IF FOUND()
LINHA=01
DO WHILE .NOT. EOF() .AND. i4numero=xnotab .and. i4tr=ltr .and. i4folha=lfolha
@ LIN,00 SAY REPL(" ",13)
@ LIN,13 SAY strzero(I4SEQ,2)
@ LIN,15 SAY LTR
@ LIN,17 SAY STRZERO(LFOLHA,2)
@ LIN,19 SAY STRZERO(I4MESI,2)+STRZERO(I4DIAI,2)
@ LIN,23 SAY STRZERO(I4CGC,14)
@ LIN,37 SAY STRZERO(I4CODATEND,8)
@ LIN,45 SAY STRZERO(I4NDIA,2)
@ LIN,47 SAY STRZERO(I4OCCDIA,5)
@ LIN,56 SAY "00"
@ LIN,58 SAY STRZERO((i4valor+I4MATMED)*100,11)
@ LIN,69 SAY REPL(" ",91)
IF I4SEQ=25
XINIC77=0
ENDIF
LIN = LIN +1
SKIP
ENDDO
ENDIF
SELE 6
ENDIF
SKIP
ENDDO
ENDDO
SET DEVICE TO SCREEN
SET PRINT OFF
SET DEVICE TO
return NIL