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;
}
Programmieren - alles kontrollieren 4.939 Themen, 20.671 Beiträge
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