Textbox1.Text als Variable weiterverwenden (Programmpfad)

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Textbox1.Text als Variable weiterverwenden (Programmpfad)

    Hallo,

    obligatorisch vorgestellt und vielleicht sogar schon einem User geholfen, dachte ich mir, könnte ich ja auch mal eine Frage stellen, auf die ich einfach keine Antwort bekomme...


    Ich habe ein Form "Einstellungen.vb" dort sind Textboxen.

    Der Inhalt der Textboxen kann via Tastatur oder FolderBrowseDialog gefüllt werden.
    Der anschließende Inhalt der Textboxen wird in eine "Settings.ini" geschrieben.

    Beim Click auf "Einstellungen" in der Main-Form, wird die .ini ausgelesen und die Textboxen gefüllt.


    Es soll folgendes passieren:

    Ich klicke in der Main-Form einen Button1 ab da passiert:

    Quellcode

    1. Listbox1.show()
    2. For Each Datei As String In My.Computer.FileSystem.GetFiles("PFAD", FileIO.SearchOption.SearchTopLevelOnly, "*.*")
    3. ListBox1.Items.Add(Datei)
    4. Button1.Enabled = False


    In der Listbox sollen die Dateien angezeigt werden, die ich vorher unter "Einstellungen.Textbox1" gefüllt habe.
    Aber My.ComputerFileSystem.GetFile lässt folgende Schreibweise nicht zu:

    Quellcode

    1. My.Computer.FileSystem.GetFiles(Einstellungen.Textbox1.Text, FileIO.SearchOption.SearchTopLevelOnly, "*.*")


    Ich erhalte dann die Fehlermeldung, dass der Pfad ungült sei.
    Ich werde noch verrückt.

    Ziel ist es am Ende, in der Listbox alle Dateien der zuvor festgelegten Ordnerstruktur zu erhalten und aus der Listbox heraus eine Datei zu starten.

    (Stellt euch einfach vor, ihr erhaltet eine "Auswahl an Versionen" da in dem Ordner mehrere .exe Dateien liegen.)

    Gott. Es ist schon spät. Ich hoffe ich konnte mein Problem einigermaßen erklären.

    Ich hoffe auf Hilfe.

    Sollte ich irgendetwas vergessen haben, einfach schreien.

    Viele Grüße und gute Nacht.

    Dennis
    Bilder
    • Unbenannt.PNG

      9,26 kB, 510×424, 39 mal angesehen
    Ich verstehe nicht ganz, was du treibst (erst sagst du , das MainForm liest eine Ini aus, aber dein Code scheint eine Textbox auszulesen zu versuchen), aber das hier:

    Dionys schrieb:

    Ich erhalte dann die Fehlermeldung, dass der Pfad ungült sei.
    ist doch selbsterklärend:
    Es bedeutet, dass der Pfad ungültig ist.
    programmier das mal in 2 Schritten, und guck dann nach, wie der Pfad lautet.
    Ich bin mir sicher, du wirst feststellen, dass er ungültig ist, und meist kommt man dann auch drauf, warum.

    Also 2 Schritte

    VB.NET-Quellcode

    1. Dim pfad = Einstellungen.Textbox1.Text
    2. My.Computer.FileSystem.GetFiles(pfad, FileIO.SearchOption.SearchTopLevelOnly, "*.*")

    Zum Nachgucken nutze das LokalFenster, wenn der Fehler auftritt. Hierzu siehe Video: VisualStudio richtig nutzen

    Als mutmasslichen Anfänger frag ich gleichmal, wie's bei dir mit Option Strict und dem "Deppen-Namespace" bestellt ist, also hast du Visual Studio - Empfohlene Einstellungen schon absolviert? Ansonsten ist das jetzt vorrangig dran, denn das ist immer als erstes dran.
    @ErfinderDesRades Jou.
    @Dionys Du musst zunächst lernen, Deinen Code in Frage zu stellen, denn:
    Jede Zeile Code, die nicht getestet wurde, ist falsch.
    Setze also einen Haltepunkt in die Prozedur und arbeite Deinen Code zeilenweise durch. Überzeuge Dich davon, dass dein Code genau das macht, was er auch machen soll. Sieh Dir den Inhalt der Variablen an.
    Hier: pfad.
    Stellst Du eine Abweichung des vorgefundenen vom gewollten Zustand fest, hast Du einen Fehler gefunden.
    Dies Prozedere nennt sich Debuggen. Gugst Du hier.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!