Description 
The Until keyword ends 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 
Repeat 

Repeat statements until a ternmination condition is met 
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 
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;

Show 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


