QDirIterator (ich blick's net)

Alles rund um die Programmierung mit Qt
Antworten
fm94
Beiträge: 14
Registriert: 24. Januar 2009 08:53
Kontaktdaten:

QDirIterator (ich blick's net)

Beitrag von fm94 »

hi @all...
ich suche nach einer möglichkeit, sämtliche namen von unterordnern in einem ordner und deren unterordner und wieder deren unterordner usw. in eine qstringlist zu speichern...also, dass in der qstringlist z.b. folgendes steht:

ordner01
ordner02
ordner01\uordner01
ordner01\uordner02
ordner01\uuordner01

usw...

ich bin auf die funktion QDirIterator gestoßen, und hab mir gedacht, damit könnte es doch eigentlich gehn...aber entweder ist es wirklich so schwierig oder ich steh nur aufm schlauch, jedenfalls bekomm ich das einfach nicht hin...
könnte vllt. jemand für mich einen code(abschnitt) schreiben, der das macht, was ich will...
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Warum führst du nicht diesen Thread weiter: Funktion zum Kopieren von Verzeichnisbäumen?
fm94
Beiträge: 14
Registriert: 24. Januar 2009 08:53
Kontaktdaten:

Beitrag von fm94 »

weil das hier jetzt spezifischer ist...
CLRS530
Beiträge: 155
Registriert: 8. Oktober 2007 18:00

Beitrag von CLRS530 »

Spezifischer heißt, du willst den für dich nötigen Quellcode vorgschrieben bekommen?
Um dir ohne das zu helfen (und es ist auf wirklich nicht sehr schwer):
Erzeuge dir eine Funktion, die den Iterator oder QDir und eine Stringlist bekommt. In dieser Funktion durchsuchst du den aktuellen Ordner und rufst für jeden Unterordner diese Funktion neu auf (rekursion).
Am Ende hast du eine wunderschön gefüllte Stringliste.
Um dir das mit den Pfadnamen zu vereinfachen könntest du noch ein QString mit übergeben und dort immer den nächsten Pfad drannhängen. (am Anfang leer, dann ordner1, dann ordner1\unterordner1...)
Wenn dir rekusion kein Fremdwort ist, wirst du eigentlich keienrlei Probleme damit haben, allerdings vermute ich, dass du die Frage dann auch erst gar nicht gestellt hättest...
Antworten