Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.009 c
6-1198579437
Свой
2007-12-25 13:43
2009.03.01
Webserver application и доступ к файлам под IIS 5.1


15-1230488629
TCrash
2008-12-28 21:23
2009.03.01
А подскажите готовое решение


8-1191219508
DDDeN
2007-10-01 10:18
2009.03.01
Перехват звука с Stereo Out


2-1231995906
b@v
2009-01-15 08:05
2009.03.01
Вопрос по DBGrid


11-1197489271
!Pharaon!
2007-12-12 22:54
2009.03.01
ToolBar




   Наверх