Unterverzeichnisse o_O

Für allgemeine Fragen zur Programmierung mit PureBasic.
Forgotten Tomb
Beiträge: 21
Registriert: 23.09.2004 15:05
Wohnort: Im Norden
Kontaktdaten:

Unterverzeichnisse o_O

Beitrag von Forgotten Tomb »

Hallo Leute,

ich hätte da mal eine kleine Frage für alle die am Samstagabend nichts besseres zu tun haben :allright:

Es ist folgenden Verzeichnisstruktur gegeben:

Alben (Ordner)
- Band1 (Unterorder [das ist ein Ordner mit dem Bandnamen])
- - [Jahr] Band1 - Albumname von Band1
- - [Jahr] Band1 - Albumname von Band1
- Band2 (Unterordner [das ist ein Ordner mit dem Bandnamen])
- - [Jahr] Band2 - Albumname von Band2
- - [Jahr] Band2 - Albumname von Band2
- - [Jahr] Band2 - Albumname von Band2
- - [Jahr] Band2 - Albumname von Band2
- BandN (Unterordner [das ist ein Ordner mit dem Bandnamen])
-- [Jahr] BandN - Albumname von BandN

Beispiel:

Alben
- Black Sabbath
- - [1987] Black Sabbath - Paranoid
- Agalloch
- - [2004] The Wolves Of Timberline


so, nun möchte einmal alle Bands in einer Datei abspeichern und dann alle Alben, aber auch "nur" die Alben.

So das die Banddatei so aussieht. (txt)

Band1
Band2
BandN

und die Albendatei so... (auch txt)
[Jahr] Band1 - Albumname von Band1
[Jahr] Band2 - Albumname von Band2
[Jahr] BandN - Albumname von BandN


Procedure ReadMusicDir(pfad_save$, pfad_quelle$)
If ExamineDirectory(0, pfad_quelle$,"*.*")
Repeat

DateiTyp = NextDirectoryEntry()

If FileType = 2
NameTypeOfDir$ = DirectoryEntryName()

If NameTypeOfDir$ <> "." And NameTypeOfDir$ <> ".."
AddGadgetItem(#ListView, -1, DirectoryEntryName())
EndIf
EndIf

Until FileType = 0
EndIf
EndProcedure


so sieht meine Funktion aus, weiter komme ich nicht

ich danke für jede antwort ob konstruktiv oder destruktiv

:freak:
Blabla, arbeit wieder aufgenommen
Benutzeravatar
Pelagio
Beiträge: 424
Registriert: 11.11.2004 17:52
Computerausstattung: AMD Ryzen 5 7600 6-Core Prozessor 3.80 GHz
16,0 GB Arbeitsspeicher
Windows 11 Pro Betriebssystem
Wohnort: Bremen

Beitrag von Pelagio »

:allright:
@ForgottenTomb
Ich hoffe dies ist eine Hilfe für dich, ich habe einmal versucht die Alben in eine Datei zu schreiben. Hiervon ausgehend und unter Benutzung der LinkedList, ist es kein weiter Weg mehr zu der Speicherung der Bands.

Code: Alles auswählen

NewList Alben.s()

Procedure ReadAlbenDir(File_save$, pfad_quelle$)
   If ExamineDirectory(0, pfad_quelle$,"*.*")
      Repeat
         FileTyp = NextDirectoryEntry()
         If (FileTyp=2)
            NameTypeOfDir$ = DirectoryEntryName()
            If (NameTypeOfDir$<>".") And (NameTypeOfDir$<>"..")
               AddElement(Alben()):Alben() = NameTypeOfDir$ 
            EndIf
         EndIf
      Until (FileTyp=0)
   EndIf
   If CreateFile(0, File_save$)
      ForEach Alben()
         WriteStringN(Alben())
      Next
      CloseFile(0)
   EndIf
EndProcedure
Antworten