DelphiBasics
Goto
Keyword
Forces a jump to a label, regardless of nesting
 keyword Goto(Goto label
Description
The Goto keyword forces a jump to a given label.
 
It should Never be used in modern code since it makes code very difficult to maintain.
 
It is mostly used to force a termination of heavily nested code, where the logic to safely exit would be tortuous.
 
Never jump into or out of try statements, or into a loop or conditional block.
 
Be careful!
Notes
Use with extreme caution and when fully justified.
Related commands
BreakForces a jump out of a single loop
ContinueForces a jump to the next iteration of a loop
ExitExit abruptly from a function or procedure
HaltTerminates the program with an optional dialog
RunErrorTerminates the program with an error dialog
AbortAborts the current processing with a silent exception
 Download this web site as a Windows program.




 
Example code :
var
  i : Integer;

label
  GotoLabel;

begin
  for i := 1 to 10 do
  begin
    ShowMessage('i = '+IntToStr(i));

    if i = 4 then Goto GotoLabel;  // Conditionally exit the loop
  end;

  ShowMessage('The loop finished OK');
GotoLabel:
  ShowMessage('Loop finished with i = '+IntToStr(i));
end;
Show full unit code
  i = 1
  i = 2
  i = 3
  i = 4
  Loop finished with i = 4
 
Delphi Programming © Neil Moffatt . All rights reserved.  |  Home Page