Repeat statements until a ternmination condition is met
  Until Expression
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.
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
Example code : Display integer squares until we reach or exceed 100
  num, sqrNum : Integer;

  num := 1;
  sqrNum := num * num;

  // Display squares of integers until we reach 100 in value
    // Show the square of num
    ShowMessage(IntToStr(num)+' squared = '+IntToStr(sqrNum));

    // Increment the number

    // Square the number
    sqrNum := num * num;
  until sqrNum > 100;
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