AGB  ·  Datenschutz  ·  Impressum  







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

rekursionstiefe erkennen bei ordnern

Ein Thema von blinder007 · begonnen am 19. Sep 2014 · letzter Beitrag vom 19. Sep 2014
 
blinder007

Registriert seit: 29. Mär 2013
30 Beiträge
 
#1

rekursionstiefe erkennen bei ordnern

  Alt 19. Sep 2014, 14:42
hallo liebe foren-mitglieder,
also, ich schreibe zzt. ein Programm um meine Musiksammlung nicht per hand in eine datenbank eingliedern zu müssen. die ordner sind in genre, künstler, album aufgeteilt. mit der findfirst methode und diesen dingen schaffe ich es eine liste aller Ordner zu erhalten und sie auszugeben. Sprich: ich habe (in dem fall) eine Textdatei oder halt eine tstringlist, in der untereinander weg erst genre, dan künstler und dann album stehen. für einen uneingeweiten ist das natürlich unübersichtlich. deswegen würde ich gerne vor die einträge schreiben etwas wie "künstler:" und "album". sozusagen unterüberschriften einfügen. die ausgabe soll im enteffekt auch dazu genutzt werden außenstehenden einen Überblick über meine Sammlung zu geben.
mein ansatz war zu erkennen, auf welcher rekursionstiefe die funktion ist, um ein entsprechendes präfix zu setzen. das funktioniert leider nicht so ganz. hier mein code der besagten methode:
Delphi-Quellcode:
procedure tform1.FindAllFiles(var FileList: TStrings; RootFolder: string; Mask: string ='*.*'; Recurse: Boolean = True);
procedure schreibename(name: string);
begin
if not (name[1] = '.') then liste.Add(name);
end;
var
SR: TSearchRec;
begin
RootFolder := IncludeTrailingPathDelimiter(RootFolder);
if Recurse then
        if FindFirst(RootFolder + '*.*', faAnyFile, SR) = 0 then
        try
        repeat
        if SR.Attr and faDirectory = faDirectory then begin
                if (sr.name <> '.') and (SR.Name <> '..') then
         FindAllFiles(FileList, RootFolder + SR.Name, Mask, Recurse);
         //schreibename(sr.name);
         end;
        until FindNext(SR) <> 0;
        finally
        FindClose(SR);
end;

 if FindFirst(RootFolder + Mask, faAnyFile, SR) = 0 then
  try
   repeat
     if SR.Attr and faDirectory <> faDirectory then
     begin
      //FileList.Add(RootFolder + SR.Name);
       end;
      until FindNext(SR) <> 0;
     finally
   FindClose(SR);
  end;
 end;
  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 08:49 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