AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Rekursiv Suchen

Ein Thema von GroZ · begonnen am 9. Nov 2015 · letzter Beitrag vom 11. Nov 2015
 
GroZ

Registriert seit: 6. Jul 2015
Ort: Harz
167 Beiträge
 
Delphi 7 Personal
 
#25

AW: Rekursiv Suchen

  Alt 10. Nov 2015, 12:56
Habe mithilfe eines Arbeitskollegens das Programm komplett umgeschrieben:
Bekomme jetzt eine Exception... Hier der Code:
Delphi-Quellcode:
program FRPtoPDF;

uses
  Forms,
  SysUtils,
  Math,
  ShellApi,
  frxClass,
  frxExportPDF,
  FR_Class,
  PsFR_E_Main,
  PsFR_E_PDF,
  Graphics;

{$AppType Console}

function FRPzuPDF(AFRPFile, APDFFile : string): boolean;
var
  frReport : TfrReport;
  PDFExport : TPsfrPDFExport;
begin
  Result := false;
  if not FileExists(AFRPFile) then
    exit;

  if FileExists(APDFFile) then
    if not DeleteFile(APDFFile) then
      exit;

  frReport := TFrReport.Create(NIL);
  PDFExport := TPsfrPDFExport.Create(NIL);

  try
    PDFExport.ShowDialog := false;
    frReport.ShowProgress := false;
    try
      frReport.LoadPreparedReport(AFRPFile);
      frReport.ExportTo(PDFExport, APDFFile);
    except
      exit;
    end;

  finally
    PDFExport.Free;
    frReport.Free;
  end;

  Result := true;
end;


function VerzeichnisMitFRPzuPDF(PfadUndDateimaske: string; SubDirs: boolean): boolean;
var
  X : TSearchRec;
  Pfad: string;
begin
  Result:=false;

  if FindFirst(PfadUndDateimaske, faAnyFile, X) = 0 then
  try
    repeat
      Write(ExtractFilePath(PfadUndDateimaske)+X.Name+' --> '+ChangeFileExt(ExtractFilePath(PfadUndDateimaske)+X.Name,'.pdf')+'...');

      Result:=FRPzuPDF(ExtractFilePath(PfadUndDateimaske)+X.Name,ChangeFileExt(ExtractFilePath(PfadUndDateimaske)+X.Name,'.pdf'));

      if not Result then
      begin
        Writeln('Fehler!');
        break;
      end
      else
        Writeln('OK');
    until FindNext(X) <> 0;
  finally
    FindClose(X);
  end;

  if Result then
  begin
    if SubDirs then
    begin
      Pfad:=ExtractFilePath(PfadUndDateimaske);

      if FindFirst(Pfad+'*.*', faDirectory, X) = 0 then
      try
        repeat
          if (X.Name <> '.') and (X.Name <> '..') and ((X.Attr and faDirectory) <> 0) then
          begin
            Result:=VerzeichnisMitFRPzuPDF(ExtractFilePath(PfadUndDateimaske)+X.Name+'\'+ExtractFileName(PfadUndDateimaske),SubDirs);
            if not Result then
              break;
          end;
        until FindNext(X) <> 0;
      finally
        FindClose(X);
      end;
    end;
  end;
end;

var
  Parameter : string;
  SubDirs: boolean;
begin
  Writeln('FRP to PDF');

  if ParamCount<1 then
    exit;

  Parameter := ParamStr(1);
  if Copy(Parameter,Length(Parameter),1)<>'\then
    Parameter:=Parameter+'\';

  if ExtractFileName(Parameter)='then
    Parameter:=Parameter+'*.FRP';

  SubDirs:=(ParamCount>1) and (AnsiUpperCase(ParamStr(2))='/S'); // /S für SubDirectorys

  VerzeichnisMitFRPzuPDF(Parameter,SubDirs);
end.
Im Anhang ist die Exception...
Angehängte Grafiken
Dateityp: jpg Exception.jpg (28,8 KB, 22x aufgerufen)
Julian
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz