28
TMSPrinter Colapse ALL Expand ALL Classe: TMSPrinter Cria um objeto que permite visualizar e imprimir relatório. Hierarquia Construtores New New Método construtor da Classe. Sintaxe TMSPrinter(): New ( [ cDocument], [ uParam2], [ uParam3], [ uParam4], [ uParam5], [ uParam6], [ uParam7], [ uParam8] ) --> oObjeto Parâmetros Nome Tipo Descrição Obrigatório Referência cDocument Caracter Indica o nome descritivo do relatório. uParam2 Lógico Compatibilidade. uParam3 Lógico Compatibilidade. uParam4 Caracter Compatibilidade. uParam5 Caracter Compatibilidade. uParam6 Caracter Compatibilidade. uParam7 Lógico Compatibilidade. uParam8 Caracter Compatibilidade.

tec-TMSPrinter-090912-2355-44863

Embed Size (px)

Citation preview

Page 1: tec-TMSPrinter-090912-2355-44863

TMSPrinter

Colapse ALLExpand ALLClasse: TMSPrinter

Cria um objeto que permite visualizar eimprimir relatório.

Hierarquia

ConstrutoresNewNew

Método construtor da Classe.

SintaxeTMSPrinter(): New ( [ cDocument], [ uParam2], [ uParam3], [ uParam4], [ uParam5], [ uParam6], [ uParam7], [uParam8] ) --> oObjeto

Parâmetros 

Nome Tipo Descrição Obrigatório Referência

cDocument Caracter Indica o nomedescritivo dorelatório.

   

uParam2 Lógico Compatibilidade.    

uParam3 Lógico Compatibilidade.    

uParam4 Caracter Compatibilidade.    

uParam5 Caracter Compatibilidade.    

uParam6 Caracter Compatibilidade.    

uParam7 Lógico Compatibilidade.    

uParam8 Caracter Compatibilidade.    

 

Page 2: tec-TMSPrinter-090912-2355-44863

RetornooObjeto

()Retorna o objeto criado.

ExemplosoPrint := TMSPrinter():New("ExemploTMSPrinter")

MétodosBoxBox

Cria um objeto do tipo retângulo.

SintaxeTMSPrinter(): Box ( [ nRow], [ nCol], [ nBottom], [ nRight], [ uParam5] ) -->

Parâmetros 

Nome Tipo Descrição Obrigatório Referência

nRow Numérico Indica acoordenada verticalem pixels.

   

nCol Numérico Indica acoordenadahorizontal empixels.

   

nBottom Numérico Indica a posição doobjeto em relaçãoao rodapé.

   

nRight Numérico Indica a posição doobjeto à direita.

   

uParam5 Qualquer Compatibilidade.    

 

Page 3: tec-TMSPrinter-090912-2355-44863

ExemplosoPrint:Box( 130,10,600,900 );

CancelCancel

Cancela execução do relatório.

SintaxeTMSPrinter(): Cancel ( ) -->

ExemplosoPrint:Cancel()

CanceledCanceled

Retorna se o relatório foi cancelado pelo método Cancel().

SintaxeTMSPrinter(): Canceled ( ) -->

ExemplosoPrint:Canceled()

Cmtr2PixCmtr2Pix

Devolve por referência o valor convertido em pixels de uma coluna e uma linha.

SintaxeTMSPrinter(): Cmtr2Pix ( [ nLinha], [ nColuna], [ uParam3] ) -->

Parâmetros

Page 4: tec-TMSPrinter-090912-2355-44863

 

Nome Tipo Descrição Obrigatório Referência

nLinha Numérico Indica a linha queserá calculada.

   

nColuna Numérico Indica a coluna queserá calculada.

   

uParam3 Array of Record Compatibilidade.    

 

ExemplosnCol1 := 10nRow1 := 10oPrint:Cmtr2Pix(nCol1,nRow1 )/*Resultados:nCol1 :=1107.08955224nRow1 := 1107.26600985*/

EndEnd

Indica o término do relatório.

SintaxeTMSPrinter(): End ( ) -->

Observações 

ExemplosoPrint:End()

EndPageEndPage

Indica o fim da página.

SintaxeTMSPrinter(): EndPage ( ) -->

Page 5: tec-TMSPrinter-090912-2355-44863

ExemplosoPrint:EndPage()

FillRectFillRect

Cria um objeto do tipo retângulo que pode ser preenchido de uma determinada cor.

SintaxeTMSPrinter(): FillRect ( [ aCoords], [ oBrush] ) -->

Parâmetros 

Nome Tipo Descrição Obrigatório Referência

aCoords Vetor Indica um array, dotipo numérico, quecontêm ascoordenadas doretângulo que seráconstruído.

   

oBrush Objeto Indica o objeto dotipo TBrushutilizado para definira cor depreenchimento doshape eresponsável pelopreenchimento doretângulo.

   

 

ExemplosoBrush1 := TBrush():New( , CLR_YELLOW)oPrint:FillRect( {100, 10, 200, 200}, oBrush1)

GetOrientation

Page 6: tec-TMSPrinter-090912-2355-44863

GetOrientation

Retorna a orientação (Retrato ou Paisagem) do objeto.

SintaxeTMSPrinter(): GetOrientation ( ) --> nOrint

RetornonOrint

()Retorna a orientação do objeto, sendo: 1=Portrait (retrato) ou 2=Landscape (paisagem).

ExemplosoPrint:GetOrientation() // Result:1=Portrait(retrato) 2=Landscape(paisagem)

GetTextHeightGetTextHeight

Retorna a altura do texto conforme as características da fonte definida.

SintaxeTMSPrinter(): GetTextHeight ( < cTexto>, < oFont> ) --> nHeight

Parâmetros 

Nome Tipo Descrição Obrigatório Referência

cTexto Caracter Indica o texto queserá calculado.

X  

oFont Objeto Indica o objeto dotipo TFont, utilizadopara definir ascaracterísticas dafonte, para realizaro cálculo.

X  

 

Retorno

Page 7: tec-TMSPrinter-090912-2355-44863

nHeight()Retorna a altura do texto.

Observação:Este método retorna ZERO se o componente estiver sendoexecutado via AppServer Linux.

ExemplosoFont1 := TFont():New('Couriernew',,-18,.T.)nHeight := oPrint:GetTextHeight("Teste", oFont1) // Result: 180

GetTextWidthGetTextWidth

Retorna a largura do texto conforme as características da fonte definida.

SintaxeTMSPrinter(): GetTextWidth ( < cTexto>, < oFonte> ) --> nWidth

Parâmetros 

Nome Tipo Descrição Obrigatório Referência

cTexto Caracter Indica o texto queserá calculado.

X  

oFonte Objeto Indica o objeto dotipo TFont, utilizadopara definir ascaracterísticas dafonte, para realizaro cálculo.

X  

Observação:Este método retorna ZERO se o componente estiver sendo

Page 8: tec-TMSPrinter-090912-2355-44863

executado via AppServer Linux. Retorno

nWidth(numerico)Retorna a largura do texto. 

 

GetFontWidthsRetorna a largura dos caracteres de uma determinada fonte

Sintaxe(): GetFontWidths ( [ oFont], [ @aFontSize] )TMSPrinter

Parâmetros 

Nome Tipo Descrição Obrigatório Referência

oFont Objeto Objeto do tipo fonte X  

aFontSize Array of Record Vetor passado porreferencia querecebera a lista delargura da fonteselecionada

X X 

 

RetornoaRet()Vetor passado por referencia que recebera a lista de largura da fonte selecionada

Observação:Este método retorna um vetor vazio se o componente estiver sendo executado via AppServer Linux.

 

IsPrinterActiveIsPrinterActive

Retorna se a impressora está ativa.

Page 9: tec-TMSPrinter-090912-2355-44863

SintaxeTMSPrinter(): IsPrinterActive ( ) -->

ExemplosoPrint:IsPrinterActive()

LineLine

Cria um objeto do tipo linha.

SintaxeTMSPrinter(): Line ( [ nTop], [ nLeft], [ nBottom], [ nRight], [ uParam5] ) -->

Parâmetros 

Nome Tipo Descrição Obrigatório Referência

nTop Numérico Indica acoordenada verticalem pixels.

   

