AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Folge von Diagrammen in FastReport ?

Ein Thema von EccoBravo · begonnen am 11. Feb 2010 · letzter Beitrag vom 1. Apr 2010
Antwort Antwort
Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#1

Re: Folge von Diagrammen in FastReport ?

  Alt 19. Feb 2010, 08:57
Hallo heo4a,

hast Du Dir den Code so vorgestellt ?

Hier irgendwo werden die 104 Diagramm im Hauptprogramm erzeugt und abgespeichert:

Delphi-Quellcode:
. . .

    for k := 1 to Bild.Bildzahl do
    begin

        CH_Bild1.Refresh;
        CH_Bild1.SaveToBitmapFile('G:\Daten_XP\Eigene RAD\EB_PDF_Arc\Daten\Pat\Test' + IntToStr(k) + '.bmp');
       
    end;

. . .
Dann kommt der Code in der FastReport-IDE unter dem gewünschten Masterband4:

Delphi-Quellcode:
procedure MasterData4OnBeforePrint(Sender: TfrxComponent);
begin
     if FINALPASS then
     begin
         fn:= [DIAGRAMM];
         if fn>'then
             Picture.LoadFromFile(fn);
     end;
end;
Und nun die für mich rätselhafte Stelle im OnGetValue in der Delphi-IDE:

Delphi-Quellcode:
. . .

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

procedure TF_Haupt.frxUserDataSet1CheckEOF(Sender: TObject; var Eof: Boolean);
begin
    eof := frxUserDataSet1.Tag > Bild.Bildzahl - 1;
end;
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

procedure TF_Haupt.frxUserDataSet1First(Sender: TObject);
begin
    frxUserDataSet1.Tag := 1;
end;
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

procedure TF_Haupt.frxUserDataSet1GetValue(const VarName: string;
    var Value: Variant);
var
    i, j, k: integer;
    c: string;
begin
    if UPPERCASE(VarName) = 'DIAGRAMMthen
    begin
        Value := '';
        c := format('G:\Daten_XP\Eigene RAD\EB_PDF_Arc\Daten\Pat\Test' +
            IntToStr(frxUserDataSet1.tag) + '.bmp',[frxUserDataSet1.tag]);
        if FileExists(c) then
            Value := c;
    end;
end;
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

procedure TF_Haupt.frxUserDataSet1Next(Sender: TObject);
begin
    frxUserDataSet1.Tag := frxUserDataSet1.Tag + 1;
end;
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

procedure TF_Haupt.frxUserDataSet1Prior(Sender: TObject);
begin
    frxUserDataSet1.Tag := frxUserDataSet1.Tag - 1;
end;
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

. . .
Natürlich läuft der Code nicht bei mir. Der Debugger steht bei OnGetValue.

Variable c habe ich einfach als String deklariert. ?

Habe ich das mit frxUserDataSet1.Tag richtig gemacht ?

Wieso muß ich fn nicht deklarieren, was bedeuten DIAGRAMM und FINALPASS ?

Vielen Dank für weitere Hilfe

EB.
Wahre Aussage :=
Katzen, die bellen sind keine Kaninchen.

Der Kreisverkehr ist eine spezielle Form der Einbahnstraße
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 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