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
Antwort Antwort
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Rekursiv Suchen

  Alt 9. Nov 2015, 15:12
Wie kannst du in der Endlosschleife drin sein, wenn er angeblich schreibt "Konvertierung erfolgreich".
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
GroZ

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

AW: Rekursiv Suchen

  Alt 9. Nov 2015, 15:16
Das "Konvertierung erfolgreich" kommt nur wenn ich <> 0 habe. Sprich da ist keine Endlosschleife. Die Endlosschleife kommt nur wenn ich = 0 nutze.
Julian
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Rekursiv Suchen

  Alt 9. Nov 2015, 15:24
Dann hab ich wohl deinen Post #4 falsch interpretiert.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
989 Beiträge
 
Delphi 6 Professional
 
#4

AW: Rekursiv Suchen

  Alt 9. Nov 2015, 17:25
Da Du anscheinend mein Post (#5) nicht willst...

.. zerlege ich deinen Code von Post #1

Delphi-Quellcode:
var f : integer;
    eingabe, Parameter : string;
    X : TSearchRec;
begin
  writeln('FRP to PDF');
  Writeln('');
  Writeln('Verzeichnis eingeben:');
  readln(eingabe);
  Parameter := 'PFAD';
  if eingabe = Parameter +'/dirthen
    begin
      Writeln(Parameter);
      if FindFirst(Parameter, faAnyFile, X) = 0 then try // Hier fehlt ein an den Parameter angehängtes '*.*' oder direkt '*.FRP', notwendig, damit FindFirst auch nach Files sucht
    repeat
      FRPzuPDF(Parameter,ChangeFileExt(Parameter,'.pdf')); // Hier sollte eigentlich was mit x.Name gemacht werden, sprich dem gefundenen Dateiname. In Parameter steht ja nur ein Verzeichnis und kein Dateiname !!
    until FindNext(X) = 1; //Hier kommt immer ne' Endlosschleife // Und wie schon mehrfach geschrieben '<> 0'
  finally
    FindClose(X);
    Writeln('Konvertierung erfolgreich');
    end;
end;
Deine Routine findet ein Verzeichnis, keine Datei!
Wenn deine Suche mit *.* gemacht würde, dann würde er Filenamen in X zurückgeben, sprich die Dateien, welche Du ja eigentlich konvertieren willst. Da Du diese aber nicht benutzt, passiert auch nichts.

Er spring bei <> 0 direkt wieder raus, da er ja das Verzeichnis schon gefunden hat und kein weiteres (gleiches) findet..

So, jetzt schaust Du DIr mal die Funktion in meinem Post #5 oder den Post von Sir Rufo #8 an, da ist genau das hier geschriebene gemacht worden..
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Rekursiv Suchen

  Alt 10. Nov 2015, 06:06
Mir leuchtet die if-Abfrage nicht ein, warum dann überhaupt eine Eingabe machen lassen, wenn es sowieso nur für das eine Verzeichnis gilt.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
GroZ

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

AW: Rekursiv Suchen

  Alt 10. Nov 2015, 07:12
nene das ist nur zum testen ein festes Verzeichnis
Delphi-Quellcode:
var f : integer;
    eingabe, Parameter : string;
    SearchRec : TSearchRec;
begin
  writeln('FRP to PDF');
  Writeln('');
  Writeln('Verzeichnis eingeben:');
  readln(eingabe);
  Parameter := 'C:\Dokumente und Einstellungen\jgross\Desktop\TestSpeichern\'; //Für Testzwecke -> Später noch ändern
  if eingabe = Parameter +'/dirthen
    begin
      if FindFirst(Parameter+'*.*', faDirectory, SearchRec) = 0 then try
    repeat
      if (SearchRec.Name <> '.') then
        FRPzuPDF(Parameter,ChangeFileExt(Parameter,'.pdf'));
    until FindNext(SearchRec)<> 0; //Hier kommt immer ne' Endlosschleife
  finally
    FindClose(SearchRec);
    Writeln('Konvertierung erfolgreich');
    end;
end;
Im Debug Modus ist er genau 8x die Prozedur durchgegangen also hat sozusagen geklappt. Aber die Dateien wurden nicht konvertiert. Ich schau mir jetzt die Prozedur nochmal an. Diese geht aber eigentlich.
Ich glaube ich habe meinen Fehler gefunden. Die Prozedur möchte den genauen Namen zurück haben. Sie kriegt aber nur den Pfad ohne Dateinamen.
Julian

Geändert von GroZ (10. Nov 2015 um 08:55 Uhr)
  Mit Zitat antworten Zitat
Zoot

Registriert seit: 30. Jan 2006
Ort: Hessen
116 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Rekursiv Suchen

  Alt 10. Nov 2015, 10:25
Ein erster Schritt wäre wirklich mal, die Antwortbeiträge zu lesen.

FRPzuPDF(Parameter,ChangeFileExt(x.Name,'.pdf')); Könnte helfen.
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:54 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