nLeft Numérico Indica acoordenadahorizontal empixels.

   

nBottom Numérico Indica a posição doobjeto ao rodapé.

   

nRight Numérico Indica a posição doobjeto à direita.

   

uParam5 Objeto Compatibilidade.    

 

ExemplosoPrint:Line( 130,10,130,900 );

nHorzResnHorzRes

Page 10: tec-TMSPrinter-090912-2355-44863

Retorna a resolução horizontal da impressora configurada.

SintaxeTMSPrinter(): nHorzRes ( ) --> nResolução

RetornonResolução

()Retorna a resolução horizontal da impressora configurada.

ExemplosoPrint:nHorzRes() // Result: 2400

nLogPixelXnLogPixelX

Retorna a resolução vertical em pixels da impressora configurada.

SintaxeTMSPrinter(): nLogPixelX ( ) --> nResolução

RetornonResolução

()Retorna a resolução vertical em pixels da impressora configurada.

ExemplosoPrint:nLogPixelX() // Result: 300

nLogPixelYnLogPixelY

Retorna a resolução horizontal em pixels da impressora configurada.

SintaxeTMSPrinter(): nLogPixelY ( ) --> nResolução

Retorno

Page 11: tec-TMSPrinter-090912-2355-44863

nResolução()Retorna a resolução horizontal em pixels da impressora configurada.

ExemplosoPrint:nLogPixelY() // Result: 300

nVertResnVertRes

Retorna a resolução vertical da impressora configurada.

SintaxeTMSPrinter(): nVertRes ( ) --> nResolução

RetornonResolução

()Retorna a resolução vertical da impressora configurada.

ExemplosoPrint:nVertRes() // Result: 3168

PreviewPreview

Abre a janela de visualização do relatório.

SintaxeTMSPrinter(): Preview ( ) -->

ExemplosoPrint:Preview()

PrintPrint

Page 12: tec-TMSPrinter-090912-2355-44863

Envia o relatório para impressora.

SintaxeTMSPrinter(): Print ( [ aPags], [ nCopias] ) -->

Parâmetros 

Nome Tipo Descrição Obrigatório Referência

aPags Vetor Indica o array, dotipo numérico, quecontêm as páginasque serãoimpressas.

   

nCopias Numérico Indica o número decópias que serãoimpressas.

   

 

Exemplos// Imprime duas cópias da página 1 e2oPrint:Print( {1,2}, 2 )

PrinterNamePrinterName

Retorna o nome da impressora.

SintaxeTMSPrinter(): PrinterName ( ) --> cImpressora

RetornocImpressora

(caracter)Retorna o nome da impressora.

Exemplos

Page 13: tec-TMSPrinter-090912-2355-44863

oPrint:PrinterName() // Result:"\\172.16.90.251\Tecmono 2"

RefreshRefresh

Atualiza a visualização do relatório.

SintaxeTMSPrinter(): Refresh ( ) -->

ExemplosoPrint:Refresh()

ResetPrinterResetPrinter

Exclui o objeto e reinicia suas propriedades.

SintaxeTMSPrinter(): ResetPrinter ( ) -->

ExemplosoPrinter:ResetPrinter()

SaveAllAsJpegSaveAllAsJpeg

Salva o relatório, no formato JPG (Joint Photographic Group), e gera um arquivoseparado para cada página.

SintaxeTMSPrinter(): SaveAllAsJpeg ( [ cFilePath], [ nWidthPage], [ nHeightPage], [ nZoom] ) --> lOk

Parâmetros 

Page 14: tec-TMSPrinter-090912-2355-44863

Nome Tipo Descrição Obrigatório Referência

cFilePath Caracter Indica o nome doarquivo.

   

nWidthPage Numérico Indica a largura daimagem.

   

nHeightPage Numérico Indica a altura daimagem.

   

nZoom Numérico Indica o zoom quea imagem serásalva.

   

 

RetornolOk

(logico)Retorna verdadeiro (.T.), se a imagem for salva com sucesso; caso contrário, retornará falso (.F.).

Observações 

Importante

O método SaveAllAsJpeg() não foi implementado para ser executado em Jobs.

 

