Textsuche (aufwärst) in einer Rich TextBox



  • Hallo C++ Gemeinde 😉

    Ich versuche in einer Rich Text Box eine Textsuche von der Cursorposition an aufwärts zu realisieren. Leider bisher ohne Erfolg ...

    Als Compiler kommt Power++ zum Einsatz.

    Der Benutzer gibt in der Find/Replace Box an ob eine Suche aufwärts oder abwärts gemacht werden soll.
    Die Suche abwärts ist fertig, die Suche aufwärts bereitet mir große Schwiergkeiten 😞

    Kann mir jemand helfen ??

    Der Code sieht bisher so aus :

    C/C++ Code:
    WBool Form1::Suchen_Ersetzen_Dialog_1_FindReplace(
    WObject * source,
    WFindReplaceEventData * event )
    {
    WLong position;
    WString suchtext;
    WRange zeichen_index;
    WLong text_laenge;
    WBool ganzwort;

    ganzwort = event->wholeWord;

    /*------------------------ Suchen einer Zeichenkette ---------------------*/

    if (event->findNext)
    {
    suchtext = Suchen_Ersetzen_Dialog_1->GetFindText();
    if (event->searchDown)
    {
    position = Richtextfeld_1->FindText( suchtext, FALSE, ganzwort, beginAt );
    if (position < 0)
    {
    position = Richtextfeld_1->FindText(suchtext);
    }
    text_laenge = suchtext.GetLength();
    zeichen_index.start = position;
    zeichen_index.end = position + text_laenge;
    beginAt = zeichen_index.end;

    Richtextfeld_1->SetFocus( );
    Richtextfeld_1->SetEditSelection( zeichen_index );
    }
    else
    {
    // Und hier weiß ich nicht weiter 😢

    }
    }
    return FALSE;
    }

    An die Funktion "FindText" können folgende Paramter übergeben werden :

    - WBool CaseSensitive (für Groß/Kleinschreibung)
    - WBool MatchWholeWord (ganzes Wort)
    - WLong beginAt (Zeichen ab dem gesucht werden soll)
    - WLong endAt (Zeichen bis zu dem gesucht werden soll)


Anmelden zum Antworten