![]() |
AW: rekursionstiefe erkennen bei ordnern
Auf Github habe ich eine FileScanner Klasse, die für jede gefundene Datei (und jedes Verzeichnis) ein Event feuert.
![]() Über das Event bekommt man nicht nur den Dateinamen sondern auch Pfad, Dateigröße, Datum und die Verzeichnistiefe mitgeteilt. Mit einer kleinen Änderung könnte man sogar die Suchtiefe auf einen bestimmten Wert begrenzen. |
AW: rekursionstiefe erkennen bei ordnern
Wenn du es in deiner eigenen Funktion lösen willst, dann brauchst du (wie schon gesagt wurde) entweder eine globale Variable (:shock:) oder du musst die Tiefe in deiner Prozedur "mitschleifen".
Delphi-Quellcode:
procedure tform1.FindAllFiles(var FileList: TStrings; RootFolder: string; RecurseLevel: Integer = 0; Mask: string ='*.*'; Recurse: Boolean = True);
begin //... if RecurseLevel = 0 then ShowMessage('Root') else ShowMessage(Format('%d. Ebene', [RecurseLevel + 1]); r := FindFirst(...); while r = 0 do begin if (SR.Attr and faDirectory = faDirectory) and (sr.name[1] <> '.') then FindAllFiles(..., ..., RecurseLevel + 1, ...) else ... end; end; |
AW: rekursionstiefe erkennen bei ordnern
Zitat:
Zitat:
Entweder manuell beim ersten/äußeren Aufruf die 0 (Startwert) übergeben, oder das als Defaultwert automatisch machen lassen. |
AW: rekursionstiefe erkennen bei ordnern
Also Alles was Recht ist, Herr nuclearping:
So einfach ein "ShowMessage()" innen Süßkot reinschreiben kann doch jeder :-( Hier HEFTIGER angesagt ist das Parsen aller Map-Dateien, die über streng geheime Compileroptionen in der DPR-Datei mit ifDef und abwegigen *.inc-Dateipfaden... [Srg+O+O] geht wohl nicht mehr nach neuer als Delph7personal? Man man man! Deutsch, nicht män män män! Die Problemlösung für den TE dürfte recht einfach sein, da fast Jeder schon mal rekursiv Ordner nach Dateien durchsucht hat. Aber eine Copy&Paste-Lösung hier für den TE reinstellen möchte ich (oder himitsu?/nuclearping?) nicht! Die kann der TE sich ergoogeln! MfG |
AW: rekursionstiefe erkennen bei ordnern
Reicht es nicht, wenn die schon zwei Mal gepostet und mindestens 5 Mal erwähnt wurde?
|
AW: rekursionstiefe erkennen bei ordnern
Manchmal bekommt man erfrischend neue Sachen von der DP mit, wenn man seinen Cache löscht...
MfG |
AW: rekursionstiefe erkennen bei ordnern
Darf ich auch noch mal? :cyclops:
Also entweder in einer Globalen Variable mitzählen. Kann man auch schön in eine Klasse kapseln und/oder einen Event bei jedem Aufruf auslösen und von außen mitzählen. Das kann man auch schön in eine Klasse kapseln. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 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