Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Code-Library: Verzeichnisse nach Dateien durchsuchen (https://www.delphipraxis.net/6615-code-library-verzeichnisse-nach-dateien-durchsuchen.html)

Tomektor 16. Jul 2003 22:03


Code-Library: Verzeichnisse nach Dateien durchsuchen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich bin neu hier, und grüße als erstes alle Forumteilnehmer!

Kurz zu meiner Person:
Als totaler DELPHI Neuling, hoffe ich hier eine kleine Starthilfe zu bekommen.
Delphi ist die erste Hochsprache die ich lernen will. Ich habe damit vor ein paar Tagen angefangen.
Bisher kann ich nur mit PHP dienen.

Da man am besten bei einem Projekt lernt, habe ich mir folgendes überlegt:

- Die MP3 Sammlung auf der Festplatte wird durchkämmt (Struktur:
Bandname/Album/Sontitel.mp3).
- Alle MP3-Tracks werden ausgelesen und in einer MySQL Datenbank (In drei Tabellen Bands, Alben, Songs) gespeichert.
- Dies soll entweder über ODBC oder dirket geschehen.
- Sinn der Anwendung soll sein:
- Songs werden aus der Datenbank in eine Listenbox gezogen
- Es wird automatisch eine Abspieldatei (*.mpl Datei) erzeugt (für Siemens Handys)
- Die Songs und die Abspieldatei werden auf die MultimediaCard
aufgespielt, wobei die alten MP3s auf der Karte gelöscht werden.
- Es entsteht somit eine MP3 Verwaltungsdatenbank mit einer Explorer funktion.

So jetzt zum Problem:
Ich habe mir das Skript Verzeichnisse nach Dateien durchsuchen aus der Code-Library angeschaut, verstanden und angewandt.

Die Methode akzeptiert drei Parameter.
Leider funktioniert sie bei mir nur bei der Verwendung von
Recurse als False (Damit wird nur das angegebene Hauptverzeichnis durchsucht).
Setze ich aber Recurse auf True (Damit werden auch alle Unterverzeichnisse durchsucht), dann bekomme ich folgende Fehler:

Access violation at address ... in module 'ntdll.dll'. Write id address ...' (Fehlermeldung füge ich als Attachment ein)

Wie gesagt ich bin totaler Anfänger und finde keinen plausiblen Grund, wieso diese Fehlermeldung kommt. Für mich sieht der Code aus der Code-Library OK aus.

Woran kann es liegen.
Danke im Vorraus für Antworten!
Bitte möglichst einfach formulieren ;)

Grüße!

Tomektor

sakura 16. Jul 2003 22:06

Re: Code-Library: Verzeichnisse nach Dateien durchsuchen
 
Ich schaue es mir mal sofort an - den Code hatte ich doch erst heute überarbeitet :wall:

...:cat:...

Tomektor 16. Jul 2003 22:08

Re: Code-Library: Verzeichnisse nach Dateien durchsuchen
 
Wow :shock:
welch eine Geschwindigkeit :) Klasse!

sakura 16. Jul 2003 22:09

Re: Code-Library: Verzeichnisse nach Dateien durchsuchen
 
Korrigiert. Beim Einfügen des Updates habe ich falsch markiert :wall: Einfach noch einmal komplett rauskopieren und nutzen. Sorry für die Umstände...

...:cat:...

sakura 16. Jul 2003 22:13

Re: Code-Library: Verzeichnisse nach Dateien durchsuchen
 
Und noch einmal ;-) Eine Zeile war doppelt - hat aber keinen Fehler verursacht. Fiel mir deshalb auch nicht gleich auf... Irgendwann schaffe ich es doch noch :roll:

...:cat:...

Tomektor 16. Jul 2003 22:20

Re: Code-Library: Verzeichnisse nach Dateien durchsuchen
 
Zitat:

Zitat von sakura
Korrigiert. Beim Einfügen des Updates habe ich falsch markiert :wall: Einfach noch einmal komplett rauskopieren und nutzen. Sorry für die Umstände...

...:cat:...

Astrein. Welche Umstände?! Immerhin habe ich ein wenig nachgedacht bei dem Code ;), statt nur zu kopieren. Schade, dass ich den Fehler nicht selbst gefunden habe, aber mit der Zeit...

Also Vielen Dank!!!!!!!!!!!

Gruß!

Tomektor

sakura 16. Jul 2003 22:22

Re: Code-Library: Verzeichnisse nach Dateien durchsuchen
 
Wenn Du den Fehler gefunden hättest, hättest Du uns darauf hingewiesen :mrgreen:

...:cat:...

P.S.: Bitte den Thread als beantwortet markieren. Danke ;-)

Tomektor 16. Jul 2003 22:34

Re: Code-Library: Verzeichnisse nach Dateien durchsuchen
 
Hallo!!

Habe noch einen kleinen Bug gefunden und diesmal gelöst (glaube ich ;) )

Sobald man jetzt bei der Suche sich nur auf eine Dateiendung beschränkt (z.B.: Mask = *.mp3), und Recurse auf True setzt, werden keine Dateien ausgelesen (da nach Verzeichnissen mit der Mask-Endung *.mp3 gesucht wird).

Hier der verbesserte Teil (die zweite Zeile). Ich hoffe es ist richtig.

Code:
   if Recurse then
    if FindFirst(RootFolder + '*.*', faAnyFile, SR) = 0 then
      try
        repeat
          if SR.Attr and faDirectory = faDirectory then
            // --> ein Verzeichnis wurde gefunden
            //   der Verzeichnisname steht in SR.Name
            //   der vollständige Verzeichnisname (inkl. darüberliegender Pfade) ist
            //       RootFolder + SR.Name
            if (SR.Name <> '.') and (SR.Name <> '..') then
              FindAllFiles(RootFolder + SR.Name, Mask, Recurse);
        until FindNext(SR) <> 0;
      finally
        FindClose(SR);
      end;
Noch mal Thanx!
Grüße!!

Tomektor

sakura 16. Jul 2003 22:41

Re: Code-Library: Verzeichnisse nach Dateien durchsuchen
 
:oops:

Copy'n Waste Fehler :wall: Jetzt reicht es aber ;-) Es wird peinlich :mrgreen:

Danke
;-)

...:cat:...

Tomektor 16. Jul 2003 22:46

Re: Code-Library: Verzeichnisse nach Dateien durchsuchen
 
Nun ja es ist spät. Passiert mir eigentlich ständig. Vor allem abendes... :wink:
Habe die Frage als Beantwortet gekennzeichnet.

Grüß!

Tomektor


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:43 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