Naja das ist nicht gerade die schönste Lösung.
Schöner und immernoch sehr einfach wäre der Weg über ein RichEdit (RichEdit.Print(); ).
Mehr Möglichkeiten hast du, wenn du den TPrinter aus der
Unit Printers nutzt. Allerdings musst du dich da auch selbst um die Formatierung kümmern, was etwas komplizierter ist.
EDIT:
Hab grad noch das gefunden (selbst nicht getestet):
Delphi-Quellcode:
procedure TForm1.Print1Click(Sender: TObject);
var zeile: Integer;
PrintText: TextFile; //Deklaration einer Dateivariablen
begin
if PrintDialog1.Execute then begin
// Zuweisung von PrintText an den Drucker
AssignPrn(PrintText);
Rewrite(PrintText); // Erzeugen und Öffnen der Ausgabedatei
try
// Zuweisung der eingestellten Schriftart an die Leinwand
Printer.Canvas.Font := Memo1.Font;
for Line := 0 to Memo1.Lines.Count - 1 do
//Schreiben des Inhalts von Memo1 in das Druckerobjekt
Writeln(PrintText, Memo1.Lines[Line]);
finally
CloseFile(PrintText); // Schließen der Druckervariablen
end;
end;
end;