Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Drucken von Memo + Überschrift (https://www.delphipraxis.net/23617-drucken-von-memo-ueberschrift.html)

jAcK oRsEn 6. Jun 2004 16:50


Drucken von Memo + Überschrift
 
Hi,

ich drucke hiermit den Inhalt eines Memos aus:

Delphi-Quellcode:
procedure TForm1.ToolButton4Click(Sender: TObject);
var Lines: Integer;
LineHeight: Integer;
ActMemoLine: Integer;
Pages: Integer;
PageLine: Integer;
begin

Printer.BeginDoc;
Printer.Canvas.Font.Name := 'Arial';
Printer.Canvas.Font.Size := 11;
Lines := Printer.PageHeight div Printer.Canvas.TextHeight('Dummy');
LineHeight := Printer.Canvas.TextHeight('Dummy');
ActMemoLine := 0;



for Pages := 1 to (Memo1.Lines.Count div Lines) + 1 do
begin
     for PageLine := 0 to Lines - 1 do
     begin

          if ActMemoLine < Memo1.Lines.Count then
          begin
          Printer.Canvas.TextOut(150, PageLine * LineHeight + 150, Memo1.Lines[ActMemoLine]);
          end
          else
          begin
          Printer.EndDoc;
          exit;
          end;
     Inc(ActMemoLine);
     end;
if ActMemoLine < Memo1.Lines.Count then
Printer.NewPage;
end;
Printer.EndDoc;
end;
Wie kann ich jetzt dem Text noch eine Überschrift geben...Praktisch das der Drucker über dem Text ne überschrift druckt?

Die Überschrift steht in tabsheet1.caption

jAcK oRsEn 6. Jun 2004 18:59

Re: Drucken von Memo + Überschrift
 
niemand ne lösung!

Mirilin 6. Jun 2004 19:03

Re: Drucken von Memo + Überschrift
 
:hi:

:warn: Halte Dich doch noch einwenig zurück mit pushen....


Idee : Schreib es hin...


mfg Tobias

Die Muhkuh 6. Jun 2004 19:04

Re: Drucken von Memo + Überschrift
 
Hi Jacki,

auch wir sind nur Menschen, deshalb lass uns 24 h Zeit, auch wenn dein Problem noch so dringend ist. Ich bin sicher wenn du noch wartest kommt jemand ders weiß. Hab Geduld.

GuenterS 6. Jun 2004 19:17

Re: Drucken von Memo + Überschrift
 
druck die Überschrift vorher aus... nachher wirst dich eventuell etwas schwertun, der Drucker scrollt meines Wissens nach nicht zurück.

Delphi-Quellcode:
procedure TForm1.ToolButton4Click(Sender: TObject);
var
   i, lPageLine, lLineHeight, lLineCount: integer;
begin
   Printer.BeginDoc;
   Printer.Canvas.Font.Name := 'Arial';
   Printer.Canvas.Font.Size := 11;
   lLineHeigt := Printer.Canvas.TextHeight('Dummy');
   lLineCount := Printer.PageHeight div lLineHeight;
   for i := 0 to Memo1.Lines.Count -1 do
   begin
       if ((i mod lLineCount) = 0) then
       begin
          Printer.NewPage;
          lPageLine := 1;
       end;
       if (i = 0) then
       begin
          Printer.Canvas.TextOut(150,lPageLine * LineHeight + 150, tabsheet1.caption);
          inc(lPageLine);
       end
       Printer.Canvas.TextOut(150, lPageLine * LineHeight + 150, Memo.Lines[i]);
       inc(lPageLine);
   end;
   Printer.EndDoc;
end;
Habe ich nicht getestet, müßte aber von der Logik her so ziemlich passen.

Nicodius 6. Jun 2004 19:24

Re: Drucken von Memo + Überschrift
 
oder du machtst zeurst ein insert ins memo ;)

Delphi-Quellcode:
Memo1.Lines.Insert(0,Form1.caption);
nacher kannst es wieder löschen mit
Delphi-Quellcode:
memo1.lines.delete(0);
mfg

Nico

aerotech 14. Jan 2005 21:52

Re: Drucken von Memo + Überschrift
 
ääähm,....ich versuch auch gerade das ausdraucken der memo....habe nun Printer oben bei uses eingetragen....nun kommt nur eine Meldung:
[Fatal Error] Unit1.pas(8): File not found: 'Printer.dcu'

versteh ich nit!? :gruebel: :wall:

Ultimator 14. Jan 2005 22:03

Re: Drucken von Memo + Überschrift
 
Ich glaube zu wissen, dass die Unit Printers hieß ;-)

aerotech 14. Jan 2005 22:05

Re: Drucken von Memo + Überschrift
 
Zitat:

Zitat von Ultimator
Ich glaube zu wissen, dass die Unit Printers hieß ;-)

ahhhh, super....danke :thumb:

Basti552 12. Sep 2006 19:18

Re: Drucken von Memo + Überschrift
 
Zitat:

Zitat von Ultimator
Ich glaube zu wissen, dass die Unit Printers hieß ;-)

sry wenn ich den Theard damit aus der Versenkung hole, aber was muss man bei uses Eingabe für Printer?


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:47 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz