Teil 2: Speichern und öffnen von Dateien mit Visual Basic
Nun kümmern wir uns darum unsere Aufgaben zu speichern und Aufgabenlisten zu öffnen
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.
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
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
Kommentar veröffentlichen