Imports System.IO

Module modDateiZugriff
    Public booDateiSpeichern = False '-- datei speichern
    Const strORDNERNAME As String = "C:\klausspiele"             '--###
    Const strDATEINAME As String = "C:\klausspiele\begriffe.txt" '--###
    '--
    '-- alle mit '--### gekennzeichneten stellen
    '-- müssen dem jeweilige Projekt angepasst werden
    '--
    Public Sub LeseDatenAusDatei()
        Dim fs As New FileStream(strDATEINAME, FileMode.Open)
        Dim sr As New StreamReader(fs)
        Dim strZeile As String
        With Form1
            Try      '--###
                Do Until sr.Peek() = -1
                    strZeile = sr.ReadLine
                    .LstAlle.Items.Add(strZeile)
                Loop
                sr.Close()
            Catch es As Exception

            End Try
        End With
    End Sub
    Public Sub IstDateiVorhanden()
        '--- ordner anlegen, falls dieser nicht existiert
        If Not IO.Directory.Exists(strORDNERNAME) Then
            IO.Directory.CreateDirectory(strORDNERNAME)
        End If
        If IO.File.Exists(strDATEINAME) Then
            '-- datei ist im ordner enthalten
            LeseDatenAusDatei()
        Else
            '-- aus dem projekt einlesen
            booDateiSpeichern = True
            Dim strZeile As String
            Dim strReccource As String = "begriffe.txt" '--###
            Try
                Dim fs = New FileStream(strReccource, FileMode.Open)
                Dim sr = New StreamReader(fs)
                Do Until sr.Peek() = -1
                    strZeile = sr.ReadLine()
                    Form1.LstAlle.Items.Add(strZeile)
                Loop  '-- in liste lesen
                sr.Close()
            Catch ex As Exception
            End Try
        End If
        '--  datei nicht vorhanden
        If booDateiSpeichern = True Then
            SchreibeSpieleDatenInDatei()
        End If
    End Sub
    Public Sub SchreibeSpieleDatenInDatei()
        'Const strDATEINAME As String = "C:\klausspiele\begriffe.txt" '--###
        With Form1
            If .LstAlle.Items.Count = 0 Then
                MessageBox.Show("Die Liste ist leer")
                Exit Sub      '------------>
            End If
            Try
                Dim i As Integer
                Dim fs As New FileStream(strDATEINAME, FileMode.Create)
                Dim sw As New StreamWriter(fs)
                For i = 0 To .LstAlle.Items.Count - 1
                    sw.WriteLine(.LstAlle.Items(i))
                Next
                sw.Close()
            Catch ex As Exception
            End Try
        End With
    End Sub
End Module
