Мельница данных  (06.12.2022)
Цикл с параметром
1 for Параметр := Выражение1 (to|downto) Выражение2 do
2  //Оператор

Параметр цикла обязан быть простой локальной переменной. Функционально цикл с параметром эквивалентен циклам:

  • Для формы to
    1Параметр := Выражение1;
    2while Параметр <= Выражение2 do begin
    3  Оператор;
    4  Параметр :=  Параметр + 1;
    end; 
  • Для формы downto
    1Параметр := Выражение1;
    2while Параметр >= Выражение2 do begin
    3  Оператор;
    4  Параметр :=  Параметр - 1;
    end; 
Если Выражение1 равно Выражению2, тело цикла будет выполнено один раз.

Пример
1for I := LList.Length - 1 downto 0 do
2// если LList.Length = 0, тело цикла ни разу не будет выполнено.
3begin
4  LClass := LList.GetItem(I);
5  LMethod := any(TMethod with (Name = LName) and (Master = LClass));
6  LParamList.Add(any(TMethod with (Name = LName) and (Master = LClass)));
7end;