Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [VB 2008] Salvare in un file il contenuto di due RichTextBox

    Ciao a tutti,

    ho un'applicazione che utilizza due RichTextBox, all'interno delle quali vengono scritte informazioni distinte, con formattazioni diverse.

    Avrei necessità di:

    -salvare il contenuto dei due controlli in un unico file
    -aprire il file salvato e recuperare il contenuto delle due RichTextBox senza confondere nulla

    Sapete se è possibile farlo?

    Al momento sono in grado di fare tutto questo usando un file di salvataggio per ciascun controllo.

    Grazie.

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Io copierei i testi dei due controlli in una variabile.
    I due testi, ovviamente, dovranno essere separati da una mia sequenza di caratteri specifica (potrebbe essere il calssico \n), così al successivo caricamento potrò dividere il file in due basandomi su tale sequenza e caricare le due parti nei rispettivi controlli.


  3. #3
    Ciao Gibra,

    grazie per il suggerimento.

    Avevo pensato anch'io la stessa cosa, ma non ero sicuro se è sufficiente memorizzare i testi per mantenere la formattazione dei contenuti ( tipo di font, altezza, colore, stile...). Devo ammettere che non ho provato.

    Sto cercando di aggirare l'ostacolo memorizzando il contenuto dei due controlli in una terza RichTextBox, non visibile, indicando i due testi con un numero iniziale e salvare il contenuto soltanto di questo controllo.

    E' una soluzione che credo possa funzionare ma non mi piace; troppo farraginosa.

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Io farei così

    codice:
        Dim sFile As String = "C:\MyDoc.txt"
    
        ' scrivo
        Dim s As String = rtb1.Rtf & "|" & rtb2.Rtf
        Dim sw As StreamWriter
        sw = New StreamWriter(sFile, False)
        sw.Write(s)
        sw.Close()
    
    
        ' leggo
        Dim sr As New StreamReader(sFile)
        Dim words As String = sr.ReadToEnd()
        Dim split As String() = words.Split("|")
        rtb1.Rtf = split.ElementAt(0).Trim
        rtb2.Rtf = split.ElementAt(1).Trim

  5. #5
    Grazie!

    Non avevo notato la proprietà .Rft del controllo RichTextBox e mi ero messo a realizzare uno scanner per recuperare sia il testo che le formattazioni dei due oggetti.


    Thanks. Funziona perfettamente.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.