Description 
The Repeat keyword starts a control loop that is always executed at least once, and which terminates when the Expression is satisfied (returns True).
There is no need for Begin or End markers  the Repeat and Until keywords serve that purpose.
It is used when it is important that the statements are at least executed once.


Notes 
The last Statement need not have a ; terminator  it is entirely optional.


Related commands 
Begin 

Keyword that starts a statement block 
Boolean 

Allows just True and False values 
Do 

Defines the start of some controlled action 
End 

Keyword that terminates statement blocks 
For 

Starts a loop that executes a finite number of times 
Until 

Ends a Repeat control loop 
While 

Repeat statements whilst a continuation condition is met 


Author links 

Download this web site as a Windows program.




Example code : Display integer squares until we reach or exceed 100 
// Full Unit code. //  // You must store this code in a unit called Unit1 with a form // called Form1 that has an OnCreate event called FormCreate. unit Unit1; interface uses SysUtils, Forms, Dialogs; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} // Include form definitions procedure TForm1.FormCreate(Sender: TObject); var
num, sqrNum : Integer;
begin
num := 1;
sqrNum := num * num;
// Display squares of integers until we reach 100 in value
Repeat // Show the square of num
ShowMessage(IntToStr(num)+' squared = '+IntToStr(sqrNum));
// Increment the number
Inc(num);
// Square the number
sqrNum := num * num;
until sqrNum > 100;
end; end.

Hide full unit code 
1 squared = 1
2 squared = 4
3 squared = 9
4 squared = 16
5 squared = 25
6 squared = 36
7 squared = 49
8 squared = 64
9 squared = 81
10 squared = 100



