Форум: "Прочее";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];
ВнизТак сколько раз будет вычеслено условие цикла??? Найти похожие ветки
← →
Ega23 © (2007-03-06 13:50) [0]Ловлю List index out of bounds.
Есть код
procedure TAlarmLogicsModule.dropAllAlarms;
var
ai : IAlarmItem;
i : Integer;
begin
if get_count=0 then Exit;
for i:= get_count-1 downto 0 do // <- вот тут get_count каждый раз будет вызываться?
begin
ai := get_alarm(i);
ai.drop;
ai := nil;
end;
end;
function TAlarmLogicsModule.get_count: integer;
begin
Result := FList.Count;
end;
← →
MBo © (2007-03-06 13:58) [1]нет, только один раз при старте цикла
← →
Ega23 © (2007-03-06 14:00) [2]
> нет, только один раз при старте цикла
Это точно? Никакими там опциями компиллятора не меняется?
(Просто если оно так, то тогда ясно где ошибку искать)
← →
Думкин © (2007-03-06 14:01) [3]
> Ega23 © (06.03.07 14:00) [2]
Это обсуждалось на форуме неоднократно. Это язык Паскаль такой. Один раз.
← →
Gero © (2007-03-06 14:02) [4]Если кто не верит — все легко проверяется с помощью F7.
← →
Ega23 © (2007-03-06 14:05) [5]
> Если кто не верит — все легко проверяется с помощью F7.
Трудно проверить. Надо сначала всё собрать, сымитировать кучу тревог, а уж потом... :)
Ладно, всё теперь ясно, где "собака порылась". Всем спасибо!
← →
tesseract © (2007-03-06 14:37) [6]
> Gero © (06.03.07 14:02) [4]
> Если кто не верит — все легко проверяется с помощью F7.
F5 на строку процедуру - и смотрим.
← →
McSimm_ (2007-03-06 15:05) [7]Не получилось представить себе логику, при которой инициализация переменной цикла срабатывала бы при каждом проходе. Хоть Паскаль, хоть Си.
← →
Сотрудник деканата (2007-03-06 16:37) [8]if get_count=0 then Exit;
Это лишнее.
← →
Германн © (2007-03-07 01:21) [9]
> Сотрудник деканата (06.03.07 16:37) [8]
>
> if get_count=0 then Exit;
>
> Это лишнее.
>
Может это относится к разряду "обжёгшись на молоке, дуем на воду" :)
← →
Skyle © (2007-03-07 06:47) [10]
> Германн © (07.03.07 01:21) [9]
> > Сотрудник деканата (06.03.07 16:37) [8]
> >
> > if get_count=0 then Exit;
> >
> > Это лишнее.
> Может это относится к разряду "обжёгшись на молоке, дуем
> на воду" :)
Это также может относиться к работе в команде и невнимательности некоторых её членов :)
← →
Ega23 (home) (2007-03-07 08:12) [11]
> Skyle © (07.03.07 06:47) [10]
Ты знал, ты знал... :)
← →
boa_kaa © (2007-03-07 08:56) [12]
> McSimm_ (06.03.07 15:05) [7]
>
> Не получилось представить себе логику, при которой инициализация
> переменной цикла срабатывала бы при каждом проходе. Хоть
> Паскаль, хоть Си.
удаление повторов, например
← →
Германн © (2007-03-07 12:58) [13]
> Skyle © (07.03.07 06:47) [10]
Я имел в виду уже обсуждавшуюся тут тему насчет использования в качестве переменной цикла беззнакового целого :)
← →
_Слоник (2007-03-07 17:24) [14]
> удаление повторов, например
а не проще пройтись с конца и удалять элемент с текущим индеском?
← →
McSimm_ (2007-03-07 18:26) [15]
> удаление повторов, например
не представляю, все равно.
Наверное вы не поняли, не условие выхода из цикла, а инициализация переменной цикла на каждой итерации.
for I := A to B do
for (i = A; i <= B; i++)
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.035 c