Imprimindo o conteúdo de um Memo
O código abaixo implementa uma função para imprimir o conteúdo de um componente Memo.
Para que seja feita a impressão, o código cria um arquivo texto de impressão (MemoFile :TextFile), com o objetivo de armazenar as linhas existentes no memo.
Neste arquivo são armazenadas todas as linhas existentes no memo.
O código completo:
Procedure TForm1.Memo_Print(Conteudo:TStrings);
Var
MemoFile :TextFile;
P :Integer;
Begin AssignPrn(MemoFile);
Rewrite(MemoFile);
For P := 0 to Conteudo.Count-1 do
Writeln(MemoFile,Conteudo.Strings[P]);
CloseFile(MemoFile);
end;
Exemplo :
Procedure Tform1.Button1Click(Sender:TObject);
begin
MemoPrint(Memo1.Lines);
end;
2ª Dica
Imprimindo o conteúdo de um TMemo ou um TListBox?
A procedure abaixo recebe um objeto do tipo TStrings como paramêtro e imprime o seu conteúdo na impressora padrão. Pelo fato de ela usar uma TStrings, a procedure irá trabalhar com qualquer tipo de componente que contenha uma propriedade do tipo TStrings, como um TDBMemo ou um TListBox.
// Adicione a Unit Printers na cláusula do seu Form
uses Printers;
procedure ImpStrings(Strings: TStrings);
var Prn: TextFile;
i: Word;
begin
AssignPrn(Prn);
try
Rewrite(Prn);
try
for i := 0 to Strings.Count -1 do
writeln(Prn, Strings.Strings[i]);
finally
CloseFile(Prn);
end;
except
on EInOutError do
MessageDlg('Erro na impressão do texto.' mtError, [mbOK], 0);
end;
end;
3ª Dica
Para imprimir o conteúdo de um TMemo ou um TListbox, use o seguinte código:
PrintStrings(Memo1.Lines);
ou
PrintStrings(Listbox1.Items);