Eigentlich VB.Net Problem _ rekurisver Filesystem zugriff

  • Folgendes Problem

    versuche rekursiven Filesystem zugriff der folgender Maßen ausschaut

    Code
    Function schleife(Path as string)
    
      Name1= Dir(Path, vbDirectory)
      Schleife
      wenn dir dann gehe schleife(Path+DirectName)
      else
      msgbox(Name)
      name1=Dir()
    
      End Function



    So nun mein Problem .... wenn ich aus einem Unterordner wieder versuche auf die vorherige Ebene zu gelangen schmiert mir das ganze mit einem Fehler ab, dass für "name1=Dir()" das DIr() vorher mit so einem "Name1= Dir(Path, vbDirectory)" definiert werden muss.... okay insofern noch logisch... aber warum merkt das Programmm sich diesen Aufruf vor der rekursion nicht?

    Wie kann ich das bsp lösen ohne mit positionierungs schleifen zu arbeiten (also dass ich so lange das einfache dir aufrufe bis ich auf der gewünschten pos bin) ?

    Ich will viel³ Sonne, einen wolkenlosen³ Himmel, 36° Grad und Segeln! :verycool:

  • ich möchte dir gerne helfen, aber ich werd aus deinem posting nicht ganz schlau... bzw aus dem (pseudo)code.

    Dir(Paht,vbDirectory) liefert dir die verzeichniseinträge, aber für was willst du dann name1=Dir() aufrufen?
    vllt kannst ja deinen code posten.

  • Jep... hatte den org. Code nicht bei der Hand



    Thx... :)

    Ich will viel³ Sonne, einen wolkenlosen³ Himmel, 36° Grad und Segeln! :verycool:

  • hallo,
    hab jetzt selber ein wenig probiert aber dann hab ich das gefunden:

    Zitat

    Aufgrund der Natur der dir-Funktion (siehe Hilfe) ist ein direkter rekursiver Aufruf nicht möglich. Aber natürlich kann man die Ergebnisse zwischenspeichern und darauf wieder zurückgreifen, so dass sich ein rekursiver Aufruf simulieren lässt. Für die Zwischenspeicherung bietet sich ein Array an.

    das hab ich von hier.
    aber vllt hilft dir folgendes codebeispiel weiter:
    http://www.activevb.de/tipps/vb6tipps/tipp0128.html

    mfg seHaas

  • was mir noch eingefallen ist, du könntest ja einfach ein c#-classlibrary machen mit einer klasse die eben diese file-funktionen die du brauchst enthält.
    da gehts sicher mit rekursionen:

  • Zitat von epi.um

    Jep... hatte den org. Code nicht bei der Hand



    Thx... :)

    ajo, jetzt weiß ich wieder warum ich c# und net vb.net mach ;)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!