@@ -5,13 +5,12 @@ program PDFReportGenerator;
55{ $R *.res}
66
77uses
8- System.SysUtils,
9- System.Classes,
10- dxBackend, // DevExpress Reports and Dashboards backend
11- dxBackend.Bundled,
12- dxBackend.ConnectionString.SQL,
13- dxReport, // DevExpress Reports frontend
14- dxReport.Parameters;
8+ System.SysUtils, System.Classes, System.StrUtils, dxBackend, dxBackend.Bundled,
9+ dxBackend.ConnectionString.SQL, dxReport, dxReport.Parameters;
10+ var
11+ AParameter: TArray<string>;
12+ i: Integer;
13+ AOrderID, Key, Value : string;
1514
1615// Export a report to a PDF file in non-interactive mode:
1716// without showing the report in the Report Designer or Report Viewer, or otherwise using UI.
2423 AReportParameter: TdxReportParameter;
2524 AStream: TMemoryStream;
2625 AOutputFileName: string;
26+
2727begin
2828 // Step 1: Create a report instance and load the report layout
2929 AReport := TdxReport.Create(nil );
6868
6969// The helper application entry point that parses command-line parameters and calls the export procedure
7070begin
71- var
72- AOrderID, AParam: string;
73- Key, Value : string;
74- i: Integer;
75- try
76- AOrderID := ' ' ; // Initialize as empty
77-
78- // Parse command-line parameters in the format "key=value"
79- for i := 1 to ParamCount do
71+ AOrderID := ' ' ; // Initialize as empty
72+ // Parse command-line parameters in the format "key=value"
73+ for i := 1 to ParamCount do
74+ begin
75+ if ParamStr(i).Contains(' =' ) then
8076 begin
81- AParam := ParamStr(i);
82- if AParam.Contains(' =' ) then
83- begin
84- Key := Copy(AParam, 1 , Pos(' =' , AParam) - 1 ).ToLower;
85- Value := Copy(AParam, Pos(' =' , AParam) + 1 , Length(AParam));
86-
87- if Key = ' orderid' then
88- AOrderID := Value ;
89- end ;
90- end ;
77+ AParameter := SplitString(ParamStr(i), ' =' );
78+ Key := AParameter[0 ].ToLower;
79+ Value := AParameter[1 ];
9180
92- // Check if AOrderID is provided
93- if AOrderID.IsEmpty then
94- begin
95- Writeln(' Error: OrderID parameter is required. For example: PDFReportGenerator.exe orderid=11077' );
96- Halt(1 ); // Exit with error code 1
81+ if Key = ' orderid' then
82+ AOrderID := Value ;
9783 end ;
84+ end ;
9885
99- ExportReportToPdf(AOrderID);
100- except
101- on E: Exception do
102- Writeln(E.ClassName, ' : ' , E.Message);
86+ // Check if AOrderID is provided
87+ if AOrderID.IsEmpty then
88+ begin
89+ Writeln(' Error: OrderID parameter is required. For example: PDFReportGenerator.exe orderid=11077' );
90+ Halt(1 ); // Exit with error code 1
10391 end ;
92+
93+ ExportReportToPdf(AOrderID);
10494end .
0 commit comments