![]() |
Wie funktioniert Druck eines <Blob Memo> mit Zeilenumb
Guten Morgen DP`ler,
nachdem ich hier fast verzweifel, hoffe ich auf euer Wissen, denn ich versuche krampfhaft folgendes zu realisieren. Ich möchte einige Felder einer DBase- Datenbank drucken. Der Druck an sich funzt auch schon. Ich gehe einfach so lange die Datenbank durch und drucke die Felder A, B, C, D bis EOF = true und passe für jeden Durchlauf die Koordinaten meines DinA4- Blattes an. Leider muss ich auch den Inhalt eines Memo- Feldes drucken. Bis lang sieht mein Druck so aus, dass ca. die ersten 150 Zeichen meines Memos gedruckt werden und der Rest, der nicht mehr in die Zeile passt, abgeschnitten wird. Und das ist der Knackpunkt. Denn: Wie kann ich das <Blob Memo> so auf´s Papier bringen, dass bei soundsovielen Zeichen ein Zeilenumbruch stattfindet und der Rest meines Memos in der nächsten Zeile gedruckt wird? Der Code sieht bis lang (etwas abgekürzt) so aus:
Delphi-Quellcode:
Ich hoffe auf eure Hilfe.
// zuvor richte ich die Anordnung auf dem Papier ein
while Table1.EOF=false do begin Printer.Canvas.Font.Height:=40; Printer.Canvas.TextOut(x, y, '<Blob Memo>'); Printer.Canvas.Font.Height:=48; Printer.Canvas.TextOut(x+i, y-j, Table1.fieldByName('<Blob Memo>').asString); Table2.Next; end; // nach dem Schleifendurchlauf beende ich den Druck Gruß Kuttis[dp] [edit=sakura] [delphi]-Tags eingefügt. Mfg, sakura[/edit] |
Re: Wie funktioniert Druck eines <Blob Memo> mit Zeile
hallo,
dafür, was du da programmiert hast, gibt es doch schicke komponenten wie z.b. Quickreport oder Rave u.a. Die übernehmen für dich auch den umbruch eines memos. Gruß Ken |
Re: Wie funktioniert Druck eines <Blob Memo> mit Zeile
Moin. moin,
Von Prinzip kannst Du die Zeilen im Memo jeweils in eine Zeile auf dem Canvas drucken
Delphi-Quellcode:
for i := 1 to Pred(Memo.count) do
begin Printer.Canvas.TextOut(x, y, 'Memo.line[i]); y := y + 20; end; Irgendwann kommst Du aber an das Problem der Seitenaufteilung. Sprich Du hast ein Memo am Ende der Seite und es müßte auf der folgenden weitergehen. Das ist kniffliger als man so annimmt. Da bieten sich Reportkomponenten wie Ken schon angesprochen hat. DaQReport aber bei den neueren Delphis nicht mehr dabei ist und mir für die einfachen Sachen ein großer Reportgenerator zu klobig ist habe ich ein Auge auf die Komponenten von AlReport geworfen ![]() Denke da lohnt sich ein Blick drauf, zumal das Freeware ist. Grüße // Martin |
Re: Wie funktioniert Druck eines <Blob Memo> mit Zeile
Hallo Ken, Hallo Martin
ich habe die Kompos noch nie benutzt, deshalb werfen sich hier gerade tausend Fragen auf. Insgesamt arbeite ich das erste mal mit Druck. Ich werde mal schauen, ob ich was schlaues zur Erläuterung finde. Oder wie sich dein Vorschlag, Martin, verwenden lässt. Seitenumbrüche habe ich schon realisiert. Da bietet Canvas ja was schönes an. Vielen Dank für eure Mühe. Gruß Kuttis |
Re: Wie funktioniert Druck eines <Blob Memo> mit Zeile
Hallo,
ich hätte da auch noch einen sehr schönen tip. FreeReport von der seite ![]() Verwende ich in einem großen projekt und die anwender sind sehr zufrieden. Gruß Ken |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 Uhr. |
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