Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

поиск строки в memo

3.5K
23 апреля 2005 года
Mr. Nick
40 / / 01.01.2005
как узнать присутствует ли строка AnsiString substring; в memo1 ///
294
23 апреля 2005 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by Mr. Nick
как узнать присутствует ли строка AnsiString substring; в memo1 ///


Если я правильно понял вопрос,

 
Код:
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));

Ы?
243
24 апреля 2005 года
pacific_7
1.9K / / 06.09.2004
Цитата:
Originally posted by Mr. Nick
как узнать присутствует ли строка AnsiString substring; в memo1 ///


Можно и проще, без циклов, если нужно узнать только присутствие строки, а не ее позицию в тексте:

 
Код:
//Edit1 - для ввода искомой строчки
        if(strstr(Memo1->Text.c_str(),Edit1->Text.c_str()))ShowMessage("Найдено");
        else ShowMessage("Не найдено");

Хотя, функция strstr() возвращает позицию с которой начинается искомая строка, т.е. дает привязку к позиции строки от начала текста. Но без учета номера строки.
ЗЫ стандартные функции Си рулят :)
301
24 апреля 2005 года
lord Kelvin
897 / / 08.11.2004
Цитата:
Originally posted by pacific_7
Можно и проще, без циклов, если нужно узнать только присутствие строки, а не ее позицию в тексте:
 
Код:
//Edit1 - для ввода искомой строчки
        if(strstr(Memo1->Text.c_str(),Edit1->Text.c_str()))ShowMessage("Найдено");
        else ShowMessage("Не найдено");

Хотя, функция strstr() возвращает позицию с которой начинается искомая строка, т.е. дает привязку к позиции строки от начала текста. Но без учета номера строки.
ЗЫ стандартные функции Си рулят :)


Ну и на конец от меня=)
if(Memo1->Text.Pos(Edit1->Text));

3.5K
26 апреля 2005 года
Mr. Nick
40 / / 01.01.2005
Цитата:
Originally posted by lord Kelvin
Ну и на конец от меня=)
if(Memo1->Text.Pos(Edit1->Text));








а как поступить если нужно узнать в скольких местах наидено?

247
27 апреля 2005 года
wanja
1.2K / / 03.02.2003
Цитата:
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++;
А подумать слабо было?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог