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) = '
DIAGRAMM'
then
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.