У меня проблема. Необходимо организовать поиск по тексту и выделить найденные элементы. Не могу понять, почему проблема в том, что ветка "отлетает" или что-то в этом роде. Программа C++, среда C++ Builder. P.S Извините за мой английский, я не очень хорошо говорю по-английски...
Я использовал чатGPT, но он мне не помогает... Не могу понять, почему проблема в том, что ветка "оторвалась" или что-то в этом роде.
Это мой код (он работает неправильно):
void __fastcall TForm1::btnSearchClick(TObject* Sender)
{
String searchTextStr = SearchText->Text;
String allText = RichEditText->Text;
RichEditText->SelStart = 0;
RichEditText->SelLength = allText.Length();
RichEditText->SelAttributes->Color = clWindowText;
int foundPos = allText.Pos(searchTextStr);
int searchOffset = 0;
while (foundPos > 0) {
RichEditText->SelStart = searchOffset + foundPos - 1;
RichEditText->SelLength = searchTextStr.Length();
RichEditText->SelAttributes->Color = clRed;
searchOffset += foundPos;
allText = allText.SubString(foundPos + searchTextStr.Length(), allText.Length() - foundPos - searchTextStr.Length() + 1);
foundPos = allText.Pos(searchTextStr);
}
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... d-elements