![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Уточнение по работе цикла for [D5, WinXP]
Илья_ © (2009-01-19 20:07:00)Недавно заметил, что в моей программе есть неправильный код,
но при этом он работает так как и ожидалось.
var
I, Len: Integer;
begin
Len := 10;
for I := 0 to Len - 1 do
begin
...
Len := 5; {сдесь можно присвоить любое значение}
...
end;
Интересно, что цикл выполнится 10 раз несмотря на то,
что Len была изменена. Почему? Я думаю он вычисляет
Len - 1 один раз и запоминает это значение. Что скажете.
KSergey (2009-01-20 06:21:00) [1]Если хотим менять количество итераций - в дельфи надо использовть какой-нибудь другой цикл (while/repeat или даже goto :) )
Илья_ (2009-01-19 20:30:00) [2]Спасибо! А я что-то не нашёл этого текста.
{RASkov} (2009-01-19 20:24:00) [3]:)
и написано ведь....
For purposes of controlling execution of the loop, the expressions initialValue and finalValue are evaluated only once, before the loop begins.
...только что посмотрел)
{RASkov} (2009-01-19 20:22:00) [4]Нечего тут говорить... Это все в справке должно быть написано...