|
@@ -210,7 +210,7 @@ uses
|
|
|
PhaseData, BGLDm, MainFrm, ZhAPI, SearchDm, PHPWebDm, ActiveX,
|
|
|
ConstUnit, MD5Unit, sdIDTree, sdDB, mProgressFrm, ConditionalDefines,
|
|
|
ProjectCommands, ProjectProperty, CheckerMemoFrm, BillsMeasureDm,
|
|
|
- ProgressHintFrm, mProgressProFrm, ReportManagerFrm;
|
|
|
+ ProgressHintFrm, mProgressProFrm, ReportManagerFrm, ScFileArchiverConsts;
|
|
|
|
|
|
{$R *.dfm}
|
|
|
|
|
@@ -557,6 +557,39 @@ procedure TProjectFrame.dxsbViewControlItemClick(Sender: TObject;
|
|
|
AfterChangeView;
|
|
|
end;
|
|
|
*)
|
|
|
+ procedure ClearOldReports(AReportsPath: string);
|
|
|
+ var
|
|
|
+ SRec: TSearchRec;
|
|
|
+ iRetval, iPos: Integer;
|
|
|
+ vHead7: TScFile7Head;
|
|
|
+ sProp, sFile, sPath: string;
|
|
|
+ vFS: TFileStream;
|
|
|
+ begin
|
|
|
+ iRetval := FindFirst(AReportsPath + '*.srt', faAnyFile, sRec);
|
|
|
+ try
|
|
|
+ while iRetval = 0 do
|
|
|
+ begin
|
|
|
+ if (SRec.Attr and faDirectory) = 0 then
|
|
|
+ begin
|
|
|
+ sFile := AReportsPath + SRec.Name;
|
|
|
+ vFS := TFileStream.Create(sFile, fmOpenRead);
|
|
|
+ try
|
|
|
+ vFS.Read(vHead7, SizeOf(vHead7));
|
|
|
+ finally
|
|
|
+ vFS.Free;
|
|
|
+ end;
|
|
|
+
|
|
|
+ SetString(sProp, vHead7.ReportProperties, 256);
|
|
|
+ iPos := Pos('±¨±íID=', sProp);
|
|
|
+ if iPos <= 0 then
|
|
|
+ DeleteFile(PChar(sFile));
|
|
|
+ end;
|
|
|
+ iRetval := FindNext(SRec);
|
|
|
+ end;
|
|
|
+ finally
|
|
|
+ SysUtils.FindClose(SRec);
|
|
|
+ end;
|
|
|
+ end;
|
|
|
|
|
|
procedure DisplayReports;
|
|
|
var vRMForm: TReportManagerForm;
|
|
@@ -565,6 +598,7 @@ procedure TProjectFrame.dxsbViewControlItemClick(Sender: TObject;
|
|
|
if G_IsCloud then
|
|
|
begin
|
|
|
sPath := ExtractFilePath(ParamStr(0)) + 'ReportTemplates\';
|
|
|
+ ClearOldReports(sPath);
|
|
|
if FileCount(sPath, '.srt') = 0 then
|
|
|
begin
|
|
|
Screen.Cursor := crHourGlass;
|