Я использовал ChatGPT, но он мне не помог. Не могу понять, почему проблема в том, что ветка "отлетает" или что-то в этом роде.
Вот мой код (работает некорректно):
Код: Выделить всё
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 ... in-triched