Para imprimir um campo memo (objeto TMemo) podemos usar diversos métodos. Um deles é acessar a impressora como se fosse um arquivo. Para isto é necessário atribuir a impressora a uma variável arquivo (AssignPrn), abrir o arquivo (ReWrite), escrever nele (write e writeln) e finalmente fechar o arquivo (CloseFile). Talvez seja mais fácil entender o que estou dizendo estudando a rotina abaixo. procedure ImprimirMemo(Memo: TMemo); var I: integer; F: Text; begin AssignPrn(F); Rewrite(F); try for I := 0 to Memo.Lines.Count -1 do WriteLn(F, Memo.Lines[I]); finally CloseFile(F); end; end; Para imprimir um memo com esta rotina basta chamá-la passando como parâmetro o objeto TMemo. Exemplo: ImprimirMemo(Memo1);
Observações
Este método está longe de ser perfeito, mas quebra um galho. Uma alternativa que oferece mais precisão na impressão é usar o Canvas do objeto Printer (Printer.Canvas), mas isto será alvo de outra dica. Outra alternativa bastante prática é usar os recursos de um gerador de relatórios (exemplo: QuickReport). Eu particularmente não sou fã do QuickReport!
O conteúdo desta página pode ajudar alguém? Compartilhe!