Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

поиск строки в TStringlist [D6, XP]


tomkat ©   (2008-01-21 15:33:00) 

Hi, All ! требуется найти построку , к примеру 'SUMA' в наборе строк  TStringlist. Как поиск в цикле запустить ? ведь у  TStringlist нет метода Next и тп. ...
Заранее спасибо


tomkat   (2008-01-21 17:36:00) [1]

всем спасибо , я решил задачку :-)
for i:=0 to ls.Count-1 do
  begin
   if pos(fs,ls.Strings[i])>0
   then memo2.Lines.Add(ls.Strings[i]);


tomkat   (2008-01-21 16:44:00) [2]


>    Break;//раз нашли, выходим из цикла

что-то я совсем не понял .....
задачка найти строку в TStringlist  
к-я, включает в себя заданный образец ....
вроде все тривиально ...


Amoeba   (2008-01-21 16:29:00) [3]


> for i:=0 to ls.Count-1 do
>   begin
>    result:=ls.Strings[i];
>   ShowMessage(result);
>   end;


f or i:=0 to ls.Count-1 do
 begin
   result:=ls.Strings[i];
  ShowMessage(result);
  Break;//раз нашли, выходим из цикла
 end;


tomkat   (2008-01-21 16:16:00) [4]

балин..... значит у меня весь текст в первом (0) индексе....
толькочто сделал
  ShowMessage(intTostr(ls.Count-1));
и узрел там 0 ....
знать не правильно его присвоил ....


Плохиш   (2008-01-21 16:13:00) [5]


> tomkat   (21.01.08 16:08) [7]

Рекомендую добавить перед циклом строчку

 ShowMessage(IntToStr(ls.Count));


Сергей М.   (2008-01-21 16:12:00) [6]


> tomkat   (21.01.08 16:08) [7]



> этот код мне показывает весь текст , а не одну строку за
> шаг


ЭТОТ код тебе показываетименно весть текст, по одной строке за шаг. Как ты и просил у этого кода, так он тебе и показывает.


tomkat   (2008-01-21 16:08:00) [7]


> Это потому, что Вы не прочли справку. Count - 1 должно быть.

да понял, понял :-)
вот этот код мне показывает весь текст , а не одну строку за шаг
  for i:=0 to ls.Count-1 do
  begin
   result:=ls.Strings[i];
  ShowMessage(result);
  end;

а хотелось бы вытащить именно одну строку, потом сравнить ее с образцом ..если попадание , то пишем куда нить ....


Kolan   (2008-01-21 16:01:00) [8]

Count — кол-во. То есть у меня есть 5 яблок
Но нумерация с 0, поэтому у меня есть такие яблоки:

0 1 2 3 4

Итого:
for i:=0 to ls.Count -1do


Юрий Зотов   (2008-01-21 16:01:00) [9]

> tomkat   (21.01.08 15:58) [3]

Это потому, что Вы не прочли справку. Count - 1 должно быть.


Сергей М.   (2008-01-21 16:00:00) [10]

.. ls.Count - 1do


tomkat   (2008-01-21 15:58:00) [11]


> А в паскале есть оператор for


вот только
  for i:=0 to ls.Count do
не работает
 List index out of bounds(1)


Kolan   (2008-01-21 15:45:00) [12]

> зато у него есть свойства Strings[i] и Count

А в паскале есть оператор for


clickmaker   (2008-01-21 15:38:00) [13]

зато у него есть свойства Strings[i] и Count


Наверх

Титульная страница Поиск, карта сайта Написать письмо