Detalhes sobre as definições de tamanho e zoom

Os valores (padrão) do método são:default

nWidthPage: 700nHeightPage: 1000nZoom:100% 

Limites aceitos:

nWidthPage: 1800nHeightPage: 1800nZoom: Minimo 10% e Máximo 300%

Limitações do método:

Ao utilizar o método SaveAllAsJpeg, as imagens utilizadas no método SayBitmap devem ser obrigatóriamente

Page 15: tec-TMSPrinter-090912-2355-44863

bitmaps (BMP), sendo o único padrão de imagens aceito para a conversão.

ExemplosoPrint:SaveAllAsJpeg( cStartPath+'relatorio',1120, 840, 140 )

SaveAsHTMLSaveAsHTML

Salva o relatório no formato HTML (HyperText Markup Language).

SintaxeTMSPrinter(): SaveAsHTML ( < cFile>, [ aRange] ) --> lOk

Parâmetros 

Nome Tipo Descrição Obrigatório Referência

cFile Caracter Indica o nome doarquivo.

X  

aRange Vetor Indica o array, dotipo caracter, quecontêm as páginasque serão salvas.

   

 

RetornolOk

(logico)Retorna verdadeiro (.T.), se o relatório for salvo com sucesso; caso contrário, retornará falso (.F.).

Observações 

Importante

O método SaveAsHTML() não foi implementado para ser executado em Jobs.

 

Page 16: tec-TMSPrinter-090912-2355-44863

ExemploscFileHtml := "\TREPORT\Relatorio.HTM"lSend :=oPrint:SaveAsHTML( cFileHtml, {1,2} ) //Result : .T.

SaveAsODFSaveAsODF

Salva o relatório no formato ODF (Open Document Format).

SintaxeTMSPrinter(): SaveAsODF ( < cFile>, [ aRange] ) --> lOk

Parâmetros 

Nome Tipo Descrição Obrigatório Referência

cFile Caracter Indica o nome doarquivo.

X  

aRange Vetor Indica o array, dotipo caracter, quecontêm as páginasque serão salvas.

   

 

RetornolOk

(logico)Retorna verdadeiro (.T.) ser o relatório for salvo com sucesso; caso contrário, retornará falso (.F.).

ExemploscFileODF := "\TREPORT\Relatorio.ODF"lSend := oPrint:SaveAsODF( cFileODF, {1,2} ) //Result: .T.

Say

Page 17: tec-TMSPrinter-090912-2355-44863

Say

Cria um objeto do tipo texto.

SintaxeTMSPrinter(): Say ( [ nRow], [ nCol], [ cText], [ oFont], [ nWidth], [ nClrText], [ uParam7], [ nAlign] ) -->

Parâmetros 

Nome Tipo Descrição Obrigatório Referência

nRow Numérico Indica acoordenada verticalem pixels oucaracteres.

   

nCol Numérico Indica acoordenadahorizontal em pixelsou caracteres.

   

cText Caracter Indica o texto queserá impresso.

   

oFont Objeto Indica o objeto dotipo TFont utilizadopara definir ascaracterísticas dafonte aplicada naexibição doconteúdo docontrole visual.

   

nWidth Numérico Indica a largura empixels do objeto.

   

nClrText Numérico Indica a cor dotexto do objeto.

   

uParam7 Nulo Mantido porcompatibilidade,caso informadodeve ser NIL.

   

nAlign Numérico Indica oalinhamento dotexto :0 - (Padrão)Alinhado àesquerda.1 -Alinhado à direita.2- Centraliza o texto.

   

Page 18: tec-TMSPrinter-090912-2355-44863

 

ExemplosoFont1 := TFont():New('Couriernew',,-18,.T.)oPrint:Say( 10,10,"Texto paravisualização",oFont1,1400,CLR_HRED )

SayBitmapSayBitmap

Cria um objeto do tipo imagem.

SintaxeTMSPrinter(): SayBitmap ( [ nRow], [ nCol], [ cBitmap], [ nWidth], [ nHeight], [ uParam6], [ uParam7] ) -->

Parâmetros 

Nome Tipo Descrição Obrigatório Referência

nRow Numérico Indica acoordenada verticalem pixels oucaracteres.

   

