Frage von achimberlin, 14

Txt-Datei laden, prüfen, zurück schreiben?

Hallo, ich möchte gerne eine 11-stellige Nummer einscannen und auf Gültigkeit prüfen, die im Format nnnnnyyMMdd vorliegt. Die gültigen dauen liegen in einer Textdatei vor. Es muss die Datei geöffnet, der Wert auf Gültigkeit geprüft und bei Bedarf die Datei mit "___" und dem Einlösedatum in die Datei zurück geschrieben werden.

Irgendwo ist jedoch ein (Denk)-Fehler, denn das was ich da geschrieben habe, funzt nicht...

Weiß jemand Rat??


Imports System.IO

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim s() As String = IO.File.ReadAllLines("C:\Users\Moritz\Documents\Textdatei.txt")
    Dim u As String = "in folgende Zeilen kommmts vor:" & Environment.NewLine

    For i = 0 To s.Length - 1
        If s(i).Contains(Microsoft.VisualBasic.Left(TextBox1.Text, 5)) And s(i).Contains("___") Then

            MsgBox("Karte schon eingelöst")
            Exit For

        ElseIf s(i).Contains(Microsoft.VisualBasic.Left(TextBox1.Text, 5)) Then

            u += (i + 1).ToString & Environment.NewLine
            s(i) = s(i) & "___" & DateAndTime.Today.Date

            MessageBox.Show(u)
            MsgBox("Karte gültig")

            IO.File.WriteAllLines("C:\Users\Moritz\Documents\Textdatei.txt", s)
            Exit For

        Else

            MsgBox("Kartennummer nicht gefunden")
            Exit For

        End If


    Next


End Sub

End Class


'Textdatei.txt

'10000_00.00.00_XX
'10001_15.04.16_OV___23.04.16
'10002_15.04.16_SI
'10003_16.04.16_OV
'10004_17.04.16_OV___23.04.16
'10009_18.04.16_SI
'10010_19.04.16_OV

Struktur: Nummer_Ausstellungsdatum_Kartenart___Einlösedatum

Antwort
von maximilianus7, 8

das exit for im else zweig ist falsch

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten