Hallo ihr,
ich lese schon länger mit und konnte schon häufig Hilfe hier finden, dafür schon mal ein großes Dankeschön.
Nun habe ich selbst ein Problem, falls ich eine ähnliche Frage im Forum übersehen habe, gern verweisen, dann lösche ich das hier wieder.
Meine Ausgangssituation: Ich habe zwei Textboxen, eine wo der gesamte Text geladen wird und eine, wo der Suchbegriff eingegeben wird.
Via Suchebutton soll der Suchbegriff im gesamten Text gesucht werden. (Ähnlich der Funktion str + f)
Hat auch funktioniert, allerdings über den Umweg, das ich zwei Buttons nehmen musste. Einen für die Suche, einen für die zweite Suche.
Ich würde es nun gern so schreiben, dass ich nur auf einen Button klicke und der bei jedem Klick weitersucht und nicht nach einem Begriff halt macht.
Puh, ich hoffe das war jetzt verständlich.
Kann mir jemand einen Hint geben, wo ich ansetzen muss um bei Klick jedesmal die neue Position für das Suchwort zu benutzen?
Danke fürs lesen, grüße h.
ich lese schon länger mit und konnte schon häufig Hilfe hier finden, dafür schon mal ein großes Dankeschön.
Nun habe ich selbst ein Problem, falls ich eine ähnliche Frage im Forum übersehen habe, gern verweisen, dann lösche ich das hier wieder.
Meine Ausgangssituation: Ich habe zwei Textboxen, eine wo der gesamte Text geladen wird und eine, wo der Suchbegriff eingegeben wird.
Via Suchebutton soll der Suchbegriff im gesamten Text gesucht werden. (Ähnlich der Funktion str + f)
Hat auch funktioniert, allerdings über den Umweg, das ich zwei Buttons nehmen musste. Einen für die Suche, einen für die zweite Suche.
Ich würde es nun gern so schreiben, dass ich nur auf einen Button klicke und der bei jedem Klick weitersucht und nicht nach einem Begriff halt macht.
Puh, ich hoffe das war jetzt verständlich.
VB.NET-Quellcode
- Private Sub BtnSearch_Click(sender As Object, e As EventArgs) Handles BtnSearch.Click
- Dim suchwort As String = txtboxsuche.Text 'Wort das in Text gesucht werden soll
- Dim position As Integer
- Dim suchstart As Integer = 0
- Dim anzahl As Integer = 0
- Try
- Do
- position = TxtBoxBig.Text.IndexOf(suchwort, suchstart)
- suchstart = position + 1
- TxtBoxBig.Focus()
- TxtBoxBig.SelectionStart = TxtBoxBig.Text.IndexOf(suchwort)
- TxtBoxBig.SelectionLength = suchwort.Length
- If position = -1 Then
- Exit Do
- Else
- anzahl += 1
- End If
- Loop
- lblAnzeige.Text = "Häufigkeit des gesuchten Wortes:" & anzahl
- Catch ex As Exception
- MsgBox("nicht gefunden")
- End Try
- End Sub
- Private Sub BtnWeiter_Click(sender As Object, e As EventArgs) Handles BtnWeiter.Click
- Dim suchwort As String = txtboxsuche.Text
- Dim position As Integer
- Dim endeErstesWort As Integer
- position = TxtBoxBig.Text.IndexOf(suchwort)
- endeErstesWort = position + suchwort.Length
- TxtBoxBig.Focus()
- TxtBoxBig.SelectionStart = TxtBoxBig.Text.IndexOf(suchwort, endeErstesWort)
- TxtBoxBig.SelectionLength = suchwort.Length
- End Sub
Kann mir jemand einen Hint geben, wo ich ansetzen muss um bei Klick jedesmal die neue Position für das Suchwort zu benutzen?
Danke fürs lesen, grüße h.