vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Controls · TextBox & RichTextBox   |   VB-Versionen: VB4, VB5, VB627.08.01
Bestimmte Zeile einer TextBox ermitteln

Zeigt, wie sich eine bestimmte Zeile einer MutliLine-TextBox anhand einer Zeilennummer ermitteln lässt.

Autor:   Thomas BannertBewertung:  Views:  21.229 
ohne HomepageSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Die nachfolgende Funktion gibt den Inhalt einer durch eine Zeilennummer angegebene Zeile einer MultiLine-TextBox zurück.

Ist die Zeile nicht vorhanden, d.h. die TextBox enthält weniger Zeilen, so wird ein Leerstringzurückgegeben.

' Übergabeparameter TextBox ist eine Multiline Textbox
Public Function GetLineFromTB(TextBox As TextBox, _
  lLine As Long) As String
 
  Dim lLineCount As Long
  Dim lLineEnd As Long
  Dim sLine As String
  Dim sTemp As String
 
  ' Ist das überhaut eine Multiline Textbox?
  If TextBox.MultiLine Then
    lLineCount = 0 ' Zähler für die Zeilen
    sTemp = TextBox.Text
 
    While sTemp <> "" And lLineCount <> lLine
      lLineCount = lLineCount + 1
      lLineEnd = InStr(sTemp, vbCrLf)
      If lLineEnd > 0 Then
        ' aktuelle Zeile ermitteln
        sLine = Left$(sTemp, lLineEnd - 1)
        sTemp = Mid$(sTemp, lLineEnd + 2)
      Else
        ' letzte Zeile
        sLine = sTemp: sTemp = ""
      End If
    Wend
 
    If lLineCount <> lLine Then
      ' Zeile nicht gefunden
      sLine = ""
    End If
  End If
 
  GetLineFromTB = sLine
End Function

Beispiel:

Text1.Text = "Dies ist eine mehrzeile Nachricht" & _
  vbCrLf & vbCrLf & _
  "Zeile 3" & vbCrLf & "Zeile 4"
 
MsgBox GetLineFromTB(Text1, 3)  ' Zeile 3

Unter Visual Basic 6...
lässt sich das ganze etwas einfacher realisieren. Hier sollte man die Split-Funktion verwenden:

Public Function GetLineFromTB(TextBox As TextBox, _
  lLine As Long) As String
 
  Dim sLines() As String
  sLines = Split(TextBox.Text, vbNewLine)
  If lLine - 1 <= UBound(sLines) Then
    GetLineFromTB = sLines(lLine - 1)
  End If
End Function



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle 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.