Создавая приложения довольно часто приходиться сталкиваться с необходимостью повторения одной и той же последовательности действий.
Delphi нам предлагает еще одну форму условного оператора цикла, которая отличается от цикла while. Во первых тем, что проверка условия будет выполнена не в начале цикла, а в конце и следовательно хоть один раз тело цикла будет выполнено. И во вторых завершается выполнения цикла, когда условное выражение равно TRUE, а не FALSE.
Структура такого цикла будет выглядеть так:
repeat
тело цикла
until условие;
Где
- repeat until - зарезервированные слова;
- тело цикла Последовательность операторов языка Delphi
- условие - логическое условие.
При использовании оператора repeat тело цикла, которое состоит из нескольких операторов заключать в составной оператор begin...end нет необходимости (в отличии от других операторов языка Delphi). Границы тела цикла определяются по зарезервированным словам repeat/until.
Для закрепления, создадим приложение вычисляющее таблицу умножения для числа 3.
На форму перенесем компонент memo, он отобразит нашу таблицу. И простую кнопку, назовем ее Печать. Нажав на нее таблица будет сформирована.
Переменная I последовательно изменяется, от единицы, пока не станет больше 10 и вычисления прекратятся. Обработчик для кнопки напишем такой:
procedure TForm1.Button1Click(Sender: TObject); var I: Integer; begin I := 1; repeat memo1.Lines.Add(IntToStr(I) + ' x 3 = '+ IntToStr(I*3)); I := I + 1; until(I > 10); end;
Итог: Нами был рассмотрен оператор цикла с постусловием repeat.