You are on page 1of 29

TMSPrinter

The license could not be verified: License Certificate has expired!

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

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.

Obrigatório

Referência

Retorno
oObjeto
()
Retorna o objeto criado.

Exemplos
oPrint := TMSPrinter():New("Exemplo
TMSPrinter")
Métodos
Box
Box
Cria um objeto do tipo retângulo.

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

Parâmetros
Nome

Tipo

Descrição

nRow

Numérico

Indica a
coordenada vertical
em pixels.

nCol

Numérico

Indica a
coordenada
horizontal em
pixels.

nBottom

Numérico

Indica a posição do
objeto em relação
ao rodapé.

nRight

Numérico

Indica a posição do
objeto à direita.

uParam5

Qualquer

Compatibilidade.

Obrigatório

Referência

Sintaxe TMSPrinter(): Canceled ( ) --> Exemplos oPrint:Canceled() Cmtr2Pix Cmtr2Pix Devolve por referência o valor convertido em pixels de uma coluna e uma linha.900 ). Sintaxe TMSPrinter(): Cancel ( ) --> Exemplos oPrint:Cancel() Canceled Canceled Retorna se o relatório foi cancelado pelo método Cancel(). [ uParam3] ) --> . [ nColuna].10. Sintaxe TMSPrinter(): Cmtr2Pix ( [ nLinha].Exemplos oPrint:Box( 130.600. Cancel Cancel Cancela execução do relatório.

nColuna Numérico Indica a coluna que será calculada.nRow1 )/*Resultados:nCol1 := 1107. Obrigatório Exemplos nCol1 := 10nRow1 := 10oPrint:Cmtr2Pix( nCol1.26600985*/ End End Indica o término do relatório. uParam3 Array of Record Compatibilidade. Sintaxe TMSPrinter(): End ( ) --> Observações Exemplos oPrint:End() EndPage EndPage Indica o fim da página. Sintaxe Referência .Parâmetros Nome Tipo Descrição nLinha Numérico Indica a linha que será calculada.08955224nRow1 := 1107.

oBrush Objeto Indica o objeto do tipo TBrush utilizado para definir a cor de preenchimento do shape e responsável pelo preenchimento do retângulo. 200. 10. CLR_YELLOW )oPrint:FillRect( {100. do tipo numérico. oBrush1 ) .TMSPrinter(): EndPage ( ) --> Exemplos oPrint:EndPage() FillRect FillRect Cria um objeto do tipo retângulo que pode ser preenchido de uma determinada cor. que contêm as coordenadas do retângulo que será construído. Sintaxe TMSPrinter(): FillRect ( [ aCoords]. [ oBrush] ) --> Parâmetros Nome Tipo Descrição aCoords Vetor Indica um array. 200}. Obrigatório Referência Exemplos oBrush1 := TBrush():New( .

Sintaxe TMSPrinter(): GetTextHeight ( < cTexto>. para realizar o cálculo. Exemplos oPrint:GetOrientation() // Result: 1=Portrait(retrato) 2=Landscape(paisagem) GetTextHeight GetTextHeight Retorna a altura do texto conforme as características da fonte definida.GetOrientation GetOrientation Retorna a orientação (Retrato ou Paisagem) do objeto. sendo: 1=Portrait (retrato) ou 2=Landscape (paisagem). Sintaxe TMSPrinter(): GetOrientation ( ) --> nOrint Retorno nOrint () Retorna a orientação do objeto. < oFont> ) --> nHeight Parâmetros Nome Tipo Descrição Obrigatório cTexto Caracter Indica o texto que será calculado. utilizado para definir as características da fonte. X oFont Objeto Indica o objeto do tipo TFont. X Referência .

X Observação: Obrigatório Referência .-18. X oFonte Objeto Indica o objeto do tipo TFont. Observação: Este método retorna ZERO se o componente estiver sendo executado via AppServer Linux. Sintaxe TMSPrinter(): GetTextWidth ( < cTexto>.T. para realizar o cálculo. utilizado para definir as características da fonte. oFont1) // Result: 180 GetTextWidth GetTextWidth Retorna a largura do texto conforme as características da fonte definida. Exemplos oFont1 := TFont():New('Courier new'.)nHeight := oPrint:GetTextHeight( "Teste". < oFonte> ) --> nWidth Parâmetros Nome Tipo Descrição cTexto Caracter Indica o texto que será calculado.Retorno nHeight() Retorna a altura do texto...

GetFontWidths Retorna a largura dos caracteres de uma determinada fonte Sintaxe TMSPrinter(): GetFontWidths ( [ oFont]. IsPrinterActive IsPrinterActive Retorna se a impressora está ativa. . Retorno nWidth (numerico) Retorna a largura do texto.Este método retorna ZERO se o componente estiver sendo executado via AppServer Linux. [ @aFontSize] ) Parâmetros Nome Tipo Descrição Obrigatório oFont Objeto Objeto do tipo fonte X aFontSize Array of Record Vetor passado por referencia que recebera a lista de largura da fonte selecionada X Referência X Retorno aRet() 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.

nRight Numérico Indica a posição do objeto à direita.10. uParam5 Objeto Compatibilidade. [ nBottom]. Exemplos oPrint:Line( 130.Sintaxe TMSPrinter(): IsPrinterActive ( ) --> Exemplos oPrint:IsPrinterActive() Line Line Cria um objeto do tipo linha.900 ). Sintaxe TMSPrinter(): Line ( [ nTop]. nLeft Numérico Indica a coordenada horizontal em pixels.130. nBottom Numérico Indica a posição do objeto ao rodapé. [ uParam5] ) --> Parâmetros Nome Tipo Descrição nTop Numérico Indica a coordenada vertical em pixels. nHorzRes Obrigatório Referência . [ nLeft]. [ nRight].

Sintaxe TMSPrinter(): nHorzRes ( ) --> nResolução Retorno nResolução () Retorna a resolução horizontal da impressora configurada.nHorzRes Retorna a resolução horizontal da impressora configurada. Sintaxe TMSPrinter(): nLogPixelX ( ) --> nResolução Retorno nResolução () Retorna a resolução vertical em pixels da impressora configurada. Exemplos oPrint:nHorzRes() // Result: 2400 nLogPixelX nLogPixelX Retorna a resolução vertical em pixels da impressora configurada. Exemplos oPrint:nLogPixelX() // Result: 300 nLogPixelY nLogPixelY Retorna a resolução horizontal em pixels da impressora configurada. Sintaxe TMSPrinter(): nLogPixelY ( ) --> nResolução .

Exemplos oPrint:nLogPixelY() // Result: 300 nVertRes nVertRes Retorna a resolução vertical da impressora configurada. Exemplos oPrint:nVertRes() // Result: 3168 Preview Preview Abre a janela de visualização do relatório. Sintaxe TMSPrinter(): nVertRes ( ) --> nResolução Retorno nResolução () Retorna a resolução vertical da impressora configurada. Sintaxe TMSPrinter(): Preview ( ) --> Exemplos oPrint:Preview() Print .Retorno nResolução () Retorna a resolução horizontal em pixels da impressora configurada.

que contêm as páginas que serão impressas.2}.Print Envia o relatório para impressora. Sintaxe TMSPrinter(): PrinterName ( ) --> cImpressora Retorno cImpressora (caracter) Retorna o nome da impressora. do tipo numérico. 2 ) PrinterName PrinterName Retorna o nome da impressora. Referência . Sintaxe TMSPrinter(): Print ( [ aPags]. nCopias Numérico Indica o número de cópias que serão impressas. [ nCopias] ) --> Parâmetros Nome Tipo Descrição aPags Vetor Indica o array. Obrigatório Exemplos // Imprime duas cópias da página 1 e 2oPrint:Print( {1.

