Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi FastReport (*.fr3) auslesen (https://www.delphipraxis.net/194096-fastreport-%2A-fr3-auslesen.html)

Eppos 17. Okt 2017 08:17

FastReport (*.fr3) auslesen
 
Hallo zusammen,

hat jemand bereits Erfahrung mit dem Auslesen von Informationen aus einer FastReport Datei?

Mir geht es explizit darum, den Autor sowie die Versionsnummer auszulesen.

Gruß
Eppos

DeddyH 17. Okt 2017 08:34

AW: FastReport (*.fr3) auslesen
 
Hast Du die Datei mal im Editor geöffnet? IIRC sind die im XML-Format, das lässt sich doch recht einfach parsen.

Eppos 17. Okt 2017 09:03

AW: FastReport (*.fr3) auslesen
 
Ja habe ich, habe auch schon ein bisschen rum probiert.

Code:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<TfrxReport Version="5.1.7" DotMatrixReport="False" ....
Code:
procedure TForm4.Button1Click(Sender: TObject);
var Node: IXMLNode;
begin
  XMLDocument1.LoadFromFile('D:\Test.xml');
  XMLDocument1.Active := True;
  Node := XMLDocument1.DocumentElement;
  Edit1.Text := Node.ChildNodes['Version'].NodeValue;
  XMLDocument1.Active := False;
end;
Er bekommt jedoch den Wert nicht (Null)...

Gruß
Eppos

DeddyH 17. Okt 2017 09:18

AW: FastReport (*.fr3) auslesen
 
Der gesuchte Knoten heißt TfrxReport und enthält das gesuchte Attribut Version.

Eppos 17. Okt 2017 09:22

AW: FastReport (*.fr3) auslesen
 
Hatte ich auch schon versucht:

Code:
Edit1.Text := Node.ChildNodes['TfrxReport'].AttributeNodes['Version'].NodeValue;

DeddyH 17. Okt 2017 09:36

AW: FastReport (*.fr3) auslesen
 
So geht es bei mir:
Delphi-Quellcode:
var
  Doc: IXMLDocument;
  Node: IXMLNode;
begin
  Doc := NewXMLDocument;
  Doc.LoadFromFile(Filename);
  Doc.Active := true;
  Node := Doc.DocumentElement;
  if Assigned(Node) then
    ShowMessage(Node.Attributes['Version']);
end;

Eppos 17. Okt 2017 09:36

AW: FastReport (*.fr3) auslesen
 
OK, danke, hat sich erledigt :-)

Code:
Edit1.Text := Node.AttributeNodes['Version'].NodeValue;


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:34 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