Thema: Delphi Drucken

Einzelnen Beitrag anzeigen

CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#10
  Alt 17. Aug 2002, 13:35
Hier mal der komplette Sourcecode...
@Christian: Sieht bei mir aus, wie gedruckt.
Am besten, sagt ihr mir anhand des Sourcecodes, was falsch ist...

Code:
[b]procedure[/b] TForm1.drucken1Click(Sender: TObject);
[b]var[/b]
  i, j: integer;
[b]begin[/b]
  [b]if[/b] PrintDialog1.Execute [b]then[/b] [b]begin[/b]
    Printer.Copies := PrintDialog1.Copies;
    Printer.BeginDoc;
    [b]with[/b] Printer [b]do[/b] [b]begin[/b]
      Canvas.Rectangle([color=#0055FF]100[/color], [color=#0055FF]100[/color], Printer.PageWidth - [color=#0055FF]100[/color], [color=#0055FF]300[/color]);

      Canvas.Font.Size := [color=#0055FF]14[/color];
      Canvas.Font.Name := [color=#0055FF]'Courier New'[/color];
      Canvas.Font.Style := [fsBold];
      Canvas.Font.Color := clBlue;
      CenterText([color=#0055FF]'Ausdruck aus RememberIt!'[/color], [color=#0055FF]110[/color]);

      Canvas.Font.Size := [color=#0055FF]13[/color];
      Canvas.Font.Style := [fsBold, fsItalic];
      Canvas.Font.Color := clBlack;
      CenterText(DateTimeToStr(Now), [color=#0055FF]190[/color]);

      [i][color=#000080]{ end headerinformations }[/color][/i]


      Canvas.Font.Size := [color=#0055FF]9[/color];
      Canvas.Font.Name := [color=#0055FF]'Courier New'[/color];
      Canvas.Font.Style := [fsItalic];
      Canvas.Font.Color := clBlack;
      CenterText([color=#0055FF]'Seite '[/color] + IntToStr(Printer.PageNumber), Printer.PageHeight - [color=#0055FF]50[/color]);

      Canvas.Font.Size := [color=#0055FF]12[/color];
      Canvas.Font.Name := [color=#0055FF]'Arial'[/color];
      Canvas.Font.Style := [fsBold];
      Canvas.Font.Color := clBlack;
      Canvas.TextOut([color=#0055FF]100[/color], [color=#0055FF]350[/color], ListBox1.Items[ListBox1.ItemIndex]);

      Canvas.Font.Size := [color=#0055FF]10[/color];
      Canvas.Font.Name := [color=#0055FF]'Arial'[/color];
      Canvas.Font.Style := [];
      Canvas.Font.Color := clBlack;
      j := [color=#0055FF]420[/color];
      [b]for[/b] i:=[color=#0055FF]0[/color] [b]to[/b] Memo1.Lines.Count -[color=#0055FF]1[/color] [b]do[/b] [b]begin[/b]
        [b]if[/b] i*(Canvas.TextHeight(Memo1.Lines[ i ])) = (PageHeight - [color=#0055FF]70[/color]) [b]then[/b] [b]begin[/b]
          [color=#000080][i]{ Hier gibt es noch ein Problem: Da macht er keine neue Seite...}[/i][/color]
          Printer.NewPage;
          j := [color=#0055FF]100[/color];
        [b]end[/b];
        Canvas.TextOut([color=#0055FF]200[/color], j + (i*[color=#0055FF]50[/color]), Memo1.Lines[ i ]);
      [b]end[/b];

      [color=#000080][i]{ end rememberinformations }[/i][/color]
    [b]end[/b];
    Printer.EndDoc;
  [b]end[/b];
[b]end[/b];
Chris
  Mit Zitat antworten Zitat