Error: Illegales Zeichen Im PFad!

  • VB.NET

Es gibt 16 Antworten in diesem Thema. Der letzte Beitrag () ist von xXMichaelXx.

    Error: Illegales Zeichen Im PFad!

    Hey Leute,

    ein Programm von mir soll per Streamreader alle dateien auslesen und in die Textbox schreiben

    also so:

    Quellcode

    1. System.IO.StreamReader("C:\benutzerdatein\*.txt")



    nur dummerweise bringt er mir da fehler: illegales zeichen im Pfad

    wie löse ich das am besten also es sind NUR benutzerdateien im Ordner die soll er alle auslesen und in die Textbox schreiben


    Mfg. A-Zid
    sry ich kapiers nicht ich weis nicht wie ich das so mache das das dann ausgelesen und in die Textbox2 geschrieben wird
    also die dateien stehen alle im C:\Benutzerdateien und die sollen in einem Timer jede Sekunde ausgelesen werden
    es soll Praktisch ein Chat werden aber ohne Net Send
    ein LanChat
    Also: Das ist jetzt aus dem Kopf geschrieben, d. h. nicht getestet.

    VB.NET-Quellcode

    1. 'im Timer-Event sollte folgender Code stehen:
    2. For each el as String in Directoty.GetFiles("C:\Benutzerdateien") 'die eben erklärte for-each schleife wiederholt sich so oft wie Dateien im Ordner sind und liefert den Dateineman al 'el'
    3. dim f as new Fileinfo(el)
    4. if f.Extenion = ".txt" then 'Prüfen, ob Datei eine Textdatei ist
    5. TextBox1.Text = TextBox1.Text + el.ReadToEnd 'Fügt der TextBox1 den Text der in der Textdatei enthalten ist zu.
    6. end if
    7. next


    Wenn was nicht funzt, dan sags mir.

    VB.NET-Quellcode

    1. For Each el As String In Directory.GetFiles("C:\Benutzerdateien") 'die eben erklärte for-each schleife wiederholt sich so oft wie Dateien im Ordner sind und liefert den Dateineman al 'el'
    2. Dim f As New FileInfo(el)
    3. If f.Extension = ".txt" Then 'Prüfen, ob Datei eine Textdatei ist
    4. Dim s As StreamReader = New StreamReader(el) 'StreamReader Erzeugen
    5. TextBox1.Text = TextBox1.Text + vbNewLine + s.ReadToEnd 'Fügt der TextBox1 den Text der in der Textdatei enthalten ist zu.
    6. End If
    7. ' vbNewLine erzeugt eine neue Zeile
    8. Next


    so jetzt funktionierts
    naja halbwegs danke schonmal jedoch fügt er jetzt jede sekunde das selbe wieder ein und wenn ich bei :

    Quellcode

    1. TextBox1.Text = TextBox1.Text + vbNewLine + s.ReadToEnd


    ´das Textbox1.Text + vbNewLine rausnehme dann ist es ja:

    Quellcode

    1. TextBox1.Text = s.ReadToEnd


    aber dann liest er Komischerweise nur den Text einer datei aus... :(
    Nein tut er nicht er überschreibt nur immer den Text. Und er wieder holt das ja für alle Textdateien also hast du immer nur den inhalt der letzten Textdatei. Du kannst vor die for-each schleife TextBox1.Text setzen und das vbNewLine wieder rein machen dann sollte es so funktionieren, wie du willst.
    Jetzt hab ichs wie oben drin aber er schreibt mir Immer im Sekundentakt einmal alles durch und fängt dann neu an...



    hab schon ;) ty für alles !!!!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „A-Zid“ ()

    Probiers mal so:

    VB.NET-Quellcode

    1. shared inhalt as String
    2. For Each el As String In Directory.GetFiles("C:\Benutzerdateien") 'die eben erklärte for-each schleife wiederholt sich so oft wie Dateien im Ordner sind und liefert den Dateineman al 'el'
    3. Dim f As New FileInfo(el)
    4. If f.Extension = ".txt" Then 'Prüfen, ob Datei eine Textdatei ist
    5. Dim s As StreamReader = New StreamReader(el) 'StreamReader Erzeugen
    6. inhalt = inhlat + vbNewLine + s.ReadToEnd 'Fügt der TextBox1 den Text der in der Textdatei enthalten ist zu.
    7. End If
    8. ' vbNewLine erzeugt eine neue Zeile
    9. TextBox1.Text = inhalt
    10. Next