Abspeichern einer Text Datei

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 16 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Abspeichern einer Text Datei

    Ich habe ein Problem und zwar wenn ich im "OpenFileDialog" auf abrechen Drücke kommt dieser Fehler




    Hier der Code:

    VB.NET-Quellcode

    1. Function OpenFile()
    2. 'Speichert datei und löscht Label1
    3. If RichTextBox1.Text = "" Then
    4. Else
    5. MsgBox("Datei wird jetzt geschpeichert!", MsgBoxStyle.Exclamation, "Datei Laden")
    6. Button1.PerformClick()
    7. End If
    8. Label1.Text = Nothing
    9. RichTextBox1.Text = Nothing
    10. Threading.Thread.Sleep("100")
    11. 'Lädt datei pfad
    12. OpenFileDialog1.ShowDialog()
    13. Label1.Text = OpenFileDialog1.FileName
    14. 'Test ob vorgang abgerochen wurde...
    15. If OpenFileDialog1.SafeFileName = "" Then
    16. Else
    17. Me.Text = Label1.Text
    18. 'Text in Richbox einfügen...
    19. RichTextBox1.Text = My.Computer.FileSystem.ReadAllText(Label1.Text) '<-- Hier der Fehler!
    20. End If
    21. #Disable Warning BC42105 ' Die Funktion gibt nicht für alle Codepfade einen Wert zurück.
    22. End Function
    23. #Enable Warning BC42105 ' Die Funktion gibt nicht für alle Codepfade einen Wert zurück.


    (Button1 Speichert)

    Ich hoffe ihr könnt mir helfen :)
    2 Sachen
    1. ich würd empfehlen, den Dialog so zu benutzen, wie er gedacht ist - also den Rückgabewert von .ShowDialog auch auswerten: Dialoge benutzen ist einfach
    2. die andere Empfehlung ist, VisualStudio grundsätzlich so einzustellen, dass man damit auch objektorientiert Programmieren lernen kann. Die Warnung hat ja auch etwas damit zu tun, dass seine Function für ihren Rückgabewert überhaupt keinen Datentyp deklariert hat.
      mit Visual Studio - Empfohlene Einstellungen lässt einem der Compiler so einen Schmuddel-Code garnet durchgehen, und man würde drauf kommen, dass eine Function hier überhaupt nicht angesagt ist (sondern es sollte eine Sub sein).

    VB.NET-Quellcode

    1. Public Class Form1
    2. MessageBox.Show(Form2.DeineVariable.ToString) 'Achtung, die Variable muss außerhalb einer Prozedur und mit "Public" deklariert sein
    3. End Class
    „Was ich gerade mache? Ich reite Hand in Hand mit dem Matthäus-Effekt auf einer Exponentialfunktion.“ ^^
    Es war doch nur ein Beispielcode, wie du an den Wert aus der anderen Form kommst...

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private GuckDaIsses As Whatever = Form2.DeineVariable 'Achtung, die Variable muss außerhalb einer Prozedur und mit "Public" deklariert sein
    3. '"Whatever" bitte durch sinnvollen Datentyp ersetzen
    4. End Class
    „Was ich gerade mache? Ich reite Hand in Hand mit dem Matthäus-Effekt auf einer Exponentialfunktion.“ ^^
    Ich glaube da hapert es noch am Grundverständnis.
    Hast du jetzt einfach ein Modul hinzugefügt und dort eine Variable deklariert?
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Also so Sätze wie "hat nicht Funktioniert" führen hier in der Regel dazu, dass irgendwann niemand mehr hilft.
    Bei sowas gehört sich die Zeile (am besten der Quellcode drum herum) inklusive genauer Fehlermeldung die VS dir wirft.
    Dann kann man helfen. Anders nicht.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Deine Antwort enthält keine Codezeile, enthält keinen Quellcode drum herum, und auch keine Fehlermeldung, die VS dir wirft.
    Es ist einfach nur auskopierter Pseudo-Code, nämlich aus Mikros Post auskopiert. Diesen Code hast du ganz sicher nicht ausprobiert, ein Compiler würde ihn nämlich nicht akzeptieren.

    Folglich - sagte Memo ja schon - kann man dir nicht helfen