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

https://www.vbarchiv.net
Rubrik: Controls · TextBox & RichTextBox   |   VB-Versionen: VB2005, VB200818.06.10
Bestimmte Zeile einer MultiLine-TextBox auslesen

Diese kleine Funktion ermöglicht das gezielte Auslesen einer bestimmten Zeile einer MutliLine-TextBox.

Autor:   Dieter OtterBewertung:  Views:  18.388 
www.tools4vb.deSystem:  Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Die TextBox bietet standardmäßig für das Auslesen einer bestimmten Zeile die Lines-Eigenschaft:

' 1. Zeile auslesen
Dim sLine As String = TextBox1.Lines(0)

Allerdings werden hier nur Zeilen mit harten Umbruchzeichen berücksichtigt. Wird der Text innerhalb der TextBox autom. umgebrochen, müssen wir auf das Windows API zurückgreifen:

' API-Deklaration
Private Declare Function SendMessage Lib "user32.dll" _
  Alias "SendMessageW" ( _
  ByVal hWnd As IntPtr, _
  ByVal wMsg As Integer, _
  ByVal wParam As Integer, _
  ByVal lParam As Integer) As Integer
 
Private Const EM_FMTLINES = &HC8
''' <summary>
''' Ermittelt den Inhalt der angegebene Zeile aus einer MultiLine-TextBox
''' </summary>
''' <param name="oTextBox">TextBox-Control</param>
''' <param name="Line">Zeilennummern, beginnend mit 1</param>
''' <returns>Inhalt der Zeile</returns>
Public Function TBGetLine(ByVal oTextBox As TextBox, ByVal Line As Integer) As String
  Dim sLine As String = ""
 
  ' autom. Umbrüche durch CR CR LF ersetzen
  SendMessage(oTextBox.Handle, EM_FMTLINES, 1, 0)
 
  ' Text temporär zwischenspeichern
  Try
    sLine = oTextBox.Text.Replace(vbCr, "").Split(vbLf)(Line - 1)
  Catch ex As Exception
  End Try
 
  ' eingefügte Umbrüche wieder rückgängig machen
  SendMessage(oTextBox.Handle, EM_FMTLINES, 0, 0)
 
  Return sLine
End Function

Mit dieser Funktion lässt sich jetzt also eine bestimmte Zeile auslesen - und zwar unabhängig, ob der Zeilenumbruch via RETURN-Taste erfolgte oder autom. bei Erreichen des rechten Randes der TextBox.

' 5. Zeile
Dim sLine As String = TBGetLine(TextBox1, 5)



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.