Обратите внимание, что в этом случае, действий может быть несколько. Тут уже не надо объединять несколько действий в begin.. .end, потому что repeat.. .until уже действует как объединение нескольких действий.
Давайте рассмотрим надоевший пример с использованием этого типа цикла, показанный в листинге:
procedure TForm1.CalculateButtonclick(Sender: TObj ect);
var
index:Integer;
sum: Integer;
EndCount:Integer;
begin
Sum: =0;
index:=0;
EndCount:=StrToTnt(EndEdit.Text);
repeat Sum: = Sum+ index ; index:=index*1; until index>EndCount;
ResultEdit.Text:=IntToStr(Sum);
end;
Здесь действия будут выполняться в цикле, пока переменная index не станет больше числа, указанного в EndCount.