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

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

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

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