Text aus Comboboxen und Textboxen speichern (SaveFileDialog) und laden (OpenFileDialog)

  • VB.NET

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

    Text aus Comboboxen und Textboxen speichern (SaveFileDialog) und laden (OpenFileDialog)

    Hi Leute,

    ich bin recht neu in der VB Thematik, komme dennoch gut zurecht.
    Nur habe ich folgendes Problem:

    Ich habe eine Windows Form mit diversen Text- und Comboboxen, deren Inhalt per "Speichern" Button in eine beliebige .txt Datei gespeichert werden soll.
    Dabei soll der Benutzer die Möglichkeit haben, per SaveFileDialog Speicherort und Name der Datei zu bestimmen.

    Und wiederum soll der Benutzer mit dem "Laden" Button eine gespeicherte Datei aus einem beliebigen Verzeichnis wählen und öffnen können, durch welche der Inhalt aus Text- und Comboboxen geladen wird.

    Habe mir bereits unzählige Forneinträge und Tutorials angesehen, nur hat mir das überhaupt nicht geholfen.
    Es wurde oft in Foren auf das Galileo OpenBook verwiesen, wobei da nur erklärt wird, wie man den Text einer Textbox ohne SaveFileDialog speichert und lädt.

    Weiß jemand Rat?

    LG
    edorius

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „edorius“ ()

    Willkommen im Forum. :thumbup:
    Sieh Dir mal dies an, Form, 2 Button, 1 Textbox:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    3. Using dlg As New OpenFileDialog
    4. dlg.Filter = "Textdateien|*.txt|alle Dateien|*.*"
    5. If dlg.ShowDialog <> Windows.Forms.DialogResult.OK Then
    6. Return
    7. End If
    8. TextBox1.Text = System.IO.File.ReadAllText(dlg.FileName)
    9. End Using
    10. End Sub
    11. Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
    12. Using dlg As New SaveFileDialog
    13. dlg.Filter = "Textdateien|*.txt|alle Dateien|*.*"
    14. If dlg.ShowDialog <> Windows.Forms.DialogResult.OK Then
    15. Return
    16. End If
    17. System.IO.File.WriteAllText(dlg.FileName, TextBox1.Text)
    18. End Using
    19. End Sub
    20. End Class
    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!
    Danke, der Code funktioniert prima, nur wie schaffe ich es jetzt, dass ich mehr als eine Textbox in die txt Datei speicher?


    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Using dlg As New OpenFileDialog
    3. dlg.Filter = "Textdateien|*.txt|alle Dateien|*.*"
    4. If dlg.ShowDialog <> Windows.Forms.DialogResult.OK Then
    5. Return
    6. End If
    7. TextBox1.Text = System.IO.File.ReadAllText(dlg.FileName)
    8. TextBox2.Text = System.IO.File.ReadAllText(dlg.FileName)
    9. End Using
    10. End SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    11. Using dlg As New SaveFileDialog
    12. dlg.Filter = "Textdateien|*.txt|alle Dateien|*.*"
    13. If dlg.ShowDialog <> Windows.Forms.DialogResult.OK Then
    14. Return
    15. End If
    16. System.IO.File.WriteAllText(dlg.FileName, TextBox1.Text)
    17. System.IO.File.WriteAllText(dlg.FileName, TextBox2.Text)
    18. End UsingEnd Sub


    Veränder ich den COde so, wird in beiden Textboxen nur der Text als der letzten angezeigt
    Da musst du dir "Split" bzw. RegEx anschauen.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    edorius schrieb:

    mehr als eine Textbox in die txt Datei speicher?
    So:

    VB.NET-Quellcode

    1. System.IO.File.WriteAllText(dlg.FileName, TextBox1.Text)
    2. System.IO.File.AppendAllText(dlg.FileName, TextBox2.Text)
    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!
    Habs geschafft, jedoch ohne split und join.
    Ging doch leichter als gedacht:

    VB.NET-Quellcode

    1. Imports System.IO
    2. Public Class Form1Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. SaveFileDialog1.ShowDialog()
    4. Dim path As String = SaveFileDialog1.FileName
    5. Dim wr As New System.IO.StreamWriter(path)
    6.   wr.Write(TextBox1.Text)
    7. wr.Write(vbNewLine)
    8. wr.Write(TextBox2.Text)
    9. wr.Close()
    10. End SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    11. OpenFileDialog1.ShowDialog()
    12. Dim path As String = SaveFileDialog1.FileName
    13. Dim rd As New System.IO.StreamReader(path)
    14.   TextBox1.Text = rd.ReadLine
    15. TextBox2.Text = rd.ReadLine
    16. rd.Close()
    17. End Sub
    18. End Class