![]() |
Drucken in Delphi 2005
Hallo,
ich möchte aus einer Delphi 2005 Anwendung (allerdings VCL, da konvertiert von Delphi 5) heraus einige Variablen und Texte formatiert aufs Papier bringen. D.h. rechtsbündig, linksbündig, zentriert usw. Evtl. auch in Tabellenform. Wie löse ich das am einfachsten? Die Texte mit ihren Pixel-Koordinaten auszugeben, erscheint mir doch recht aufwendig. Oder gibt es eine Art "Designer", mit dem man - ähnlich dem Form-Designer in Delphi - die Texte per Maus auf dem Blatt anordnen kann? Lohnt es sich vielleicht sogar, dafür Rave Report zu bemühen? Und wenn ja, wie? Eine Datenbank auf die Rave Report zurückgreift, habe ich ja in dem Sinne nicht. Welche Vorgehensweise könnt Ihr mir empfehlen? Gruß Tiger |
Re: Drucken in Delphi 2005
Rave Reports sollte auch Reports erzeugen können ohne Datebank.
Schau dir einfach mal das mitgelieferten Demo von Rave an (Unter "..\3.0\RaveReports\Demos" zu finden) an. |
Re: Drucken in Delphi 2005
|
Re: Drucken in Delphi 2005
Gut mit der Rave Demo kann ich nix anfangen, weil er irgendeine Datenbank nicht findet. Aber es muss doch jemanden geben, der sich mit Rave Reports ein bisschen auskennt, und einem blutigen Anfänger mal sagen kann, wie man einfach eine einzige Variable aus einen Programm irgendwie formatiert auf's Papier bringt ;)
Der Download-Link für das AIReport funktioniert leider nicht... :( |
Re: Drucken in Delphi 2005
Liste der Anhänge anzeigen (Anzahl: 1)
Hi
ich hänge die Zip für alReport mal dran |
Re: Drucken in Delphi 2005
Hier noch ein einfaches Beispiel für die Direktausgabe auf einen Drucker, wobei der Inhalt eines Richedit gedruckt wird
Delphi-Quellcode:
unit UDruck;
interface procedure printText(name:string); implementation uses Printers, Dialogs, Sysutils, Graphics, Windows, Unit1; Var Breite,Hoehe: Word; y: Integer=0; Const oRand=10; uRand=10; lRand=15; dz=4; Procedure printTitle(name:string); Var m:Word; begin with Printer.Canvas do begin Font.Height:=3*10; Font.Style:=[fsbold]; m:=(breite*10-Textwidth(name)) div 2; TextOut(m,y*10,name); Font.Height:=3*10; Font.Style:=[]; end; Dec(y,10); end; procedure ausgabeZeile( s: string); Begin SetTextAlign(Printer.Handle,TA_LEFT+TA_TOP); Printer.Canvas.TextOut(lRand*10,y*10,s); Dec(y,dz); end; procedure PrintText(name:string); Var i:Word; procedure SeitenNr; Begin y:= -(hoehe-15); SetTextAlign(Printer.Handle,TA_RIGHT+TA_TOP); Printer.Canvas.TextOut(lRand*10+(Breite-55)*10, y*10,'Seite '+IntToStr(Printer.PageNumber)); end; begin with Printer do begin Orientation:=poPortrait; BeginDoc; SetMapMode(Handle,MM_LOMETRIC); breite:=GetDeviceCaps(Handle,HorzSize); hoehe:=GetDeviceCaps(Handle,VertSize); y:= -oRand; printTitle(name); For i:=1 To Form1.Richedit1.Lines.count Do Begin ausgabeZeile(Form1.Richedit1.Lines[i]); If y< -(hoehe-uRand) then Begin // break; SeitenNr; NewPage; y:= -oRand; SetMapMode(Handle,MM_LOMETRIC); printTitle(name); end; end; SeitenNr; EndDoc; end; end; end. setze auf eine Form ein Richedit und einen Button und einen Printdialog
Delphi-Quellcode:
uses udruck;
... procedure TForm1.Button1Click(Sender: TObject); begin Richedit1.Width := 600; if Printdialog1.Execute then begin printText('Ausdruck Text'); end; end; vieleicht kanst Du ja was damit machen mfg BrunoT |
Re: Drucken in Delphi 2005
Danke für die Hilfe, aber ich werd das jetzt doch mal mit Rave Reports versuchen. Muss es nur noch schaffen, die Daten aus meinem Programm aufs Blatt zu bekommen, ansonsten funktioniert schon alles ;)
|
Re: Drucken in Delphi 2005
Hallo,
für primitive Druckausgaben kann man auch form.print aufrufen. Für komplexere Drucke über die man die Kontrolle selbst behalten möchte empfiehlt sich die GmPrintSuite. Auch wenn der Autor den Support/Vertrieb eingestellt hat lässt sie sich mit Google noch finden. mfg wo |
Re: Drucken in Delphi 2005
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Bitteschööön Gruss EL |
Re: Drucken in Delphi 2005
Suche hier im Forum mal nach CustomConnection bzw. Parameter & Rave <g>.
Rave kann sowohl mit DB als auch mit "programminternen" Daten wie arrays, listen etc.etc. umgehen. wenn es ganz flach strukturiert ist, gehen auch Parameter :-) thomas, TeamNevrona |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:14 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