nCol Numérico Indica acoordenadahorizontal em pixelsou caracteres.

   

cBitmap Caracter Indica o diretório eo nome, comextensão BMP(Bitmap), daimagem.

   

nWidth Numérico Indica a largura empixels do objeto.

   

nHeight Numérico Indica a altura empixels do objeto.

   

uParam6 Numérico Compatibilidade.    

uParam7 Lógico Compatibilidade.    

Page 19: tec-TMSPrinter-090912-2355-44863

 

ObservaçõesA imagem é ajustada para preencher todo o espaço definido entre a altura e largura do objeto.

ExemplosoPrint:SayBitmap(100,200,"C:\Dir\Totvs.bmp",800,800 )

SetCurrentPrinterInUseSetCurrentPrinterInUse

Compatibilidade.

SintaxeTMSPrinter(): SetCurrentPrinterInUse ( ) -->

SetFontSetFont

Define a fonte padrão do relatório.

SintaxeTMSPrinter(): SetFont ( < oFont> ) -->

Parâmetros 

Nome Tipo Descrição Obrigatório Referência

oFont Objeto Indica o objeto dotipo TFont utilizadopara definir ascaracterísticas dafonte aplicada naexibição doconteúdo docontrole visual.

X  

 

Page 20: tec-TMSPrinter-090912-2355-44863

ExemplosoFont1 := TFont():New('Couriernew',,-18,.T.)oPrint:SetFont( oFont1 )

SetLandscapeSetLandscape

Define a orientação do relatório como paisagem (Landscape).

SintaxeTMSPrinter(): SetLandscape ( ) -->

ExemplosoPrint:SetLandscape()

SetPageSetPage

Define a página que será apresentada.

SintaxeTMSPrinter(): SetPage ( < nPage> ) -->

Parâmetros 

Nome Tipo Descrição Obrigatório Referência

nPage Numérico Indica o número dapágina que seráapresentada.

X  

 

ExemplosoPrint:SetPage( 10 )

Page 21: tec-TMSPrinter-090912-2355-44863

SetPaperSizeSetPaperSize

Define o tamanho que será adotado pela página que será impressa.

SintaxeTMSPrinter(): SetPaperSize ( [ nTamanho] ) -->

Parâmetros 

Nome Tipo Descrição Obrigatório Referência

nTamanho Numérico Indica o tamanhoque será utilizadono papel. Para maisinformações dostipos de tamanhodisponíveis,consulte a áreaObservações.

   

 

Observações//---------------------------------------------------------------------------------------------------//// Tamanho de folhas possíveis para o método tmsprinter:setPaperSize()//---------------------------------------------------------------------------------------------------//

#define DMPAPER_LETTER 1// Letter 8 1/2 x 11 in

#define DMPAPER_LETTERSMALL 2// Letter Small 8 1/2 x 11 in

#define DMPAPER_TABLOID 3// Tabloid 11 x 17 in

#define DMPAPER_LEDGER 4// Ledger 17 x 11 in

#define DMPAPER_LEGAL 5// Legal 8 1/2 x 14 in

#define DMPAPER_STATEMENT 6// Statement 5 1/2 x 8 1/2 in

Page 22: tec-TMSPrinter-090912-2355-44863

#define DMPAPER_EXECUTIVE 7// Executive 7 1/4 x 10 1/2 in

#define DMPAPER_A3 8// A3 297 x 420 mm

#define DMPAPER_A4 9// A4 210 x 297 mm

#define DMPAPER_A4SMALL 10// A4 Small 210 x 297 mm

#define DMPAPER_A5 11// A5 148 x 210 mm

#define DMPAPER_B4 12// B4 250 x 354

#define DMPAPER_B5 13// B5 182 x 257 mm

#define DMPAPER_FOLIO 14// Folio 8 1/2 x 13 in

#define DMPAPER_QUARTO 15// Quarto 215 x 275 mm

#define DMPAPER_10X14 16// 10x14 in

#define DMPAPER_11X17 17// 11x17 in

#define DMPAPER_NOTE 18// Note 8 1/2 x 11 in

#define DMPAPER_ENV_9 19// Envelope #9 3 7/8 x 8 7/8

