AnsiString isk("hyjuiy");
int i;
for(i = Memo1->Lines->Count - 1; i>= 0; --i)
if(Memo1->Lines->Strings.Pos(isk))
Memo2->Lines->Add("Ñòðîêà " + AnsiString(i + 1));
поиск строки в memo
как узнать присутствует ли строка AnsiString substring; в memo1 ///
Цитата:
Originally posted by Mr. Nick
как узнать присутствует ли строка AnsiString substring; в memo1 ///
как узнать присутствует ли строка AnsiString substring; в memo1 ///
Если я правильно понял вопрос,
Код:
Ы?
Цитата:
Originally posted by Mr. Nick
как узнать присутствует ли строка AnsiString substring; в memo1 ///
как узнать присутствует ли строка AnsiString substring; в memo1 ///
Можно и проще, без циклов, если нужно узнать только присутствие строки, а не ее позицию в тексте:
Код:
//Edit1 - для ввода искомой строчки
if(strstr(Memo1->Text.c_str(),Edit1->Text.c_str()))ShowMessage("Найдено");
else ShowMessage("Не найдено");
if(strstr(Memo1->Text.c_str(),Edit1->Text.c_str()))ShowMessage("Найдено");
else ShowMessage("Не найдено");
Хотя, функция strstr() возвращает позицию с которой начинается искомая строка, т.е. дает привязку к позиции строки от начала текста. Но без учета номера строки.
ЗЫ стандартные функции Си рулят :)
Цитата:
Originally posted by pacific_7
Можно и проще, без циклов, если нужно узнать только присутствие строки, а не ее позицию в тексте:
Хотя, функция strstr() возвращает позицию с которой начинается искомая строка, т.е. дает привязку к позиции строки от начала текста. Но без учета номера строки.
ЗЫ стандартные функции Си рулят :)
Можно и проще, без циклов, если нужно узнать только присутствие строки, а не ее позицию в тексте:
Код:
//Edit1 - для ввода искомой строчки
if(strstr(Memo1->Text.c_str(),Edit1->Text.c_str()))ShowMessage("Найдено");
else ShowMessage("Не найдено");
if(strstr(Memo1->Text.c_str(),Edit1->Text.c_str()))ShowMessage("Найдено");
else ShowMessage("Не найдено");
Хотя, функция strstr() возвращает позицию с которой начинается искомая строка, т.е. дает привязку к позиции строки от начала текста. Но без учета номера строки.
ЗЫ стандартные функции Си рулят :)
Ну и на конец от меня=)
if(Memo1->Text.Pos(Edit1->Text));
Цитата:
Originally posted by lord Kelvin
Ну и на конец от меня=)
if(Memo1->Text.Pos(Edit1->Text));
Ну и на конец от меня=)
if(Memo1->Text.Pos(Edit1->Text));
а как поступить если нужно узнать в скольких местах наидено?
Цитата:
Originally posted by Mr. Nick
а как поступить если нужно узнать в скольких местах наидено?
а как поступить если нужно узнать в скольких местах наидено?
int n=0
AnsiString isk("hyjuiy");
int i;
for(i = Memo1->Lines->Count - 1; i>= 0; --i)
if(Memo1->Lines->Strings.Pos(isk))
n++;
А подумать слабо было?