Txt - Dateien lesen

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von rene3384.

    Txt - Dateien lesen

    bin leider noch ein Anfänger ( also kenne mich noch nicht so gut aus ) ... aber würde mich sehr über eine Antwort freuen.

    Ich hab mehere TextDateien und möchte jede nach der Anderen einlesen und vergleichen.
    Also TextDateien mit einem String im Namen öffnen.
    Ich möchte die TextDateien von der Nummer zb 1 bis 100 auf machen ( haben als name: Textdatei1 - Textdatei100)
    ungefähr so: String = my.computer.filesystem.readalltext("C:/Ordner/Textdatei" & Zahl & ".txt")
    Das Programm sollte dann ungefähr so ablaufen ( in einer For Schleife )

    For i = 1 to 100
    . . .
    If (String = my.computer.filesystem.readalltext("C:/Ordner/Textdatei" & i & ".txt")) Then
    . . .
    Next i

    (hoffe dass die For-schleife ungefähr so richtig ist)

    Aber mein Problem liegt daran, dass wenn ich das schreibe:
    my.computer.filesystem.readalltext("C:/Ordner/Textdatei" & i & ".txt") , bekommeich
    eine Fehlermeldung , dass der Pfad möglicherweise nicht stimmen könnte, und ich sichergehen soll, dass es die Datei wirklich gibt.
    Wenn die Die Variable ( also direkt z.bb TextDatei5.txt hinschreibe, statt "TextDatei" & i & ".txt" ) rausnehme, ist der Fehler weg?
    Was soll ich anders schreiben?
    ?(

    Wie gesagt kenne ich mich noch nicht wirklich mit VB aus, aber ich würde mich sehr über eine Antwort freuen.


    Ich hoffe, dass ich euch meine Situation erklären konnte ... wenn nicht, schreibt mir bitte

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „rene3384“ ()

    rene3384 schrieb:


    Was soll ich anders schreiben?


    Deinen ganzen Post in einer normalen Schrift. Verdana, Helvetica, etc.

    zum Problem noch: Wenn du unter Vista/7 arbeitest, gehe bitte auch gleich sicher, dass du die nötigen Rechte hast, um darauf zugreifen zu können. Sprich als Administrator starten.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.

    VB.NET-Quellcode

    1. Dim txt As String = "bla" ' hier den zu vergleichenden Texrt reinschreiben
    2. For i = 1 to 100
    3. . . .
    4. If (txt = my.computer.filesystem.readalltext("C:/Ordner/Textdatei" & i.ToString & ".txt").ToLower) Then
    5. . . .
    6. Next i
    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!
    danke für die vielen Antworten, aber ich bekomms leider nicht zum laufen :(

    wenn ich \ statt / mache ändert sich leider nichts.
    und an den adminrechten kann es auch ncht liegen, weil wenn ich genau das gleich ohne variable dazwischen aufrufe ( also C:/Ordner/Datei5.txt ) geht es doch.
    ich hab auch das von RodFromGermany probiert, und wenn ich eine ganz normale MSGBOX mache, ungefähr so:

    VB.NET-Quellcode

    1. dim a as integer = 1
    2. msgbox(My.Computer.FileSystem.ReadAllText("C:/Ordner/Ordner" & a.ToString & "/Textdatei.txt").ToLower)

    dann geht es auch. Aber wenn ich es in einer If oder For mache ( wo der fehler liegt weiß ich leider nicht ), dann geht es nicht :(
    ich hab es ungefähr so ( vereinfacht ) aber es geht bei mir nicht :(

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim Anzahl As Integer = 10
    3. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    4. For i = 0 To Anzahl
    5. If TextBox1.Text = (My.Computer.FileSystem.ReadAllText("C:/Ordner/Ordner" & i.ToString & "/Textdatei.txt").ToLower) Then
    6. MsgBox("Funktioniert!")
    7. End If
    8. Next i
    9. End Sub
    10. End Class

    Wenn ich das Programm starte und auf den Button drücke, stützt das programm ab und bei dieser Zeile:

    VB.NET-Quellcode

    1. If TextBox1.Text = (My.Computer.FileSystem.ReadAllText("C:/Ordner/Datei" & i.ToString & ".txt").ToLower) Then

    steht eine info: stellen Sie sicher, dass es diese Datei wirklich gibt und sowas ( ohne Variable ( C:/Ordner/Datei5.txt ) geht es doch auch ? )

    Bitte probiert mal, ob das bei euch so funktioniert wie oben geschrieben.. macht euch eine txt datei mit einem wort drinnen und dann lest in einer if aus der datei.
    wenn es funktioniert kopiert den code, dass ich es auch probieren kann.

    danke

    Edit by Manschula: Es gibt für Codeausschnitte einen entsprechenden VB-Tag. Diesen bitte auch verwenden! --> VB-Tag eingefügt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Manschula“ ()

    Das geht beides, wenn der Pfad und die Datei existiert:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim a As Integer = 1
    3. Dim file As String = "C:/Ordner/Ordner" & a.ToString & "/Textdatei.txt"
    4. Dim file2 As String = "C:\Ordner\Ordner" & a.ToString & "\Textdatei.txt"
    5. MsgBox(My.Computer.FileSystem.ReadAllText(file).ToLower)
    6. MsgBox(My.Computer.FileSystem.ReadAllText(file2).ToLower)
    7. End Sub
    Ich denke, dass der Pfad und/oder die Datei nicht existiert:
    Bilder
    • NotFound.jpg

      53,48 kB, 793×310, 115 mal angesehen
    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!