#define DMPAPER_ENV_10 20// Envelope #10 4 1/8 x 9 1/2

#define DMPAPER_ENV_11 21// Envelope #11 4 1/2 x 10 3/8

#define DMPAPER_ENV_12 22// Envelope #12 4 \276 x 11

#define DMPAPER_ENV_14 23// Envelope #14 5 x 11 1/2

#define DMPAPER_CSHEET 24// C size sheet

#define DMPAPER_DSHEET 25

Page 23: tec-TMSPrinter-090912-2355-44863

// D size sheet

#define DMPAPER_ESHEET 26// E size sheet

#define DMPAPER_ENV_DL 27// Envelope DL 110 x 220mm

#define DMPAPER_ENV_C5 28// Envelope C5 162 x 229 mm

#define DMPAPER_ENV_C3 29// Envelope C3 324 x 458 mm

#define DMPAPER_ENV_C4 30// Envelope C4 229 x 324 mm

#define DMPAPER_ENV_C6 31// Envelope C6 114 x 162 mm

#define DMPAPER_ENV_C65 32// Envelope C65 114 x 229 mm

#define DMPAPER_ENV_B4 33// Envelope B4 250 x 353 mm

#define DMPAPER_ENV_B5 34// Envelope B5 176 x 250 mm

#define DMPAPER_ENV_B6 35// Envelope B6 176 x 125 mm

#define DMPAPER_ENV_ITALY 36// Envelope 110 x 230 mm

#define DMPAPER_ENV_MONARCH 37// Envelope Monarch 3.875 x 7.5 in

#define DMPAPER_ENV_PERSONAL 38// 6 3/4 Envelope 3 5/8 x 6 1/2 in

#define DMPAPER_FANFOLD_US 39// US Std Fanfold 14 7/8 x 11 in

#define DMPAPER_FANFOLD_STD_GERMAN 40// German Std Fanfold 8 1/2 x 12 in

#define DMPAPER_FANFOLD_LGL_GERMAN 41// German Legal Fanfold 8 1/2 x 13 in

Exemplos#INCLUDE "TOTVS.CH"#DEFINE DMPAPER_LETTER 1 //

Page 24: tec-TMSPrinter-090912-2355-44863

Letter 8 1/2 x 11 inuser functiontstMsPrintLocal aCoords1 := { 1400, 220, 2000,1000 }Local cStartPath:= GetSrvProfString("Startpath", "" )Local x := 0Local oFont1 :=TFont():New( "Times New Roman",,8,,.f.,,,,, .f. )//Times New RomanLocal oFont2 :=TFont():New( "Times New Roman",,10,,.f.,,,,,.f. )Local oFont3 := TFont():New( "Times NewRoman",,7,,.f.,,,,, .f. ) Local oFont4 :=TFont():New( "Times New Roman",,9,,.f.,,,,,.f. )Local oFont5 := TFont():New( "Times NewRoman",,16,,.f.,,,,, .f. )Local oFont6 :=TFont():New( "Times New Roman",,18,,.f.,,,,,.f. )Local oFont7 := TFont():New( "Times NewRoman",,20,,.f.,,,,, .f. )Local oFont8 :=TFont():New( "Times New Roman",,22,,.f.,,,,,.f. )Local oPrn := TMSPrinter():New("tMsPrinter - Teste" )Local oBrush :=TBrush():New( "", CLR_HBLUE )Local lPreview:=.T.Private oMainWnd:= NilPrivate cAcesso :=""lPreview := msgYesNO( "Visualizar antes?")If !oPrn:IsPrinterActive() Alert( "Selecionea impressora padrao" ) oPrn:setUp()ElseoPrn:setUp()EndifIf Right(cStartPath,1) <> "\"cStartPath += Iif( GetRemoteType() == 2, "/","\" )Endif@ 000,000 To 768, 1024 DialogoMainWnd Title "TestetMsPrinter"oPrn:startPage()oPrn:setPortrait()oPrn:setPaperSize( DMPAPER_LETTER )oPrn:Say( 0,0, " ", oFont1, 100 )oPrn:Say ( 0280, 220,"TESTE DE IMPRESSAO ***fonte 04Courier_New_de_8", oFont1 )oPrn:Say ( 0480,220, "TESTE DE IMPRESSAO ***fonte 04Courier_New_de_10", oFont2 )oPrn:Say ( 0680,220, "TESTE DE IMPRESSAO ***fonte 04