e gera um arquivo separado para cada página.Exemplos oPrint:PrinterName() // Result: "\\172. [ nHeightPage]. Sintaxe TMSPrinter(): SaveAllAsJpeg ( [ cFilePath].16. no formato JPG (Joint Photographic Group). Sintaxe TMSPrinter(): ResetPrinter ( ) --> Exemplos oPrinter:ResetPrinter() SaveAllAsJpeg SaveAllAsJpeg Salva o relatório.251\Tecmono 2" Refresh Refresh Atualiza a visualização do relatório.90. [ nWidthPage]. [ nZoom] ) --> lOk . Sintaxe TMSPrinter(): Refresh ( ) --> Exemplos oPrint:Refresh() ResetPrinter ResetPrinter Exclui o objeto e reinicia suas propriedades.

se a imagem for salva com sucesso. nWidthPage Numérico Indica a largura da imagem. Detalhes sobre as definições de tamanho e zoom Os valores default(padrão) do método são: nWidthPage: 700 nHeightPage: 1000 nZoom:100% Limites aceitos: nWidthPage: 1800 nHeightPage: 1800 nZoom: Minimo 10% e Máximo 300% .).). Observações Importante O método SaveAllAsJpeg() não foi implementado para ser executado em Jobs. Obrigatório Referência Retorno lOk (logico) Retorna verdadeiro (. nHeightPage Numérico Indica a altura da imagem. caso contrário.Parâmetros Nome Tipo Descrição cFilePath Caracter Indica o nome do arquivo. nZoom Numérico Indica o zoom que a imagem será salva. retornará falso (.T.F.

T. se o relatório for salvo com sucesso. 1120.F. Obrigatório Referência X Retorno lOk (logico) Retorna verdadeiro (. [ aRange] ) --> lOk Parâmetros Nome Tipo Descrição cFile Caracter Indica o nome do arquivo. . 140 ) SaveAsHTML SaveAsHTML Salva o relatório no formato HTML (HyperText Markup Language). que contêm as páginas que serão salvas. 840. as imagens utilizadas no método SayBitmap devem ser obrigatóriamente bitmaps (BMP). Observações Importante O método SaveAsHTML() não foi implementado para ser executado em Jobs.Limitações do método: Ao utilizar o método SaveAllAsJpeg. aRange Vetor Indica o array. retornará falso (. Sintaxe TMSPrinter(): SaveAsHTML ( < cFile>.).). caso contrário. do tipo caracter. sendo o único padrão de imagens aceito para a conversão. Exemplos oPrint:SaveAllAsJpeg( cStartPath+'relatorio'.

[ aRange] ) --> lOk Parâmetros Nome Tipo Descrição cFile Caracter Indica o nome do arquivo. caso contrário. do tipo caracter. Sintaxe TMSPrinter(): SaveAsODF ( < cFile>.ODF"lSend := oPrint:SaveAsODF( cFileODF. aRange Vetor Indica o array. {1.). SaveAsODF SaveAsODF Salva o relatório no formato ODF (Open Document Format).T.HTM"lSend := oPrint:SaveAsHTML( cFileHtml. Obrigatório Referência X Retorno lOk (logico) Retorna verdadeiro (.Exemplos cFileHtml := "\TREPORT\Relatorio. retornará falso (.F. Exemplos cFileODF := "\TREPORT\Relatorio. {1.2} ) //Result: . que contêm as páginas que serão salvas.T.2} ) // Result : . .) ser o relatório for salvo com sucesso.T.

nWidth Numérico Indica a largura em pixels do objeto. [ nClrText]. Sintaxe TMSPrinter(): Say ( [ nRow]. nClrText Numérico Indica a cor do texto do objeto. oFont Objeto Indica o objeto do tipo TFont utilizado para definir as características da fonte aplicada na exibição do conteúdo do controle visual. [ nAlign] ) --> Parâmetros Nome Tipo Descrição nRow Numérico Indica a coordenada vertical em pixels ou caracteres. uParam7 Nulo Mantido por compatibilidade. [ oFont]. cText Caracter Indica o texto que será impresso. nCol Numérico Indica a coordenada horizontal em pixels ou caracteres. [ nWidth]. [ cText]. caso informado deve ser NIL. [ uParam7]. Obrigatório Referência . [ nCol].Say Say Cria um objeto do tipo texto.

Exemplos oFont1 := TFont():New('Courier new'.10.)oPrint:Say( 10."Texto para visualização". [ uParam6]. com extensão BMP (Bitmap).-18. [ nWidth].(Padrão) Alinhado à esquerda.nAlign Numérico Indica o alinhamento do texto :0 .1 Alinhado à direita.. [ uParam7] ) --> Parâmetros Nome Tipo Descrição nRow Numérico Indica a coordenada vertical em pixels ou caracteres.Centraliza o texto. [ cBitmap].. [ nCol]. cBitmap Caracter Indica o diretório e o nome. nCol Numérico Indica a coordenada horizontal em pixels ou caracteres.CLR_HRED ) SayBitmap SayBitmap Cria um objeto do tipo imagem.1400.T. Sintaxe TMSPrinter(): SayBitmap ( [ nRow].2 .oFont1. [ nHeight]. Obrigatório Referência . da imagem.

nHeight Numérico Indica a altura em pixels do objeto. Exemplos oPrint:SayBitmap( 100.800. Observações A imagem é ajustada para preencher todo o espaço definido entre a altura e largura do objeto.200. uParam6 Numérico Compatibilidade. uParam7 Lógico Compatibilidade.800 ) SetCurrentPrinterInUse SetCurrentPrinterInUse Compatibilidade."C:\Dir\Totvs.nWidth Numérico Indica a largura em pixels do objeto.bmp". Sintaxe TMSPrinter(): SetFont ( < oFont> ) --> Parâmetros Nome Tipo Descrição Obrigatório Referência . Sintaxe TMSPrinter(): SetCurrentPrinterInUse ( ) --> SetFont SetFont Define a fonte padrão do relatório.

Sintaxe TMSPrinter(): SetPage ( < nPage> ) --> Parâmetros Nome Tipo Descrição Obrigatório Referência .. Sintaxe TMSPrinter(): SetLandscape ( ) --> Exemplos oPrint:SetLandscape() SetPage SetPage Define a página que será apresentada.)oPrint:SetFont( oFont1 ) SetLandscape SetLandscape Define a orientação do relatório como paisagem (Landscape).-18..oFont Objeto Indica o objeto do tipo TFont utilizado para definir as características da fonte aplicada na exibição do conteúdo do controle visual.T. X Exemplos oFont1 := TFont():New('Courier new'.

X Exemplos oPrint:SetPage( 10 ) SetPaperSize SetPaperSize Define o tamanho que será adotado pela página que será impressa. Para mais informações dos tipos de tamanho disponíveis. consulte a área Observações. Sintaxe TMSPrinter(): SetPaperSize ( [ nTamanho] ) --> Parâmetros Nome Tipo Descrição nTamanho Numérico Indica o tamanho que será utilizado no papel.nPage Numérico Indica o número da página que será apresentada. Obrigatório 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 Referência .

#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 #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 .

875 x 7.// 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 // 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.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 .

. "\" )Endif@ 000..T. ..10..f. )//Times New RomanLocal oFont2 := TFont():New( "Times New Roman".#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.f..22.....1) <> "\" cStartPath += Iif( GetRemoteType() == 2.f...16....8.Private oMainWnd:= NilPrivate cAcesso := ""lPreview := msgYesNO( "Visualizar antes?" )If !oPrn:IsPrinterActive() Alert( "Selecione a impressora padrao" ) oPrn:setUp()Else oPrn:setUp()EndifIf Right(cStartPath. )Local oFont5 := TFont():New( "Times New Roman"..20.....f....f. ....f. .f. )Local oFont7 := TFont():New( "Times New Roman".. ....f. )Local oFont3 := TFont():New( "Times New Roman".Teste" )Local oBrush := TBrush():New( ""..... "" )Local x := 0Local oFont1 := TFont():New( "Times New Roman". 2000.... ...f.f. 1024 Dialog oMainWnd Title "Teste tMsPrinter"oPrn:startPage()oPrn:setPortrait()o .18... )Local oFont6 := TFont():New( "Times New Roman"......f... . "/".f..000 To 768. 220.f.7..... .f.... )Local oPrn := TMSPrinter():New( "tMsPrinter ......CH"#DEFINE DMPAPER_LETTER 1 // Letter 8 1/2 x 11 inuser function tstMsPrintLocal aCoords1 := { 1400...f. 1000 }Local cStartPath:= GetSrvProfString( "Startpath". ) Local oFont4 := TFont():New( "Times New Roman". ..9..f. )Local oFont8 := TFont():New( "Times New Roman". CLR_HBLUE )Local lPreview:= .

220. 220. oFont4 )oPrn:Say ( 1080. 220. oFont5 )oPrn:Say ( 1280. "TESTE DE IMPRESSAO ***fonte 04 Courier_New_de_10". "TESTE DE IMPRESSAO ***fonte 04 Courier_New_de_7". oFont3 )oPrn:Say ( 0880. 0. "TESTE DE IMPRESSAO ***fonte 04 Courier_New_de_18". 220. "TESTE DE IMPRESSAO ***fonte 04 Courier_New_de_16". oFont2 )oPrn:Say ( 0680. "TESTE DE IMPRESSAO ***fonte 04 Courier_New_de_8".Prn:setPaperSize( DMPAPER_LETTER )oPrn:Say( 0. 220. "TESTE DE IMPRESSAO ***fonte 04 Courier_New_de_20". oFont6 )oPrn:Say ( 1480. oFont1. 220. "TESTE DE IMPRESSAO ***fonte 04 Courier_New_de_9". oFont8 )oPrn:EndPage()oPrn:End()If lPreview . "TESTE DE IMPRESSAO ***fonte 04 Courier_New_de_22". oFont7 )oPrn:Say ( 1680. 220. oFont1 )oPrn:Say ( 0480. 220. 100 )oPrn:Say ( 0280. " ".

Sintaxe TMSPrinter(): SetPortrait ( ) --> Exemplos oPrint:SetPortrait() Setup Setup Apresenta a janela de configuração de impressoras.oPrn:Preview()Else oPrn:Print()EndifActivate Dialog oMainWnd CenteredReturn Nil SetPortrait SetPortrait Define a orientação do relatório como retrato (Portrait). Sintaxe TMSPrinter(): StartPage ( ) --> Exemplos . Sintaxe TMSPrinter(): Setup ( ) --> Exemplos oPrint:Setup() StartPage StartPage Indica o início da página.

).F. falso (. através do método SayBitmap. Lógico nPage Indica o número da página em exibição. caso contrário. Numérico nPageHeight Indica a altura da página. Caracter lDelete Indica se.T. A classe não suporta outro tipo de formato para impressão de imagem. verdadeiro (. Numérico Observações Para utilizar imagem nesta classe. observe os tipos de fontes que são homologadas: Courier New Arial Times New Roman Helvetica Microsoft Sans Serif Verdana Tahoma Andalus Century Cordia New Exemplos .oPrint:StartPage() Propriedade Propriedade Descrição Tipo cDocument Indica o texto descritivo do relatório. é necessário que o formato seja BMP (Bitmap). Porém. A classe TMSPrinter utiliza a classe TFont para definir a fonte que será utilizada no relatório.). A seguir. a classe TMSPrinter tem uma limitação de fontes que podem ser utilizadas. o relatório será excluído após exibição. Numérico nPageWidth Indica a largura da página.

oFont1.#include "TOTVS. 200}..T.10.10.1400.900 ) oPrint:Box( 130. oBrush1 ) oBrush1:End() // Visualiza a impressão oPrint:EndPage() oPrint:Preview() ACTIVATE DIALOG oMainWnd CENTERED Return Preview Exemplo da classe TMSPrinter ."C:\Dir\Totvs.10) DEFINE DIALOG oMainWnd TITLE "Exemplo TMSPrinter" FROM 180.130.180 TO 550. 200..CLR_HRED ) oPrint:SayBitmap( 100.400 ) oPrint:Line( 130."Texto para visualização".600.) oPrint:Say( 10.400.900 ) oBrush1 := TBrush():New( .200. CLR_YELLOW ) oPrint:FillRect( {100.bmp".-18. 10.10.700 PIXEL // Monta objeto para impressão oPrint := TMSPrinter():New("Exemplo TMSPrinter") oPrint:SetPortrait() oPrint:Setup() oPrint:StartPage() oFont1 := TFont():New('Courier new'.CH"User Function TMSPrinter()Private cAcesso := Repl(" ".

TOTVS Application Server 10 .Abrangência Protheus 10 . ByYou Application Server .