Einzelnen Beitrag anzeigen

Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#1

Inhalt eines Memos mit dem Printer-Objekt ausdrucken

  Alt 1. Aug 2007, 20:22
Hallo Leute,

ich bin dabei ein Programm zu schreiben, das ein Memo-Feld besitzt.
Der Inhalt dieses Memo-Feldes soll dann über den Drucker auf ein Blatt Papier gebracht werden.
Zur Zeit sieht die Prozedur so aus (! nicht funktionsfähig !)
Delphi-Quellcode:
procedure TForm1.Drucken1Click(Sender: TObject);
begin
  IF PrintDialog1.Execute
     THEN BEGIN
          { AssignPrn (DruckDatei);  <-- Das ist die alte Variante, die aber unschöne Seiten
          Rewrite (DruckDatei);      produziert hat.
          writeln (DruckDatei, Memo1.Lines.GetText);
          CloseFile (DruckDatei); }

          Printer.BeginDoc;
          Hoehe := Printer.PageHeight; { Wie groß ist die Seite? }
          ZlDiff := Hoehe DIV 65; { Zeilenhoehe }

           WITH Printer.Canvas DO BEGIN
                SpDiff :=TextWidth('n'); { Wie breit ist ca. ein Buchstabe? }
                Zl := 3*ZlDiff;
                Sp := 8*SpDiff;
                TextOut (Sp*SpDiff,Zl,Memo1.Lines.GetText); {Hier ist das Problem}
                INC (Zl,ZlDiff);
                      IF Zl > Hoehe - 5*ZlDiff
                         THEN BEGIN
                              Printer.NewPage;
                              Zl := 3*ZlDiff;
                              END;
                END; { WITH }
           Printer.EndDoc;
           END;
end;
Das eigentliche Problem beläuft sich darauf, dass die Zeilen, wie im Quelltext angegeben, nicht einzeln ausgelesen werden.
Der ursprüngliche Quellcode dazu kommt von http://noebis.pi-noe.ac.at/delphi/kapitel15.htm
Bernhard
  Mit Zitat antworten Zitat