vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Text aus virtueller RichTextBox speichern... 
Autor: Dideldum
Datum: 24.03.23 20:03

Hi Ihr,

ich sitze nun schon den zweiten Tag an einem Problem, welches sich mir nicht erschliessen will.

Ich habe eine virtuelle RTF-Box, in welche ich wahlweise Text oder RTF-Text einfüge.
Speichere ich den RTF-Inhalt mittels der Test-Sub "Test2", klappt alles einwandfrei.
Speichere ich aber beliebigen Unicode- oder PlainText-Inhalt mittels der Test-Sub "Test0" oder "Test1" erhalte ich eine gespeicherte leere Datei mit 0 Bytes.

private sub Test0(dateiName as string)
    ' PlainText
    Dim textObjekt As New RichTextBox
    textObjekt.text = "TestTestTest" 'Clipboard.GetText(TextDataFormat.text)
    dName = IO.Path.Combine(getAktivesArchivPfad, dOrdner, dateiName & ".txt")
    textObjekt.SaveFile(dName, RichTextBoxStreamType.PlainText)
end sub
 
private sub Test1(dateiName as string)
    ' UnicodeText
    Dim textObjekt As New RichTextBox
    textObjekt.Text = "TextTextText" 'Clipboard.GetText( 
    ' TextDataFormat.UnicodeText)
    dName = IO.Path.Combine(getAktivesArchivPfad, dOrdner, dateiName & ".txt")
    textObjekt.SaveFile(dName, RichTextBoxStreamType.UnicodePlainText)
end sub
 
private sub Test2(dateiName as string)
    ' RTF
    Dim textObjekt As New RichTextBox
    textObjekt.Rtf = Clipboard.GetText(TextDataFormat.Rtf)
    dName = IO.Path.Combine(getAktivesArchivPfad, dOrdner, dateiName & ".rtf")
    textObjekt.SaveFile(dName, RichTextBoxStreamType.RichText)
end sub
Benutze ich aber eine reale RTF-Box zum Speichern von RTF- bzw. Text-Inhalten, klappt alles problemlos beim Speichern.

    Private Sub Dokument_Speichern(dName)
        Dim endung As String
 
        endung = LCase(IO.Path.GetExtension(dName))
        Try
            If endung = ".txt" Then
                dName = IO.Path.Combine(getAktivesArchivPfad, dOrdner, dName & _
                  ".txt")
                tsc_TextEditor_RTFBox.SaveFile(dName, _
                RichTextBoxStreamType.PlainText)
            Else
                dName = IO.Path.Combine(getAktivesArchivPfad, dOrdner, dName & _
                  ".rtf")
                tsc_TextEditor_RTFBox.SaveFile(dName, _
                RichTextBoxStreamType.RichText)
            End If
        Catch ex As Exception
            MsgBox("Text-Dokument:" & Chr(10) & Chr(10) & Chr(34) & dName & Chr( _
              34) & Chr(10) & Chr(10) & "Kann nicht gespeichert werden!")
        End Try
    End Sub
Kann mir da jemand von Euch vielleicht helfen und mir erklären, wo mein Fehler liegt?

Beste Grüsse und ein schönes Wochenende @all
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Text aus virtueller RichTextBox speichern... 
Autor: Dideldum
Datum: 24.03.23 21:44

Aha...

mit

    Dim einträge = mainformTextEncodingTXT.Split(",")
    IO.File.WriteAllText(dName, textObjekt.text, _
      System.Text.Encoding.GetEncoding(einträge(0)))
klappt es.

Aber warum kann ".saveFile" keine virtuellen RTFBox.text-Inhalte speichern?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Text aus virtueller RichTextBox speichern... 
Autor: Manfred X
Datum: 24.03.23 23:21

Hallo!

(Du verwendest eine lokal definierte Richtextbox.
In den Beispielen der VS-Dokumentation ist dieses Control global in der Form definiert.)

Texte können anscheinend nur in der Form gespeichert werden, in der sie auch geladen
worden sind.

Beitrag wurde zuletzt am 24.03.23 um 23:39:41 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Text aus virtueller RichTextBox speichern... 
Autor: Dideldum
Datum: 26.03.23 23:13

Hallo Manfred,

besten Dank für die Erklärung.

Was mich wundert, dass ich bei der virtuellen RTFBox den .RTF problemlos speichern kann, nur eben nicht den .text.
Und dass das Speichern mit WriteAllText auch klappt.
Scheint mir etwas inkonsequent zu sein.
Na ja, wenn man es weiss... kann man damit ja auch umgehen.

Beste Grüsse
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel