Wort finden

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von progglord.

    Hallo Comm,
    ich habe eine RichTextBox und möchte das gerade selektierte Wort herrausbekommen.
    Da müsste man ja aus dem SelectionStart und der aktuellen Zeilen was machen können oder?
    Aber ich steh gerade bissl auf dem Schlauch ^^, kann mir evtl jemand helfen?

    danke im vorraus
    progglord

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „progglord“ ()

    mhhh...habe mir jetzt den Code zusammengebastelt:

    VB.NET-Quellcode

    1. 'Vars
    2. Dim txt As String = rtb.Text & kc
    3. Dim Ws As Integer = 0
    4. Dim We As Integer = 0
    5. Dim Word As String = ""
    6. 'Wortanfang finden
    7. For i As Integer = CurrentIndex To 0 Step -1
    8. Dim c As Char = txt.Chars(i)
    9. If c = " " Or i = 0 Then
    10. Ws = i
    11. Exit For
    12. End If
    13. Next
    14. 'Wortende finden
    15. For i As Integer = CurrentIndex To txt.Length - 1
    16. Dim c As Char = txt.Chars(i)
    17. If c = " " Or i = txt.Length - 1 Then
    18. We = i + 1
    19. Exit For
    20. End If
    21. Next
    22. 'Wort zurückgeben
    23. Word = txt.Substring(Ws, We - Ws)
    24. Return Word.Trim


    kc ist ein KeyChar (wird im KeyPress Event ausgeführt)


    wenn ich das Wort am Ende des Dokumentes habe, dann funktioniert das Klasse, aber wenn ich es nicht am Ende habe dann fügt es unerklärlich einfach irgendwelche Zeichen hinzu, welche die ich nicht eingegeben habe. Außerdem funktioniert es dann nicht ?(. Der Code im KeyPress Event:

    VB.NET-Quellcode

    1. Dim cwT As String = GetCurrentWord(CType(sender, RichTextBox), CType(sender, RichTextBox).SelectionStart, eKey.KeyChar)
    2. Label1.Text = cwT
    na wie gesagt ich möchte das Wort finden wo der Cursoer (also wo man schreibt) drauf ist.
    also wenn ich

    Quellcode

    1. hallo ... s sfask|jfldakfjh dfsd fsg

    den text habe und das | jetzt mal den Cursor darstellt soll

    Quellcode

    1. sfaskjfldakfjh
    rauskommen.