Problem mit Dir()

Alle Fragen zur Programmierung, die nicht in die speziellen Themen passen
Antworten
Ray65
Foriker
Beiträge: 115
Registriert: Fr 3. Okt 2008, 15:00
Wohnort: Uttenweiler, Ba-Wü
Kontaktdaten:

Problem mit Dir()

Beitrag von Ray65 » Sa 28. Dez 2019, 15:54

Hallo Zusammen,

nach langer Abstinenz habe ich mir wieder Gambas zugewendet und stoße gleich auf ein Problemchen.
Folgender Code funktioniert tadellos:
gambas code
sBaseDir = BaseDir
  sBasePath = $ProjDir
  sPattern = "*"
  iFilter = gb.Directory
 
  If Exist(sBaseDir) Then
     For Each sDir In Dir(sBaseDir, sPattern)
       TreeView1.Add(sBaseDir &/ sDir, sDir, Picture["icon:/16/directory"], sBaseDir, Null)  
       DirTree2TreeView(sBaseDir &/ sDir) 
     Next
  Endif
Um zusätzlich Dateien auszulesen habe ich "iFilter" auf "iFilter = gb.File + gb.Directory" geändert. Sobald ich aber auf eine Datei stoße, kommt der Fehlermeldung "test.xml ist kein Verzeichnis".
Was mache ich falsch?

Gruß Raymond
"Man kann kein Programm idiotensicher machen, weil die Idioten so erfinderisch sind!"

Ray65
Foriker
Beiträge: 115
Registriert: Fr 3. Okt 2008, 15:00
Wohnort: Uttenweiler, Ba-Wü
Kontaktdaten:

Re: Problem mit Dir()

Beitrag von Ray65 » Sa 28. Dez 2019, 16:39

Ok, ich hab den Fehler gefunden.
Ich rufe diese Funktion mit "DirTree2TreeView(sBaseDir &/ sDir)" rekursiv auf. Ich sollte vorher prüfen ob sBaseDir ein Verzeichnis oder Datei ist. :wink:
Folgendes funktioniert:
gambas code
     For Each sDir In Dir(sBaseDir, sPattern)
       TreeView1.Add(sBaseDir &/ sDir, sDir, Picture["icon:/16/directory"], sBaseDir, Null)
       If IsDir(sBaseDir &/ sDir) Then
        DirTree2TreeView(sBaseDir &/ sDir)
       Endif
     Next
Gruß Raymond
"Man kann kein Programm idiotensicher machen, weil die Idioten so erfinderisch sind!"

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast