Вниз
Скачать: 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.007 c
2-1232030193
Handle
2009-01-15 17:36
2009.03.01
GetSysColorBrush


2-1231929482
TRSteep
2009-01-14 13:38
2009.03.01
XML + TreeView


2-1231925230
Б
2009-01-14 12:27
2009.03.01
Что значит вывести растр в режиме <B>XOR</B>?


6-1198579437
Свой
2007-12-25 13:43
2009.03.01
Webserver application и доступ к файлам под IIS 5.1


15-1230816113
@!!ex
2009-01-01 16:21
2009.03.01
Почему вызывается метод предка??




   Наверх