
Muitas vezes é necessário incluir uma imagem num relatório (uma logomarca por exemplo). Uma das maneiras de se fazer isto, é usar a classe TMSPRINTER().
O programa exemplo abaixo, ilustra bem como fazer. Este usa também a classe TFONT() (o tamanho do fonte leva o sinal de menos):
# include "PROTHEUS.CH"
# include "RWMAKE.CH"
user function fImprimeG()
local oFont08 := tfont():New('Courier new',, -8, .t.),,;
oFont09 := tfont():New('Courier new',, -9, .t.),,;
oFont10 := tfont():New('Courier new',,-10, .t.)
oPrint:=tmsprinter():new("Impressao Grafica")
oPrint:setportrait()
oPrint:SetpaperSize(9) // PAPEL A4
if .not. oPrint:Setup() // MOSTRA JANELA DE CONFIGURAÇÃO DE IMPRESSAO
msgalert("IMPRESSAO CANCELADA.")
return nil
endif
// ESTE BLOCO PODE FICAR EM LOOP (DO WHILE, FOR..., ETC.)
oPrint:StartPage()
// oPrint:sayBitmap(linha, coluna, "C:\SUAPASTA\SUAIMAGEM.BMP", largura, altura)
oPrint:sayBitmap(221, 150, "C:\SUAPASTA\SUAIMAGEM.BMP", 452, 400)
oPrint:say ( 1, 10, "SEUS DADOS" , oFont08)
oPrint:say (300, 10, "MAIS DADOS" , oFont09)
oPrint:say (600, 10, "MAIS ALGUNS DADOS", oFont10)
oPrint:endpage()
// SE FEZ LOOP NO BLOCO ACIMA, TERMINE-O AQUI (ENDDO, ...NEXT, ETC.)
oPrint:print()
return nil
•Veja também: Gráficos no Protheus
# include "PROTHEUS.CH"
# include "RWMAKE.CH"
user function fImprimeG()
local oFont08 := tfont():New('Courier new',, -8, .t.),,;
oFont09 := tfont():New('Courier new',, -9, .t.),,;
oFont10 := tfont():New('Courier new',,-10, .t.)
oPrint:=tmsprinter():new("Impressao Grafica")
oPrint:setportrait()
oPrint:SetpaperSize(9) // PAPEL A4
if .not. oPrint:Setup() // MOSTRA JANELA DE CONFIGURAÇÃO DE IMPRESSAO
msgalert("IMPRESSAO CANCELADA.")
return nil
endif
// ESTE BLOCO PODE FICAR EM LOOP (DO WHILE, FOR..., ETC.)
oPrint:StartPage()
// oPrint:sayBitmap(linha, coluna, "C:\SUAPASTA\SUAIMAGEM.BMP", largura, altura)
oPrint:sayBitmap(221, 150, "C:\SUAPASTA\SUAIMAGEM.BMP", 452, 400)
oPrint:say ( 1, 10, "SEUS DADOS" , oFont08)
oPrint:say (300, 10, "MAIS DADOS" , oFont09)
oPrint:say (600, 10, "MAIS ALGUNS DADOS", oFont10)
oPrint:endpage()
// SE FEZ LOOP NO BLOCO ACIMA, TERMINE-O AQUI (ENDDO, ...NEXT, ETC.)
oPrint:print()
return nil
•Veja também: Gráficos no Protheus
Cara, me ajudou, valeu.
ResponderExcluirObrigado pela visita!
ExcluirEsperamos mesmo sempre poder colaborar com a comunidade de programadores. Volte sempre!
(Obs.: Favor seguir o http://advplblog.blogspot.com.br/, em breve migraremos para lá. Obrigado!)