Alguem Saberia me informar como faço para colocar um cabeçalho no programa abaixo e como faco para calcular e imprimir quantidade total no final do relatorio
Public MLIN :=70
Public mpag :=1
Use mad
index on REFERENCIA to ref
use mad index ref
GOTO TOP
SET DEVICE TO PRINTER
setprc(0,0)
@ 0,000 say CHR(15)
DO WHILE .NOT. EOF()
if prow() > 30
eject
endif
@ PROW() + 01, 02 SAY Referencia
@ PROW() + 00, 15 SAY "|"
@ PROW() + 00, 23 SAY substr(Desc,1,45)
@ PROW() + 00, 40 SAY "|"
@ PROW() + 00, 78 SAY "PC"
@ PROW() + 00, 80 SAY "|"
@ PROW() + 00, 89 SAY QTD
@ PROW() + 00, 105 SAY "|"
@ PROW() + 00, 106 SAY PR_custo
@ PROW() + 00, 115 SAY "|"
@ PROW() + 00, 120 SAY Total
@ PROW() + 00, 15 SAY "|"
DBSkip()
ENDDO
SET DEVICE TO SCREEN
RETURN
Cabecalho
Moderador: Moderadores
-
samuel bandeira
- Usuário Nível 1

- Mensagens: 3
- Registrado em: 14 Abr 2005 12:58
-
josenilson
- Usuário Nível 1

- Mensagens: 46
- Registrado em: 14 Set 2004 10:58
Ficaria mais ou menos assim...
Código: Selecionar todos
Public MLIN :=70
Public mpag := 0
Public vlTotal := 0
Use mad
index on REFERENCIA to ref
use mad index ref
GOTO TOP
SET DEVICE TO PRINTER
setprc(0,0)
@ 0,000 say CHR(15)
Do While .not. Eof()
mpag += 1
@ 01,000 Say "Linha 1 no cabecalho Pagina: "+Str(mpag,3)
@ 02,000 Say "Linha 2 do cabecalho"
@ 03,000 Say "Linha 3 do cabecalho e etc...."
Do While .not. Eof() .and. Prow()<62 // 62 = No. de linhas que sera impresso na pagina
@ PROW() + 01, 02 SAY Referencia
@ PROW() + 00, 15 SAY "|"
@ PROW() + 00, 23 SAY substr(Desc,1,45)
@ PROW() + 00, 40 SAY "|"
@ PROW() + 00, 78 SAY "PC"
@ PROW() + 00, 80 SAY "|"
@ PROW() + 00, 89 SAY QTD
@ PROW() + 00, 105 SAY "|"
@ PROW() + 00, 106 SAY PR_custo
@ PROW() + 00, 115 SAY "|"
@ PROW() + 00, 120 SAY Total
@ PROW() + 00, 15 SAY "|"
vlTotal += Total
DBSkip()
Enddo
Enddo
If mpag > 0 // se foi impresso pelo menos uma pagina
@ Prow()+2,000 Say "Total geral ===>"
@ Prow() ,120 Say vlTotal
Eject
Endif
SET DEVICE TO SCREEN
RETURN