Page 25: tec-TMSPrinter-090912-2355-44863

Courier_New_de_7", oFont3 )oPrn:Say ( 0880,220, "TESTE DE IMPRESSAO ***fonte 04Courier_New_de_9", oFont4 )oPrn:Say ( 1080,220, "TESTE DE IMPRESSAO ***fonte 04Courier_New_de_16", oFont5 )oPrn:Say ( 1280,220, "TESTE DE IMPRESSAO ***fonte 04Courier_New_de_18", oFont6 )oPrn:Say ( 1480,220, "TESTE DE IMPRESSAO ***fonte 04Courier_New_de_20", oFont7 )oPrn:Say ( 1680,220, "TESTE DE IMPRESSAO ***fonte 04Courier_New_de_22", oFont8)oPrn:EndPage()oPrn:End()If lPreview oPrn:Preview()Else oPrn:Print()EndifActivate Dialog oMainWndCenteredReturn Nil

SetPortraitSetPortrait

Define a orientação do relatório como retrato (Portrait).

SintaxeTMSPrinter(): SetPortrait ( ) -->

ExemplosoPrint:SetPortrait()

SetupSetup

Apresenta a janela de configuração de impressoras.

SintaxeTMSPrinter(): Setup ( ) -->

Page 26: tec-TMSPrinter-090912-2355-44863

ExemplosoPrint:Setup()

StartPageStartPage

Indica o início da página.

SintaxeTMSPrinter(): StartPage ( ) -->

ExemplosoPrint:StartPage()

Propriedade 

Propriedade Descrição Tipo

cDocument Indica o texto descritivo do relatório. Caracter

lDelete Indica se, verdadeiro (.T.), orelatório será excluído apósexibição; caso contrário, falso (.F.).

Lógico

nPage Indica o número da página emexibição.

Numérico

nPageHeight Indica a altura da página. Numérico

nPageWidth Indica a largura da página. Numérico

 

ObservaçõesPara utilizar imagem nesta classe, através do método SayBitmap, é necessário que o formato seja BMP (Bitmap). Aclasse não suporta outro tipo de formato para impressão de imagem.

A classe TMSPrinter utiliza a classe TFont para definir a fonte que será utilizada no relatório. Porém, a classeTMSPrinter tem uma limitação de fontes que podem ser utilizadas.

A seguir, observe os tipos de fontes que são homologadas:

Courier New

Page 27: tec-TMSPrinter-090912-2355-44863

ArialTimes New RomanHelveticaMicrosoft Sans SerifVerdanaTahomaAndalusCenturyCordia New

Exemplos#include "TOTVS.CH"User FunctionTMSPrinter()Private cAcesso := Repl(" ",10)DEFINE DIALOG oMainWnd TITLE "ExemploTMSPrinter" FROM 180,180 TO 550,700 PIXEL //Monta objeto para impressão oPrint :=TMSPrinter():New("Exemplo TMSPrinter") oPrint:SetPortrait() oPrint:Setup() oPrint:StartPage() oFont1 :=TFont():New('Courier new',,-18,.T.) oPrint:Say( 10,10,"Texto paravisualização",oFont1,1400,CLR_HRED ) oPrint:SayBitmap(100,200,"C:\Dir\Totvs.bmp",400,400 ) oPrint:Line( 130,10,130,900 ) oPrint:Box(130,10,600,900 ) oBrush1 := TBrush():New( ,CLR_YELLOW ) oPrint:FillRect( {100, 10, 200,200}, oBrush1 ) oBrush1:End() // Visualiza a impressão oPrint:EndPage() oPrint:Preview() ACTIVATE DIALOG oMainWndCENTERED Return

PreviewExemplo da classe TMSPrinter

Page 28: tec-TMSPrinter-090912-2355-44863

AbrangênciaProtheus 10 , TOTVS Application Server 10 , ByYouApplication Server