Página 1 de 1
Criar relatorios o que usar?
Enviado: 05 Jul 2012 21:11
por Paulao
Boa noite a todos, vou começar a fazer os relatorios do sistema, gostaria de saber se é possivel imprimir relatorios imprimindo via DOS nas matricias (como a gente faz no clipper), e tb gostaria de imprimir em impressoras instaladas no windows.
Aindei olhando o help da minigui e vi que tem HBPRINT E MINIPRINT, o que são?
Obrigado
Criar relatorios o que usar?
Enviado: 06 Jul 2012 08:02
por Paulao
Bom dia pessoal, criei um relatorio usando o Winprint, mas qdo mando imprimir no windows 7 o sistema para de funcionar e o windows 7 fecha o meu sistema, no windows xp funciona sem problemas, o que sera que ta ocorrendo?
o codigo do relatorio e este.
Código: Selecionar todos
no topo do código
#include 'winprint.ch'
*________________________________________________________________________________________________
function Print_cli()
local nLinha := 0
local nPagina := 1
dbselectarea('clinomad')
ordsetfocus('nome_cli')
clinomad->(dbgotop())
INIT PRINTSYS
SELECT BY DIALOG PREVIEW
if HBPRNERROR != 0
msginfo('Visualização/Relatório Cancelados','Atenção')
return(nil)
endif
SET UNITS ROWCOL
SET THUMBNAILS OFF
SET PREVIEW SCALE 2
SET PAPERSIZE DMPAPER_A4
SET ORIENTATION PORTRAIT
SET BIN DMBIN_FIRST
SET QUALITY DMRES_HIGH
SET COLORMODE DMCOLOR_COLOR
define font 'f1' name 'courier new' size 8
define font 'f2' name 'courier new' size 10
define font 'f3' name 'courier new' size 12
define font 'f4' name 'courier new' size 8 bold
define font 'f5' name 'courier new' size 10 bold
define font 'f6' name 'courier new' size 12 bold
define pen 'p1' style PS_SOLID width 4 color 0x000000
define pen 'p2' style PS_SOLID width 8 color 0x000000
START DOC NAME 'RELATÓRIO: CLIENTES'
START PAGE
Cabecalho_Cliente(nPagina)
nLinha := 7
while .not. eof()
@ nLinha,001 say left(clinomad->nome_cli,40) font 'f2' to print
@ nLinha,080 say clinomad->muni_cli font 'f2' to print
* @ nLinha,048 say cliente->telefone font 'f2' to print
* @ nLinha,062 say cliente->celular font 'f2' to print
nLinha ++
if nLinha >= 63
Rodape_Cliente()
END PAGE
START PAGE
nPagina ++
Cabecalho_Cliente(nPagina)
nLinha := 7
endif
clinomad->(dbskip())
end
Rodape_Cliente()
END PAGE
END DOC
*________________________________________________________________________________________________
function Cabecalho_Cliente(pPagina)
@ 001,001 say 'RELAÇÃO DE CLIENTES POR ORDEM ALFABÉTICA' font 'f6' to print
@ 003,001 say 'EMISSÃO: '+Chk_DiaSem(date(),2)+', '+alltrim(str(day(date())))+' de '+Chk_Mes(month(date()),1)+' de '+strzero(year(date()),4)+' - '+time()+'h.' font 'f5' to print
@ 004,001 say 'PÁGINA : '+strzero(pPagina,3) font 'f5' to print
@ 005,001,005,090 line pen 'p2'
return(nil)
*________________________________________________________________________________________________
function Rodape_Cliente()
@ 064,001,064,090 line pen 'p2'
return(nil)
*________________________________________________________________________________________________
Obrigado aos amigos
Criar relatorios o que usar?
Enviado: 08 Jul 2012 14:16
por sygecom
Considere o uso do FastReport, é uma ótima ferramenta e pode ser usada com xHarbour e Harbour.
Criar relatorios o que usar?
Enviado: 25 Jul 2012 10:15
por momente
Paulão,
Atualize a MiniGUI, pois o pessoal já corrigiu este erro.
abraço,
Rogério Luis Momenté
LookSystem Informática
Criar relatorios o que usar?
Enviado: 05 Set 2012 12:41
por jcsprog
Ola para imprimir como dos e selecionar a impressora utilizo o printraw na minigi/samples/advanced/printraw se problemas
para outros relatorios utilizo a winprint rodou sem problema no XP e windows 7
Valeu