Ordner auslesen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

mas93

Betreff: Ordner auslesen

BeitragSo, Dez 09, 2007 22:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Leute,

Ich bekomm gerade die Krise!

Ich will einfach nur alle ordner aus einem ordner auslesen, sie in nem type speichern und anzeigen.
Warum geht das nicht?

Es zeigt imme rnur 2 punkte an...

Code: [AUSKLAPPEN]

Graphics 640,480,16,2


Type interpret
   Field name$
End Type



Verz=ReadDir("C:\Users\Marius\music")
Repeat
   Datei$=NextFile$(Verz)
   
   If Datei$="" Then Exit
   
   If FileType("C:\Users\Marius\music"+Datei$) = 2 Then
      i.interpret=New interpret
      i\name$=datei$
   EndIf
   
Forever


Repeat
   
   For i.interpret=Each interpret
      Text 20,y,i\name$
   Next
   
   y=y+20
   
Until KeyHit(1)


CloseDir Verz
Print
Print "-Ende-"


mfg
mas93


wäre nett wenn ihr mir helfen könntet
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Dez 09, 2007 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
So geht's

Code: [AUSKLAPPEN]
If FileType("C:\Users\Marius\music\"+Datei$)
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

mas93

BeitragSo, Dez 09, 2007 22:47
Antworten mit Zitat
Benutzer-Profile anzeigen
ohh stimmt, danke.

Ich habs jetzt mal in mein "großen" code eingebaut.
Jetzt bekomm ich aber in der function song() ne fehlermeldung:"Directory does not exist!"

könnt ihr mir da weiterhelfen?


Code: [AUSKLAPPEN]
Graphics 800,600,32,2
SetBuffer BackBuffer()


;C:\Users\Marius\Music


Type Artist
   Field name$
End Type

Type cd
   Field name$
   Field artist$
End Type

Type lied
   Field name$
   Field cd$
End Type


Global Verz=ReadDir("C:\Users\Marius\music")
Global datei$
Global speicher$
Global aname$

Interpret()

Repeat
   Cls
   
   
   showdirs()
   
   
   
   Flip
Until KeyHit(1)

Function song(alb$)
   
   If alb$<>"." And alb$<>".." Then datei$=NextFile$("C:\Users\Marius\music\"+alb$)
   
   
   l.lied=New lied
   l\name$=datei$
   l\cd$=alb$
      
End Function


Function album(aname$)
   
   If aname$<>"." And aname$<>".." Then datei$=NextFile$("C:\Users\Marius\music\"+aname$)
   
   
   
   If FileType("C:\Users\Marius\music\"+aname$+datei$) = 2 Then
      c.cd=New cd
      c\name$=datei$
      c\artist$=aname$
   EndIf
   
   For c.cd=Each cd
      song(c\name$)
   Next
   
End Function

   
Function Interpret()
   
   Repeat
   datei$=NextFile$(Verz)
   If datei$="" Then Exit
   If FileType("C:\Users\Marius\music\"+datei$) = 2 Then
      a.artist=New Artist
      a\name$=datei$
      
   End If
   
   For a.artist=Each Artist
      album(a\name$)
   Next
Until KeyHit(1)
End Function


Function showdirs()
   
   Color 0,255,0
   For a.artist=Each Artist
      Text 20,y,a\name$
      y=y+20
   Next
   
   Color 255,0,100
   For c.cd=Each cd
      Text 40,y,c\name$
      y=y+20
   Next
   Color 255,255,255
   
   For l.lied=Each lied
      Text 60,y,l\name$
      y=y+20
   Next
   
   
End Function
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]

mas93

BeitragMo, Dez 10, 2007 16:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Vorerst: Tut mir leid wegen Doppelpost, aber ich denke das geht in Ordnung, da ich das alte Problem gelöst habe und nun ein neues habe.

Ich habe es jetzt geschafft, dass die Interpreten, Albums und Titel angezeigt werden.
Jetzt möchte ich aber machen, dass ich die einträge einklappen kann.

Also dass ich z.b wenn ich auf den 1. Interpreten drücke, dass dann das jeweilge Album und jeweilgen Titel nichtmehr angezegit werden und die Restlichen einträge in der Liste nach oben rücken.


Wie mache ich das am besten?

Wäre nett wenn ihr mir da helfen könnte.

mfg
mas93

Code: [AUSKLAPPEN]
Graphics 800,600,32,2
SetBuffer BackBuffer()

Type Artist
   Field name$
End Type

Type cd
   Field name$
   Field artist$
End Type

Type lied
   Field name$
   Field cd$
End Type


Global Verz=ReadDir("C:\Users\Marius\music")
Global datei$
Global speicher$
Global aname$


Interpret()

Repeat
   Cls
   
   
   showdirs()
   
   
   Flip
Until KeyHit(1)

Function song(art$,alb$)
   CloseDir(Verz)
   Verz=ReadDir("C:\Users\Marius\music\"+art$+"\"+alb$)
   
   Repeat
      a=0
   If alb$<>"." And alb$<>".." Then datei$=NextFile$(Verz)
   If datei$="" Then Exit
   
   If datei<>"." And datei$<>".." Then
      
      For l.lied=Each lied
         If l\name$=datei$ Then a=1
      Next
      
      If a=0 Then
   l.lied=New lied
   l\name$=datei$
   l\cd$=alb$
EndIf
EndIf
Until KeyHit(1)

End Function


Function album(aname$)
   CloseDir(Verz)
   Verz=ReadDir("C:\Users\Marius\music\"+aname$)
   
   Repeat
      If aname$<>"." And aname$<>".." Then datei$=NextFile$(Verz)
   If datei$="" Then Exit
   
   If datei$<>"." And datei$<>".." Then
   If FileType("C:\Users\Marius\music\"+aname$+"\"+datei$) = 2 Then
      c.cd=New cd
      c\name$=datei$
      c\artist$=aname$
   EndIf
EndIf

Until KeyHit(1)

   
   For c.cd=Each cd
      song(c\artist$,c\name$)
   Next
   
End Function

   
Function Interpret()
   
   Repeat
   datei$=NextFile$(Verz)
   If datei$="" Then Exit
   If FileType("C:\Users\Marius\music\"+datei$) = 2 Then
      a.artist=New Artist
      a\name$=datei$
      
   End If
   
   
Until KeyHit(1)

For a.artist=Each Artist
   album(a\name$)
Next
End Function


Function showdirs()
   
   If KeyDown(2) Then y=y-190
   
   
   For a.artist=Each Artist
      Color 0,255,0
      Text 20,y,a\name$
      y=y+20
      For c.cd=Each cd
         If c\artist$=a\name$ Then
            Color 0,0,255
            Text 40,y,c\name$
            y=y+20
            
            For l.lied=Each lied
               If l\cd$=c\name$ Then
                  Color 255,255,255
                  Text 60,y,l\name$
                  y=y+20
               EndIf
            Next
            
         EndIf
      Next
      
   Next
   
   
End Function
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group