Problem mit Code

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von LucaWelker.

    Problem mit Code

    Erstmal Guten Tag!

    Ich ein Problem mit folgenden Code vielleicht findet jemand einen Fehler ich kann mir nicht erklären wieso der nicht funktioniert.

    VB.NET-Quellcode

    1. Public Function ReadLine(ByVal filename As String, _ ByVal line As Integer) As String
    2. Try Dim lines As String() = My.Computer.FileSystem.ReadAllText( _ "C:\PCML\Gartenplanung 2\" & TextBox1.Text & "\User.txt", System.Text.Encoding.Default).Split(vbCrLf)
    3. If line > 0 Then ' n-te Zeile vom Anfang der Textdatei Return lines(line - 1) ElseIf line < 0 Then ' n-te Zeile beginnend am Ende der Textdatei Return lines(lines.Length + line - 1) Else ' ungültige Zeilennummer Return "" End If Catch ex As Exception Return "" End Try End Function


    Das ist mal die Function fürs auslesen der einzelnen Zeilen

    VB.NET-Quellcode

    1. Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Passwort Dim pfad pfad = "C:\PCML\Gartenplanung 2\" & TextBox1.Text & "\User.txt" If Len(Dir("C:\PCML\Gartenplanung 2\" & TextBox1.Text)) Then
    2. Passwort = ReadLine(pfad, 0) If TextBox2.Text = Passwort Then Gartenplanung.Show()
    3. Gartenplanung.lblCoins.Text = ReadLine(pfad, 3) Gartenplanung.lblGeld.Text = ReadLine(pfad, 2) Gartenplanung.lblKontostand.Text = ReadLine(pfad, 5) Gartenplanung.lblErfahrung.Text = ReadLine(pfad, 4) Gartenplanung.lblZinsen.Text = ReadLine(pfad, 6) Gartenplanung.lblKontonr.Text = ReadLine(pfad, 1) Gartenplanung.lblSonnenblumenStand.Text = ReadLine(pfad, 7) Gartenplanung.lblTulpenStand.Text = ReadLine(pfad, 8) Gartenplanung.lblRadischenStand.Text = ReadLine(pfad, 9) Gartenplanung.lblErdbeerenStand.Text = ReadLine(pfad, 10) Gartenplanung.lblKokosnussStand.Text = ReadLine(pfad, 11) Gartenplanung.lblZwiebelStand.Text = ReadLine(pfad, 12) Gartenplanung.lblSternenfruchtStand.Text = ReadLine(pfad, 13) Gartenplanung.lblPaprikaStand.Text = ReadLine(pfad, 14) Else MsgBox("Name oder Passwort falsch!", MsgBoxStyle.Critical, "Fehler") End If
    4. End If End Sub



    und das ist der Code der dann die jeweiligen werte zuteilt.

    aber bei mir tuht sich da gar nichts, eigentlich sollte sich ja, falls Textbox1 (Das ist der Ordner in dem sich die Datei User befindet) existiert und das passwort das in der Datei User.txt steht richtig in Textbox2 eingegeben wurde, Die Form Gartenplanung öffnen wenns nicht so wäre eine Msgbox mit einer Meldung, aber keins von beiden passiert.
    Beginne mit

    VB.NET-Quellcode

    1. Dim lines As String() = My.Computer.FileSystem.ReadAllText(...).Split(...)

    ==>

    VB.NET-Quellcode

    1. Dim lines As String() = My.Computer.FileSystem.ReadAllLines(...)

    ReadAllText
    ->
    ReadAllLines
    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!

    LucaWelker schrieb:

    Sollte man nicht die My. namesapce vermeiden? Und nicht lieber die System.IO verwenden?
    Klar. 8-) Ist mir voll durch die Lappen gegangen.

    VB.NET-Quellcode

    1. Dim lines As String() = System.IO.File.ReadAllLines(...)
    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!
    Klar funktioniert es.. wenn du nen Total abgefuckten Stecker inne Steckdose steckst funktioniert es auch:P weißt was ich sagen will... Man sollte immer gute Lösungen verwenden und nicht nur weil es funktioniert:D

    lg.
    LucaWelker
    lg.

    LucaWelker