Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    107

    [VB.NET] Visualizzare testo su una sola riga caricato da file con ritorni a capo

    ciao,
    devo inserire in delle textbox del testo prelevato da un file .txt presente sul mio desktop. Tutto questo lo faccio con il seguente codice:
    codice HTML:
     RichTextBox1.Text = System.IO.File.ReadAllText("C:\Users\pippo\Desktop\relazione.txt")  
                 For Each linea_di_testo As String In System.IO.File.ReadAllLines("C:\Users\pippo\Desktop\.testo.txt")
    
                If linea_di_testo.Contains("NOME:") Then      
              textbox1.Text = Mid(linea_di_testo, 7) 
              End If     
    
           If linea_di_testo.Contains("CLASSE:") Then   
                 textbox2.Text = Mid(linea_di_testo, 8)    
            End If   
        
                  If linea_di_testo.Contains("TESTO:") Then     
               textbox3.Text = Mid(linea_di_testo, 17, 1000)   
             End If   
           
            Next
    TUTTO funziona, solo che dal textbox3 viene prelevato tutto il testo SOLO se scritto su una SOLA riga! se nello scrivere il file è stato premuto l'invio per andare a capo, tutto il testo scritto dopo essere andato a capo NON viene prelevato dal mio codice perchè è scritto su un'altra riga del file!
    faccio un esemipo per spiegarmi meglio:
    se nel file è scritto:
    "ciao come stai?"
    nel textbox3 viene caricato :"ciao come stai?"
    se invece è scritto:
    "ciao
    come stai?"
    nel textbox3 viene caricato solo :"ciao"


    c'è un modo per risolvere qst problema?
    oppure devo fare in modo che nel file.txt (visto che è un file che genero io dallo stesso programma in VB ) sia scritto tutto su di una riga?

    questo file.txt è formato dal testo che viene editato nelle textbox(in modalità "multiline")
    questo è il codice:

    codice HTML:
      Dim SALVATAGGIO_AUTOMATICO As New System.IO.StreamWriter(("C:\Users\pippo\Desktop") & "\testo.txt") 
           SALVATAGGIO_AUTOMATICO.Write("NOME: " + textbox1.Text + Environment.NewLine)  
           SALVATAGGIO_AUTOMATICO.Write("CLASSE: " + textbox2.Text + Environment.NewLine) 
           SALVATAGGIO_AUTOMATICO.Write("TESTO: " + textbox3.Text + Environment.NewLine)
    ci sono impostazioni che posso dare alla textbox3 affinchè TUTTO il testo contenuto al suo interno venga scritto su una sola riga anche se chi lo scrive va a capo?

    grazie
    Piero

  2. #2
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    perché per leggere il file testo.txt usi ReadAllLines e non ReadAllText ? metti tutto in una stringa e poi fai un Replace di VbLine con " "

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    107
    non ho capito cosa intendi dire con :fai un Replace di VbLine con " " ?
    ma sostituendo
    ReadAllLines con ReadAllText ho risolto tutto!!

    GRAZIE!!!
    Ultima modifica di piero54; 18-12-2019 a 00:11

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    107
    Quote Originariamente inviata da piero54 Visualizza il messaggio
    non ho capito cosa intendi dire con :fai un Replace di VbLine con " " ?
    ma sostituendo
    ReadAllLines con ReadAllText ho risolto tutto!!

    GRAZIE!!!
    HO detto una cazzata!!
    perdono!
    modificando ReadAllLines con ReadAllText
    nei textbox non viene richiamato alcun testo presente sul file .txt !
    quindi immagino che debba fare altro oltre alla modifica "ReadAllLines con ReadAllText"
    cosa? puoi spiegarmi meglio?
    ancora grazie

  5. #5
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    Putroppo io non ho capito bene qual'è lo scopo del tuo progetto. puoi spiegare meglio e magari allegarlo zippato ?

  6. #6
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    io intendevo questo
    codice:
    Dim s As String = System.IO.File.ReadAllText("C:\Users\pippo\Desktop\testo.txt")
    s = s.Replace(vbNewLine, " ")
    textbox3.Text = s

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    107
    questo è il codice con il quale leggo dal file .txt e inserisco quello contenuto nel file nelle rispettive textbox!

    codice:
     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load        Call FullScreen()
            
            
            RichTextBox1.Text = System.IO.File.ReadAllText("C:\testo.txt")
            
         
            
            For Each linea_di_testo As String In System.IO.File.ReadAllLines("C:\testo.txt")
    
    
                If linea_di_testo.Contains("NOME:") Then
                    textbox1.Text = Mid(linea_di_testo, 7) 
                End If
                If linea_di_testo.Contains("CLASSE:") Then
                    textbox2.Text = Mid(linea_di_testo, 8)
                End If
                If linea_di_testo.Contains("MATERIA:") Then
                    textbox3.Text = Mid(linea_di_testo, 9)
                End If
                If linea_di_testo.Contains("Relazione N.") Then
                    textbox4.Text = Mid(linea_di_testo, 13)
                End If
                If linea_di_testo.Contains("TESTO RELAZIONE:") Then
                    textbox5.Text = Mid(linea_di_testo, 17)
                End If
                If linea_di_testo.Contains("CONCLUSIONI:") Then
                    textbox6.Text = Mid(linea_di_testo, 17)
                End If
    
    
    
    
            Next
    
    
        End Sub
    le textbox in cui ho il problema (viene richiamato il testo fino al primo "a capo" presente sul file .txt) sono la textbox5 e la 6, perchè quui potrebbe esserci testo molto lungo e non semplici parole come negli altri campi.
    ho provato ad usare il codice che mi hai passato ma credo di non aver capito dove e come usarlo, perchè la situazione è peggiorata!

    NON ci sarebbe la possibilità di scrivere codice che estrapola il testo di un file .txt da una parola (prestabilita) ad un'altra parola(sempre prestabilita)?
    con il cmdice
    codice:
    textbox5.Text = Mid(linea_di_testo, 17)
    estrapolo dalla diciottesima lettera in poi per tutta la riga.
    come potrei a partire dalla diciottesima lettera estrapolare tutto il testo della riga fino ad un determinato carattere (ad esempio potrei inserire nel file un simbolo particolare da usare come "fine corsa")come ad esempio $$ ?

    spero di aver spiegato al meglio il problema...
    grazie
    Ultima modifica di piero54; 19-12-2019 a 00:34

  8. #8
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    chiaramente usando il mio codice ottieni una unica stringa, quindi le tue mid non vanno bene, devi cercare le parole nella stringa ed estrarle, https://docs.microsoft.com/it-it/dot...ithin-a-string
    ti avevo chiesto di allegare il progetto zippato

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    107
    spero di averlo allegato...
    File allegati File allegati

  10. #10
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    la soluzione (file.sln) non è il progetto, il progetto è tutta la cartella

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 © 2024 vBulletin Solutions, Inc. All rights reserved.