Text aus Textbox in 2. Zeile einer Textdatei

  • VB.NET

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

    Text aus Textbox in 2. Zeile einer Textdatei

    Hallo
    Ich habe eine Checkbox und eine Textbox.
    Ich möchte beide Inhalte in eine Textdatei schreiben.
    Zeile 1 = Checkbox.Checked Inhalt
    Zeile 2 = Textbox1.Text Inhalt

    Mein Code dazu:

    VB.NET-Quellcode

    1. Dim eingaben() As String
    2. eingaben(0) = CheckBox1.Checked
    3. eingaben(1) = TextBox2.Text
    4. Dim lines As String = IO.File.WriteAllLines("config.txt", eingaben)


    Leider Kommt dieser Fehler: Der Ausdruck ergibt keinen Wert. ( er unterstreicht zeile 4 )

    Was ist falsch ?

    MfG Killer3d
    Der Fehler liegt zweitens darin, dass das "eingaben"-array ein dynamisches array ist (ohne fester groeße).
    Versuch einfach mal :

    VB.NET-Quellcode

    1. Dim eingaben() As String
    2. ReDim eingaben(1)
    3. eingaben(0) = CheckBox1.Checked
    4. eingaben(1) = TextBox1.Text
    5. System.IO.File.WriteAllLines("config.txt", eingaben)


    oder

    VB.NET-Quellcode

    1. Dim eingaben(1) As String
    2. eingaben(0) = CheckBox1.Checked
    3. eingaben(1) = TextBox1.Text
    4. System.IO.File.WriteAllLines("config.txt", eingaben)
    Ein dynamisches Array (also zB. eingaben() ) hat keine feste Größe, hat also auch keinen Speicherplatz für sich reserviert. Daher kommt auch der Fehler "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt." (Genau wie bei Klassen die mit New noch nicht instanziiert wurden. Mit Redim allokiert/reserviert man Speicher für dieses Array. Allerdings muss man dafür eine feste Größe angeben. Andere nicht dynamische Array lassen sich übrigens auch mit Redim vergrößern oder verkleinern.
    Und noch was: Die Werte des Arrays werden gelöscht. Falls du sie trotzdem behalten willst, benutze " ReDim Preserve"

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