Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2010, 23:45   #1
FanRa3
Пользователь
 
Регистрация: 04.11.2010
Сообщений: 92
По умолчанию Определение индекса строки, в которой нашёлся текст

как опредлить индекс строки в TStringList, в которой нашёлся текст? давно писал такое, но исходник потерялся и нет возможности посмотреть. сейчас уже подзабыл немнго. заранее спасибо вам за помощь
FanRa3 вне форума Ответить с цитированием
Старый 05.12.2010, 00:06   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вы не поверите, методы поиска как раз и возвращают индекс найденной строки, если нашлось и -1, если текст не найден.

например, при поиске в несортированном списке:
Код:
  i := TS1.IndexOf('Искомая строка');
  if i<0 then ShowMessage('НЕ найдено')
  else ShowMessage('Текст найден в строке: '+IntToStr(i));
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.12.2010, 00:44   #3
FanRa3
Пользователь
 
Регистрация: 04.11.2010
Сообщений: 92
По умолчанию

да, но для IndexOf надо вводить полную строку, а мне надо определить индекс строки по её куску
FanRa3 вне форума Ответить с цитированием
Старый 05.12.2010, 01:20   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

тогда только цикл + Pos() :
Код:
i := 0;
while i<= ( TS.Count - 1 ) do 
begin
  if Pos('ПодСтрока', TS.Lines[i])>0 then break;
  inc(i);
end;
if i > ( TS.Count - 1 ) then ShowMessage('НЕ найдено')
else ShowMessage('Текст найден в строке: '+IntToStr(i));
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.12.2010, 11:19   #5
FanRa3
Пользователь
 
Регистрация: 04.11.2010
Сообщений: 92
По умолчанию

большое спасибо! всё работает!
FanRa3 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++. найти сумму элементов строки, в которой расположен элемент с наименьшим значением. Снс Помощь студентам 2 18.10.2010 22:23
номер строки, для которой среднее арифметическое её элементов минимально.QBasic pionerka Помощь студентам 3 31.05.2010 20:15
определение изначально заданной строки Streamrush Помощь студентам 1 28.05.2010 22:51
Обработка строк:определение длины строки DidT33rus Помощь студентам 6 14.05.2010 11:43
Вставить первую строку после строки, в которой находится первый встреченный максимальный элемент. JiLiYa Паскаль, Turbo Pascal, PascalABC.NET 4 03.12.2008 12:13