Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.03.01;
Скачать: CL | DM;

Вниз

Уточнение по работе цикла for   Найти похожие ветки 

 
Илья_   (2009-01-19 20:07) [0]

Недавно заметил, что в моей программе есть неправильный код,
но при этом он работает так как и ожидалось.

var
 I, Len: Integer;
begin
 Len := 10;

 for I := 0 to Len - 1 do
 begin
   ...
   Len := 5; {сдесь можно присвоить любое значение}
   ...
 end;

Интересно, что цикл выполнится 10 раз несмотря на то,
что Len была изменена. Почему? Я думаю он вычисляет
Len - 1 один раз и запоминает это значение. Что скажете.


 
{RASkov} ©   (2009-01-19 20:22) [1]

Нечего тут говорить... Это все в справке должно быть написано...


 
{RASkov} ©   (2009-01-19 20:24) [2]

:)
и написано ведь....
For purposes of controlling execution of the loop, the expressions initialValue and finalValue are evaluated only once, before the loop begins.
...только что посмотрел)


 
Илья_   (2009-01-19 20:30) [3]

Спасибо! А я что-то не нашёл этого текста.


 
KSergey ©   (2009-01-20 06:21) [4]

Если хотим менять количество итераций - в дельфи надо использовть какой-нибудь другой цикл (while/repeat или даже goto :) )



Страницы: 1 вся ветка

Текущий архив: 2009.03.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
2-1232019643
pavelkq
2009-01-15 14:40
2009.03.01
Сравнинеи двух image.


2-1232376076
grav
2009-01-19 17:41
2009.03.01
Транзакции


15-1230976017
Alkid
2009-01-03 12:46
2009.03.01
Посоветуйте простой бесплатный персональный firewall


15-1230517403
Хост
2008-12-29 05:23
2009.03.01
Как предотвращать Out of memory при SetLength?


2-1232090677
Шакал
2009-01-16 10:24
2009.03.01
Замостить Timage