Dateispeicherung mit ListBox, MaskedTextBox etc.

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Dateispeicherung mit ListBox, MaskedTextBox etc.

    Guten Tag,
    ich programmiere gerade etwas mit Visual Basic. Dabei habe ich aber das Problem, dass ich es nicht hinbekomme, Festgelegten Text, Text einer MaskedTextBox und die Einträge einer ListBox in eine Datei mit Absätzen speichern kann.

    Mein Code:

    VB.NET-Quellcode

    1. Private Sub BUTTONspeichern_Click(sender As System.Object, e As System.EventArgs) Handles BUTTONspeichern.Click
    2. SaveFileDialog1.ShowDialog()
    3. System.IO.File.WriteAllText(SaveFileDialog1.FileName, "[texture]" & vbNewLine & MASKEDTEXTBOXname.Text & vbNewLine & vbNewLine & "[UsedBy]" & vbNewLine & LISTBOXverwendungen.Items(0) & vbNewLine & LISTBOXverwendungen.Items(1) & vbNewLine & LISTBOXverwendungen.Items(2) & vbNewLine & LISTBOXverwendungen.Items(3) & vbNewLine & LISTBOXverwendungen.Items(4) & vbNewLine & LISTBOXverwendungen.Items(5) & vbNewLine & LISTBOXverwendungen.Items(6) & vbNewLine & LISTBOXverwendungen.Items(7) & vbNewLine & LISTBOXverwendungen.Items(8) & vbNewLine & LISTBOXverwendungen.Items(9))
    4. End Sub


    Hierbei habe ich es jetzt so gemacht, dass die Einträge "nacheinander" in die Datei geschrieben werden. Dazu müssen aber auch alle diese items belegt sein, sonst gibt's einen Fehler seitens Visual Studio.

    Beim Thema Versionen von Visual Basic bin ich noch unerfahren, weshalb ich den Code einfach in einem VBnet-Code eingefügt habe. Ich arbeite mit Visual Studio 2010.

    Danke schonmal für jede Hilfe!

    Grüße
    Bamp
    @Imports Wilkommen im Forum. :thumbup:
    Sieh Dir mal dies an:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. System.Text
    2. Public Class Form1
    3. Private Sub BUTTONspeichern_Click(sender As Object, e As EventArgs) Handles BUTTONspeichern.Click
    4. If SaveFileDialog1.ShowDialog() <> Windows.Forms.DialogResult.OK Then
    5. Return
    6. End If
    7. Dim sb = New StringBuilder
    8. sb.AppendLine("[texture]")
    9. sb.AppendLine(MASKEDTEXTBOXname.Text)
    10. sb.AppendLine()
    11. sb.AppendLine("[UsedBy]")
    12. For i = 0 To Math.Min(LISTBOXverwendungen.Items.Count, 9)
    13. sb.AppendLine(LISTBOXverwendungen.Items(i).ToString())
    14. Next
    15. System.IO.File.WriteAllText(SaveFileDialog1.FileName, sb.ToString())
    16. End Sub
    17. 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!
    Moin,

    es geht soweit alles - naja, eher nicht, denn VS meint, dass

    RodFromGermany schrieb:

    StringBuilder


    nicht definiert ist. Ich hatte über der Public Class schon das System.Text entfernt, da eine Deklaration erwartet wird. Im Hilfestellungsfenster zum obrigen Fehler meint VS aber, dass es ein System.Text braucht.

    EDIT: Hat sich erledigt, vor dem System.Text muss ein Imports.

    EDIT-EDIT:
    Beim Speichern der Datei ploppte folgender Fehler auf:

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Bamp“ ()

    Jo, der vollständige Name der StringBuilder-Klasse ist
    System.Text.StringBuilder

    Dahinter steht ein gut durchdachtes System von sog. "Namespaces", was ich so auf Schnelle nicht hinreichend erklären kann.
    Ich empfehle, diesen Begriff aus einem guten Buch zu lernen.
    Bücherliste findste hier: Entwickler-Ressourcen und Tools, Bücher und WebCasts

    kann man natürlcih auch googeln, aber KnowHow-Resourcen im Internet sind oft von miserabler Qualität - was du natürlich nicht beurteilen kannst - also da haste ein Risiko, u.U. sehr schlecht beraten zu werden.
    Insbesondere auf Youtube habe ich noch nie ein wirklich gutes Video gefunden (ausser meine eigenen natürlcih).
    (Das erwähne ich extra ausdrücklich, weil Youtube wirkt grad bei Anfängern besonders attraktiv)

    Bamp schrieb:

    folgender Fehler
    OK.
    Da Du noch neu bist, helfe ich Dir über die C&P-Bremse hinweg. Machst Du

    VB.NET-Quellcode

    1. For i = 0 To Math.Min(LISTBOXverwendungen.Items.Count - 1, 9)

    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!