Вниз
Скачать: 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.008 c
15-1230607135
Slider007
2008-12-30 06:18
2009.03.01
С днем рождения ! 30 декабря 2008 вторник


2-1232137033
programmer90
2009-01-16 23:17
2009.03.01
JavaScript +Opera и ShellExecute


15-1230625782
tesseract
2008-12-30 11:29
2009.03.01
Сегодня день образования СССР.


10-1152862016
deplhi
2006-07-14 11:26
2009.03.01
property in com


15-1230819583
Tinx
2009-01-01 17:19
2009.03.01
Восстановление забытого пароля для DBISAM




   Наверх