Oppure

Loading
28/03/13 14:54
Cobra
Salve a tutti ragazzi,
ho eseguito lo stream da un file di testo ed alla linea 3 ho questa frase: "Nom. Cogn. Via", lo stream di tale linea viene riportato su una label, ma, ho due domande da porvi:

- è possibile, una volta effettuato lo stream, trasformare, per esempio, il termine "Nom." con "Nome", "Cogn." con "Cognome" e così via?
- è possibile, data sempre la medesima riga, fare in modo che, a fine di ogni termine, il successivo vada a capo? Per esempio, da quella stringa che ho postato sopra ("Nom. Cogn. Via";), ottenere:

"Nome
Cognome
Via"

vi posto il mio codice anche se sono consapevole che il procedimento non è corretto.

Dim file As New StreamReader("miotesto.txt")
        Dim linea(500) As String
        Dim i As Integer
        a = 0
        While Not file.EndOfStream
            linea(i) = file.ReadLine()
            a = a + 1
        End While
        file.Close()
label1.text=linea(3)
  If Label1.Text.Contains("Nom.") Then
label1.text="Nome"
        End If


Sperando di ricevere un aiuto da parte vostra, vi ringrazio in anticipo e vi auguro buona pasqua :)
Ultima modifica effettuata da Cobra 30/03/13 13:05
aaa
30/03/13 13:52
tuttodiMC
Penso che per andare a capo tu debba mettere il classico \n però dovresti prima fare lo split dela riga e quindi separare le singole parole, poi mandare a capo.
aaa
30/03/13 14:17
Cobra
Ho provato questo, ma restituisce in label solo l'ultima parte della riga, ovvero "Via" :(

    Dim file As New StreamReader("miotesto.txt")
            Dim linea(500) As String
            Dim i As Integer
            a = 0
            While Not file.EndOfStream
                linea(i) = file.ReadLine()
                a = a + 1
            End While
            file.Close()
    Label1.text=linea(3)
Dim v As String = Label1.text
            Dim var As String() = v.Split("."c)
            For i As Integer = 0 To var.GetUpperBound(0) - 1
                Label1.Text = var(i)
            Next
aaa
31/03/13 9:13
keyblade95
Con il ciclo for, devi concatenare le stringhe splittate, non assegnarle (altrimenti una stringa verrà sostituita dalla successiva):
Dim v As String = Label1.text
Dim var As String() = v.Split("."c)
For i As Integer = 0 To var.GetUpperBound(0) - 1
    Label1.Text &= var(i)         'oppure se vuoi andare a capo: Label1.Text &= var(i) & vbCrLf
Next


Per sostituire i nomi, usa il Metodo Replace di String:
Label1.Text = Label1.Text.Replace("Cogn." , "Cognome")
aaa
02/04/13 7:57
Cobra
Ok perfetto, grazie mille!!! :)
aaa