![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Добрый день!
Вопрос в следующем: Есть listbox заполненный как 123 123 123 apl apl apl 123 123 apl apl apl apl 123 123 Задача: определить начало и конец записей типа apl. Т.е. на выходе должно получиться что-то типа этого: 1. apl 3-5 2. apl 8-11 Пробовал в коде, но выходит не совсем то: Код:
var i,k:integer; begin for i := 0 to listbox1.Items.Count-1 do begin if listbox1.Items.Strings[i]='apl' then begin k:=i; memo1.Lines.Add(inttostr(i)); if listbox1.Items.Strings[k+1]='apl' then begin inc(k); end else memo1.Lines.Add(inttostr(k)); end; end; end; Подскажите, пожалуйста, правильный алгоритм поиска. Спасибо. |
#2
|
||||
|
||||
![]() Код:
var i: Integer; n: Integer; begin n:=-1; for i:=0 to ListBox1.Items.Count-1 do begin if ListBox1.Items[i]='apl' then begin if n=-1 then n:=i; end else begin if n<>-1 then begin Memo1.Lines.Add('apl '+IntToStr(n)+'-'+IntToStr(i-1)); n:=-1; end; end; end; end; Пишу программы за еду. __________________ |
#3
|
|||
|
|||
![]() Огромное спасибо!
|