Richtextbox in .txt Dokument Abspeichern

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von boomer.

    Richtextbox in .txt Dokument Abspeichern

    Hi

    ich habe einen Button.
    Wenn ich diesen Klicke soll der Text der in der Richtextbox steht Gespeichert werden.
    Es öffnet sich ein fenster und dort wählt man den Pfad aus indem es gespeichert wird.

    VB.NET-Quellcode

    1. Dim sfd As New SaveFileDialog() 'Für deinen Dialog brauchen wir das ding, das ist das Auswahlfeld
    2. sfd.filter = "Textdateien (*.txt)|*.txt" 'Wir wollen doch nur .txt Dateien Speichern! :) Aufbau: <Was in der Typauswahl drinnen steht>|*.<dateiendung>
    3. If (sfd.ShowDialog() = Windows.Forms.DialogResult.OK) Then 'Wir wollen erst fortfahren wenn auch wirklich "OK" gedrückt worden ist
    4. Dim f As String = sfd.FileName 'f ist grade die abkürzung für "FileName", der wert kommt vom auswahlfeld
    5. My.Computer.FileSystem.WriteAllText(f, RichTextBox1.Text, False) 'Schreib das ganze Zeugs in die Datei
    6. End If 'Sollte sich eigt selbst erklären
    um den Normalen text zu speichern,

    für die Formatierungen:

    VB.NET-Quellcode

    1. Dim sfd As New SaveFileDialog()
    2. sfd.filter = "Textdateien (*.txt)|*.txt"
    3. If (sfd.ShowDialog() = Windows.Forms.DialogResult.OK) Then
    4. Dim f As String = sfd.FileName
    5. My.Computer.FileSystem.WriteAllText(f, RichTextBox1.RTF, False)
    6. End If
    (Die Kommentare bitte von Oben nehmen :)
    Es gibt eine allgemeingültige Regel die auch mal Ausnahmen zulässt:
    Gute Programmierer sind schlechte Grafiker und gute Grafiker sind schlechte Programmierer

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „boomer“ ()

    Beides funktioniert =)
    Es gibt eine allgemeingültige Regel die auch mal Ausnahmen zulässt:
    Gute Programmierer sind schlechte Grafiker und gute Grafiker sind schlechte Programmierer
    @boomer:
    Cool, wir werden zum C&P-Forum.
    Wenn schon, dann erklär wenigstens was du da machst.
    Entfern die Leerzeilen aus deinem Code und benenn deine Variablen mal ordentlich.
    Aber da du wahrscheinlich zu faul bist mache ich das mal für dich:

    VB.NET-Quellcode

    1. Dim Save As New SaveFileDialog() 'SaveFileDialog deklarieren
    2. Save.Filter = "Textdateien (*.txt)|*.txt" 'Filter deklarieren, um nur *.txt/Textdateien anzuzeigen und zu laden. Erweiterung möglich.
    3. If Save.ShowDialog() = Windows.Forms.DialogResult.OK Then 'Wenn im Dialog okay geklickt wird...
    4. Dim File As String = Save.FileName 'Variable Datei deklarieren und im Dialog gewählten Pfad zuweisen.
    5. IO.File.WriteAllText(File, RichTextBox.Text) 'Inhalt der RichTextBox in den gewählten Pfad (Variable: File) schreiben.
    6. 'Hier ggf. Else
    7. End If


    Ich kann an deinen Codes auch keinen Unterschied feststellen ;)

    Grüße
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
    @boomer

    Ich würde in dem fall nicht mit My arbeiten, dafür ist system.io gedacht

    VB.NET-Quellcode

    1. Using sfd As New SaveFileDialog
    2. sfd.Filter = "txt files (*.txt)|*.txt"
    3. If sfd.ShowDialog <> Windows.Forms.DialogResult.OK Then
    4. Return
    5. End If
    6. Using fs As New IO.FileStream(sfd.FileName, IO.FileMode.Create)
    7. Using sw As New IO.StreamWriter(fs)
    8. sw.Write(RichTextBox1.Text)
    9. sw.Close()
    10. fs.Close()
    11. End Using
    12. End Using
    13. End Using


    mfG

    Derfuhr
    @Derfuhr: Na das nenn ich gleichzeitig ;)
    Nen Streamwriter ist aber absolut überflüssig. IO.File.WriteAllText
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
    @Nikx
    Der einzige Unterschied ist, das bei my.c... Richtextbox1.Text zu Richtextbox1.RTF wird :)

    und das kommentieren wollte ich grade machen,wollte nur ganz oben stehen x)
    Es gibt eine allgemeingültige Regel die auch mal Ausnahmen zulässt:
    Gute Programmierer sind schlechte Grafiker und gute Grafiker sind schlechte Programmierer
    Qualität über Quantität würd ich mal sagen. Wenn dann poste gleich richtig und sei halt zweiter, das
    ist hier kein Wettbewerb ;) Ich finds ja gut dass du dich beteiligst, aber wenn schon, dann richtig ^^
    Egal, machs nächstes mal einfach besser oder so :P

    Nochmal zum Thema My.
    My ist soweit ich weiß VB-Typisch, also schaut auf IO. Enthält die selben Funktionen.
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
    @Nikx
    Warum gibts denn dann eigt My? O.o Nagut Danke fürn Hinweis, werde mich mal mit dem NS auseinandersetzen :D

    Und ich werds in Zukunft besser machen =)
    Es gibt eine allgemeingültige Regel die auch mal Ausnahmen zulässt:
    Gute Programmierer sind schlechte Grafiker und gute Grafiker sind schlechte Programmierer