Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Drucken in Delphi 2005 (https://www.delphipraxis.net/47776-drucken-delphi-2005-a.html)

Tigerandy 16. Jun 2005 07:59


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

Bernhard Geyer 16. Jun 2005 08:01

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.

BrunoT 16. Jun 2005 08:11

Re: Drucken in Delphi 2005
 
Hi

schau mal hier Alreport: ALReport

mfg

BrunoT

Tigerandy 16. Jun 2005 08:35

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... :(

BrunoT 16. Jun 2005 08:43

Re: Drucken in Delphi 2005
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi

ich hänge die Zip für alReport mal dran

BrunoT 16. Jun 2005 08:57

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

Tigerandy 16. Jun 2005 09:28

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 ;)

WoGe 16. Jun 2005 10:40

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

emsländer 13. Jul 2005 17:41

Re: Drucken in Delphi 2005
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von WoGe
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


Bitteschööön


Gruss

EL

merlin17 13. Jul 2005 20:08

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