Wort finden Problem

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von m97y97.

    Wort finden Problem

    Hi,
    Ich will eine Such-Funktion einrichten. Ich benutze das CodeEditorControl1.
    Da hab ich jedoch ein fehler...

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim Sought() As String = {TextBox1.Text} 'Wörter, die markiert werden
    3. Dim Signalizers As String = " " & Chr(13) & Chr(10) 'Zeichen, bei denen überprüft wird
    4. For Each Str As String In Sought
    5. If Form1.CodeEditorControl1.SelectionStart > Str.Length Then
    6. If Signalizers.ToLower.Contains(Mid(Form1.CodeEditorControl1.Document.Text, Form1.CodeEditorControl1.SelectionStart, 1).ToLower) Then
    7. If Mid(Form1.CodeEditorControl1.Document.Text, Form1.CodeEditorControl1.SelectionStart - Str.Length, Str.Length).ToLower = Str.ToLower Then
    8. Dim SelStart As Integer = Form1.CodeEditorControl1.SelectionStart
    9. Form1.CodeEditorControl1.SelectionStart = Form1.CodeEditorControl1.SelectionStart - Str.Length - 1
    10. Form1.CodeEditorControl1.SelectionLength = Str.Length
    11. Form1.CodeEditorControl1.SelectionColor = Color.Red
    12. Form1.CodeEditorControl1.SelectionStart = SelStart
    13. End If
    14. End If
    15. End If
    16. Next
    17. End Sub
    18. End Class


    Alles, wo nach dem Control1 eine Selection kommt, ist als Falsch markiert. Option Strict on hat auch nix gewusst...
    Wie kann ich nun jedoch die wörter finden, oder wenigstens unterstreichen?

    mfg

    gfcwfzkm
    Also Suchbegriffe in Texten finden, das geht hervorragden mit Regex - gugge RegexTester.

    Was mit deiner Syntax nicht stimmt, kann nur jemand wissen, der sich mit dem Control auskennt. Oder selbst herausfinden, aber dazu müsste man über den genauen Wortlaut der Fehlermeldung und die genaue Fehlerzeile bescheid wissen.
    hilft mir nicht so weiter, thx trotzdem...

    Gibt es sonst eine möglichkeit, sich das Suchende Wort anzeigen zu lassen?

    mfg
    Was soll diese Abfrage?

    VB.NET-Quellcode

    1. If Form1.CodeEditorControl1.SelectionStart > Str.Length Then
    2. End If
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    du kannst doch auch nur markieren
    in einer textbox
    brauchst 2 textboxe beim 1 steht der text mit textbox2 findest du das wort

    code:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. 'TextBox1.Find(TextBox1.Text)
    3. Dim SuchenLassen() As String = {TextBox2.Text}
    4. Dim suchen As Integer
    5. For suchen = 0 To SuchenLassen.Length - 1
    6. If TextBox1.Find(SuchenLassen(suchen)) <> -1 Then
    7. TextBox1.Select(TextBox1.Find(SuchenLassen(suchen)), SuchenLassen(suchen).Length)
    8. TextBox1.SelectionColor = Color.Orange
    9. TextBox1.SelectionBackColor = Color.Black
    10. End If
    11. Next