Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Rechnungsseite drucken??? (https://www.delphipraxis.net/4054-rechnungsseite-drucken.html)

mirage228 16. Apr 2003 09:16

oben in der Komponentenleiste direkt zwischen "Datensteuerung" und "Dialog" (bei mir zumindest ist das "QReport")

buyden 16. Apr 2003 09:33

Liste der Anhänge anzeigen (Anzahl: 1)
Also ich hab keine QReports in meinen Kompos. Wie komm ich denn da sonst noch ran??

MrSpock 16. Apr 2003 09:35

Hallo buyden,

um Rave zu fördern, hat Borland den Quickreport "versteckt".

Um ihn sichtbar zu machen, muss das Paket dclqrt70.bpl, das in Verzeichnis .../Delphi7/bin/ steht, installiert werden. (Komponente installieren und die o.g. auswählen.)

buyden 16. Apr 2003 09:59

Da lassen sich doch aber nur .pas dateien installieren wenn ich über New Package gehe.

MrSpock 17. Apr 2003 07:10

Liste der Anhänge anzeigen (Anzahl: 1)
Hallo buyden,

du musst diese Borland Package Library als neues Package hinzufügen:

Guckst du Bild und klickst du Hinzufügen :mrgreen:

buyden 17. Apr 2003 12:48

Got it!! :dancer2: Man muss nem Dummen eben auf die Sprünge helfen. :roll:

Ich hab jetzt nen QReport angelegt und das Label draufgezogen. Die Scrollbars hab ich auch.

Bereit für den nächsten Schritt.

MrSpock 17. Apr 2003 17:40

Hallo buyden,

also weiter gehts:

Jetzt, wo der erste Bericht schon fertig ist, passiert folgendes. Wenn der Bericht ausgeführt wird, teilt er dem Programm mit, dass er Datenbenötigt. Dazu löst er das Event NeedData aus. Du musst jetzt eine Methode für OnNeedData schreiben.

Ich gehe zur Verallgemeinerung davon aus, dass das Array außerhalb von Form1 nicht sichtbar ist, weil es irgendwo lokal oder im privat Bereich deklariert worden sein kann. Deshalb stellt Form1 eine öffentliche Methode zur Verfügung, die Daten auf Anfrage zur Verfügung stellt.

Delphi-Quellcode:
type
  TForm1 = class(TForm)
     ...
  private
    { Private-Deklarationen }
    myArray : array [1..5] of String;
  public
    { Public-Deklarationen }
    AktZeile: Integer;
    function GetNextLine(var zeile: String): Boolean;
  end;
GetNextLine liefert über den Parameter Zeile die nächste auszugebene Zeile aus und meldet als Ertgebnis zurück, ob noch Daten zur Verfügung stehen.

So sieht die Funktion aus:
Delphi-Quellcode:
function TForm1.GetNextLine(var zeile: String): Boolean;
begin
   Result := (AktZeile <= 5);
   if Aktzeile <= 5 then
  begin
      zeile := myArray[AktZeile];
    Inc(AktZeile)
  end;
end;
Auf Knopfdruck wird der Report ausgeführt:
Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
   i : Integer;
begin
   { Testeinträge erzeugen }
  for i := 1 to 5 do
     myArray[i] := 'Das ist der '+IntToStr(i)
                      +'-te Testeintrag für den Quickreport Test.';
   AktZeile := 1;
  Form2.Quickrep1.Preview;
end;
In Form2 nimmst du Form1 in der implementation uses Anweisung auf (und umgekehrt Form2 in Form1)

Jetzt noch die OnNeddData Methode in Form2:
Delphi-Quellcode:
procedure TForm2.QuickRep1NeedData(Sender: TObject; var MoreData: Boolean);
var
   zeile   : String;
begin
   MoreData := Form1.GetNextLine(zeile);
  if MoreData then
     qrZeile.Caption := zeile;
end;
Und feddich :mrgreen:

MrSpock 20. Apr 2003 16:29

Hallo buyden,

wenn dir diese Lösung nicht gefällt, oder dich einfach mal der Einsatz des Rave Reoprts interessiert, könnte ich dir auch das mal zeigen.

Interesse?

[ ] Ja sicher
[ ] Nerv mich nicht
[ ] Ey man, es ist Ostern, raffst du das nicht
[ ] Rave, watt is dat denn
[ ] all of the above
[ ] mir doch egal

Sharky 20. Apr 2003 17:44

Bin zwar nicht buyden.... aber

[x] Rave, watt is dat denn

MrSpock 20. Apr 2003 17:53

Hallo Sharky, der Osterhai,

Rave Report ist ein Report Builder, ähnlich wie Quickreport. Mit Delphi 7 Professional (und darüber) liefert Borland zusätzlich zum Quickreport diesen neuen Reportgenerator aus. Die alten Quickreports können nicht automatisch übernommen werden, obwohl es bald so etwas wie eine automatische Konvertierung geben soll.

Ich hab bisher nur einen einzigen Report mit Rave erstellt, macht aber (nach download des ersten Updates) einen ganz guten Eindruck.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:55 Uhr.
Seite 2 von 4     12 34      

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