Artigo Clube Delphi 86 - Impressão matricial no Delphi
Neste artigo veremos como é simples, fácil e rápido montar um projeto que imprima dados em uma impressora matricial usando as classes do componente VDO, que é freeware e open-source.
Impressão matricial no Delphi
Neste artigo veremos como é simples, fácil e rápido montar um projeto que imprima dados em uma impressora matricial usando as classes do componente VDO, que é freeware e open-source. O componente VDO tanto imprime em impressoras matriciais como em impressoras de Jato.
Em nosso exemplo mostraremos como imprimir em uma impressora matricial usando a classe VDODmPrinter, para impressoras Jato basta usar a classe VDOCaPrinter. Como o VDO não envia os dados direto à porta, envia para o Spool do Windows, não teremos problemas com impressoras USB ou em Rede.
Criando um projeto e usando as classes
Primeiro temos que baixar o componente no site indicado na seção Links, poderemos instalar o componente ou adicionar os fontes dele ao projeto e instanciar as classes na mão, faremos pela segunda alternativa. Descompacte o arquivo baixado, crie um novo projeto em Delphi, copie todos os arquivos da pasta src do arquivo baixado e adicione-os ao projeto.
Alguns formulários automaticamente ficarão no Auto-create do projeto, transfira-os colocando no Available forms, são eles: frmVDOPreview, frmVDOPrinterTypeDlg e frmVDOPrintProgress. O único formulário que ficará na criação automática é o formulário principal (Figura 1).
Figura 1. Definindo a criação de formulários
A seguir temos as principais propriedades do VDO.
· CurrentLine: Integer - Leitura do número da linha atual de impressão dentro da página;
· CurrentPage: Integer - Leitura do número da página atual de impressão;
· IsPrinting: Boolean - Leitura do estado da impressora. Retorna True se a impressora estiver imprimindo ou False se não estiver imprimindo;
· PrintersList: TStrings - Leitura das impressoras instaladas do Windows;
· CharMode: TVDODmCharMode = (cmClear, cmNormal) - Determina se será removida a acentuação do texto a ser impresso;