Skip to content

Commit 3609ca0

Browse files
committed
delphi fixup
1 parent 40e95bf commit 3609ca0

1 file changed

Lines changed: 25 additions & 35 deletions

File tree

Delphi/PDFReportGenerator.dpr

Lines changed: 25 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,12 @@ program PDFReportGenerator;
55
{$R *.res}
66

77
uses
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.
@@ -24,6 +23,7 @@ var
2423
AReportParameter: TdxReportParameter;
2524
AStream: TMemoryStream;
2625
AOutputFileName: string;
26+
2727
begin
2828
// Step 1: Create a report instance and load the report layout
2929
AReport := TdxReport.Create(nil);
@@ -68,37 +68,27 @@ end;
6868

6969
// The helper application entry point that parses command-line parameters and calls the export procedure
7070
begin
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);
10494
end.

0 commit comments

Comments
 (0)