Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Problem: Code Based Report mit Reportvorlage (https://www.delphipraxis.net/114393-problem-code-based-report-mit-reportvorlage.html)

p.dworaczek 24. Mai 2008 15:12


Problem: Code Based Report mit Reportvorlage
 
Hallo!

ich versuche mich z.Z. in RaveReports und muss sagen, dass es für Anfänger sehr schwer ist dort Fuß zu fassen, da man im Internet kaum Tutorials zu RaveReports findet, geschweige denn Tutorials für Anfänger... Aber kommen wir nun zu meinem Problem :-D

Ich will eine Rechnung erstellen und dazu brauche ich ein Paar feste Datenfelder, die z.B. mit Kundenname, Adresse etc. bestückt werden sollen. Das ist auch kein Problem mit den Informationen die ich bis jetzt im Internet gefunden habe.
Hier der CODE:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
    Report.Open;
       Report.SetParam('Datum','23.05.2008');
       Report.Execute;
    Report.Close;
end;
Außerdem soll eine Tabelle erstellt werden, in der die in Anspruch genommenen Leistungen aufgeführt werden sollen, die Anzahl derer ist von Rechnung zu Rechnung unterschiedlich. Beides soll auf einer Seite sein und die Tabelle soll dann automatisch auf die nächste Seite übergehen.

Im Internet habe ich folgenden Beispiel-Code für eine Tabelle gefunden(hat nichts mit meinen Rechnungen zu tun):

Delphi-Quellcode:
procedure TFormMain.PrintTabularReport(Report: TBaseReport);
var
  FolderList : TStringList;
  i         : Integer;
  NumFiles  : Cardinal;
  NumFolders : Cardinal;
  SizeFiles : Cardinal;
  Root      : string;
begin
  with Report do
  begin
    SetFont('Arial', 15);
    NewLine;
    PrintCenter('List of Folders in the Drive Root', 4);
    NewLine;
    NewLine;
    ClearTabs;
    SetTab(0.2, pjLeft, 1.7, 0, 0, 0);
    SetTab(1.7, pjRight, 3.1, 0, 0, 0);
    SetTab(3.1, pjRight, 3.5, 0, 0, 0);
    SetTab(3.5, pjRight, 4.5, 0, 0, 0);
    SetFont('Arial', 10);
    Bold := True;
    PrintTab('Folder Name');
    PrintTab('Number of Files');
    PrintTab('Number of Folders');
    PrintTab('Size of Files');
    Bold := False;
    NewLine;
    FolderList := TStringList.Create;
    try
      Root := IncludeTrailingPathDelimiter(ExtractFileDrive(ParamStr(0)));
      EnumFolders(FolderList, Root);
      for i := 0 to FolderList.Count - 1 do
      begin
        PrintTab(FolderList[i]);
        GetFolderInfo(IncludeTrailingPathDelimiter(Root+FolderList[i]),
          NumFiles, NumFolders, SizeFiles);
        PrintTab(Format('%u',[NumFiles]));
        PrintTab(Format('%u',[NumFolders]));
        PrintTab(Format('%u bytes',[SizeFiles]));
        NewLine;
      end;
    finally
      FolderList.Free;
    end;
  end;
end;
PROBLEM: Die beiden Codes so miteinander Verbinden, dass ich sowohl Daten an meine fertige Rave-Vorlage senden kann und zusätzlich unter der "Kopfzeile" mit Adresse etc. eine Tabelle mit den Leistungen erstellen kann.

Zusatz-Information: Ich möchte die Kundendaten und Rechnungsdaten in einer .mdb speichern und sie von dort auslesen und an Rave übergeben...


Ich bin für jegliche Vorschläge dankbar und offen! :)

Mit freundlichen Grüßen
Piotr Dworaczek

merlin17 28. Mai 2008 17:25

Re: Problem: Code Based Report mit Reportvorlage
 
Achtung:

Der Codeschnipsel Nr. 2 ist CodeBased-Reporting von Nevrona und nicht Rave Reporting von Nevrona.... d.h. es sind im Grunde zwei
Lösungen bzw. Wege des Reportings....

Es gibt auf der nevrona.com/rave-seite unter tips&tricks einige tutorials und lessons... In der Ausgabe 1 (war/ist kostenlose)
des neuen BlaisePascalMagazine ist auch ein längerer Artikel über Rave enthalten; ferner 2003
im Entwicklermagazin (4 oder 5 Artikel über Rave Reporting).



:-) thomas, TeamNevrona

p.dworaczek 28. Mai 2008 19:34

Re: Problem: Code Based Report mit Reportvorlage
 
Vielen Dank für die Antwort! Ich erstelle jetzt mehrere Reports und wähle das richtige während der Laufzeit. :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:46 Uhr.

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