![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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
|
|||
|
|||
|
Огромное спасибо!
|