Teil 2: Speichern und öffnen von Dateien mit Visual Basic

Nun kümmern wir uns darum unsere Aufgaben zu speichern und Aufgabenlisten zu öffnen

Schritt 1: Dialogfelder

Zunächst ziehen wir die Dialoge „OpenFileDialog“ und „SaveFileDialog“ in die Fom1 diese erscheinen in der unteren Leiste als „OpenFileDialog1“ und „SaveFileDialog1“

Schritt 2: Aufgabenliste speichern

Doppelklick auf Button „speichern“, das Codefenster öffnet sich.
Kopiere dies:

        SaveFileDialog1.Filter = "XML-Dateien (*.XML)|*.xml|Alle Dateien (*.*)|*.*"
        SaveFileDialog1.Title = " Aufgabenliste speichern"
 SaveFileDialog1.ShowDialog() 'Zeige Datei speichern Dialog

        If SaveFileDialog1.FileName <> "" Then
            Dim stream As New System.IO.FileStream _
             (SaveFileDialog1.FileName, System.IO.FileMode.Create)

            Dim xmlWriter As New System.Xml.XmlTextWriter _
             (stream, System.Text.Encoding.Unicode)

            '
            DataSet1.WriteXml(xmlWriter)
            xmlWriter.Close()
        End If


unter Private Sub Button1_Click…
Nun könnt ihr eure Listen als XML-Datei abspeichern.

Erklärung:
Zeile 1:  Dialog soll nur Dateien mit der Endung .xml anzeigen oder Alle Dateien
Zeile 2:  Titel des Dialogs
Zeile 3: Öffnet den Dialog und zeigt ihn an
Zeile 4…: Wurde eine Datei ausgewählt oder ein Namen eingegeben und mit „Speichern“ bestätigt wird das Speichern der XML-datei ausgelöst. Dazu wird ein Abbild des DataSet1 in die XML geschrieben.

Schritt 3: Öffnen einer Aufgabenliste


Doppelklick auf Button „öffnen“, das Codefenster öffnet sich.
        OpenFileDialog1.Filter = "XML-Dateien (*.XML)|*.xml|Alle Dateien (*.*)|*.*"
        OpenFileDialog1.Title = "Aufgabenliste öffnen"
 OpenFileDialog1.ShowDialog()

        If OpenFileDialog1.FileName <> "" Then

            Try
                DataSet1.Clear() 'DatenSet ablöschen

                DataSet1.ReadXml(OpenFileDialog1.FileName) 'DatenSet ablöschen

            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End If


unter Private Sub Button2_Click…
Nun könnt ihr eure Listen öffnen.

Erklärung:
Zeile 1:  Dialog soll nur Dateien mit der Endung .xml anzeigen oder Alle Dateien
Zeile 2:  Titel des Dialogs
Zeile 3: Öffnet den Dialog und zeigt ihn an
Zeile 4…: Wurde eine Datei ausgewählt oder ein Namen eingegeben und mit „Speichern“ bestätigt wird das Öffnen der XML-datei ausgelöst. Dazu werden die Informationen des XMLs in das DataSet1 geschrieben.
Um ein Absturz des Programmes zu verhindern falls eine falsche Datei ausgewählt wurde das Lesen der XML in dem Try… Catch ex As Exception geschrieben. Tritt beim Lesen der Datei einen Fehler aus wird eine Messagebox (MsgBox) geöffnet mit der Mitteilung was schief gelaufen ist.

Hier der gesamte Code:

Public Class Form1
    Dim ToDoTable As New DataTable("ToDo")

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ToDoTable.Columns.Add("Aufgabe", Type.GetType("System.String"))
        ToDoTable.Columns.Add("erledigt", Type.GetType("System.Boolean"))
        DataSet1.Tables.Add(ToDoTable)

        DataGridView1.DataSource = DataSet1
        DataGridView1.DataMember = "ToDo"
    End Sub

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

        SaveFileDialog1.Filter = "XML-Dateien (*.XML)|*.xml|Alle Dateien (*.*)|*.*"
        SaveFileDialog1.Title = "Aufgabenliste speichern"
        SaveFileDialog1.ShowDialog() 'Zeige Datei speichern Dialog

        If SaveFileDialog1.FileName <> "" Then
            Dim stream As New System.IO.FileStream _
             (SaveFileDialog1.FileName, System.IO.FileMode.Create)

            Dim xmlWriter As New System.Xml.XmlTextWriter _
             (stream, System.Text.Encoding.Unicode)

            '
            DataSet1.WriteXml(xmlWriter)
            xmlWriter.Close()
        End If

    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click


        OpenFileDialog1.Filter = "XML-Dateien (*.XML)|*.xml|Alle Dateien (*.*)|*.*"
        OpenFileDialog1.Title = "Aufgabenliste öffnen"
        OpenFileDialog1.ShowDialog()

        If OpenFileDialog1.FileName <> "" Then

            Try
                DataSet1.Clear() 'DatenSet ablöschen

                DataSet1.ReadXml(OpenFileDialog1.FileName)

            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End If

    End Sub
End Class


Wie Ihr erledigte Punkte ausblenden könnt erfahrt Ihr in Teil 3

Kommentare

Beliebte Posts aus diesem Blog

Erstellen eines Icons mit Inkscape

VB.NET TODO-Liste programmieren Teil 1