lunedì 31 ottobre 2011

[VB.NET] Estrazione linee da TextBox MultiLine

Descrizione :
Questa mia Function restituisce una List(Of String) delle linee contenute in una TextBox.

+ Articolo :

La Function in questione estrae le linee di testo da un controllo TextBox, indipendentemente dalle proprietà impostate, che abbia WordWrap a True o False, che l'utente abbia fatto o meno uso del "Return" per andare a capo, o che abbia lasciato linee vuote o incomplete.

Inoltre da ogni linea presente nella List() restituita vengono rimossi gli eventuali caratteri ControlChars.NewLine, che in una logica di testo linea-per-linea, avrebbero poco senso.

    Public Function GetTextBoxLines(ByVal TB As TextBox) As List(Of String)

        Dim lines As New List(Of String)
        If TB.TextLength = 0 Then Return lines

        Dim iStartLine As Integer = 0 'Indice Char di inizio linea
        Dim iEndLine As Integer = 0 'Indice Char di fine linea
        Dim iLine As Integer = 0 'Indice di linea ( numero linee incognito )
        Do
            iStartLine = TB.GetFirstCharIndexFromLine(iLine)
            iEndLine = TB.GetFirstCharIndexFromLine(iLine + 1)
            If iEndLine > -1 Then
                lines.Add(TB.Text.Substring(iStartLine, iEndLine - iStartLine))
            Else
                lines.Add(TB.Text.Substring(iStartLine, TB.TextLength - iStartLine))
                Exit Do
            End If
            iLine += 1
        Loop

        'Eliminazione Chars NewLine
        For i As Integer = 0 To lines.Count - 1
            lines(i) = lines(i).Replace(ControlChars.NewLine, "")
        Next

        Return lines

    End Function

+ Fine Articolo.

Un Click su "Mi Piace" è il modo migliore per ringraziare l'autore di questo articolo.



0 commenti:

Posta un commento

Favorites Twitter Facebook Delicious Digg Stumbleupon More

 
Design by Free WordPress Themes Modificato da MarcoGG