Programmieren - alles kontrollieren 4.939 Themen, 20.671 Beiträge

Power++ - Suchen/Ersetzen

Tweety4 / 4 Antworten / Flachansicht Nickles

Hallo
brauche schon wieder Hilfe. Habe mit nachfolgendem Programmteil ein Problem. Es läuft nicht so wie es soll. Beim Suchen mit der Option "Groß-/Kleinschreibung beachten" reagiert es nicht und beim Aktivieren von "nach oben" soll es von einer beliebigen Textposition aus nach oben suchen. Beim Erreichen soll es wieder von hinten anfangen zu suchen.
Was muss noch rein, damit das Programm dies alles bewerkstelligt?
Kann mir hier jemand helfen?

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

ganzwort = event->wholeWord;
grossklein = event->matchCase;

if (event->findNext)
{
suchtext = Suchen_Ersetzen_Dialog_1->GetFindText();
if (event->searchDown)
{
position = Richtextfeld_1->FindText( suchtext, FALSE, ganzwort, grossklein, beginAt );
if (position {
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
{}
if (event->searchDown)
{
position = Richtextfeld_1->FindText (suchtext, TRUE, ganzwort, grossklein, position);
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
{}
}
return FALSE;
}

bei Antwort benachrichtigen
Tweety4 Andreas42 „Hi! Ah, SearchDown ist TRUE, wenn eine normale Suche stattfindet 8also von Oben...“
Optionen

Hallo Andreas,

zuerst mal wünsche ich dir frohe Weihnachten. Habe ja schon ewig nichts mehr von mir hören lassen. Sorry. Aber wenn ich abends nach Hause komme fehlt mir mitunter die Power, mein Gehirn noch auf die Programmierung zu konzentrieren.
Also, habe deinen Vorschlag fast erfolgreich umgesetzt. Allerdings bleibt er am ersten gefundenen Wort hängen. Er markiert es und das wars.
Wie bringe ich dem Programm jetzt noch bei, rückwärts zu suchen?

Bis dann
Martina

bei Antwort benachrichtigen