DelphiBasics
$IfDef
Compiler Directive
Executes code if a conditional symbol has been defined
{$IfDef Symbol}
 ... Code to run when the symbol is defined ...
 {$Else}
 ... Code to run when the symbol is not defined ...
 {$EndIf}
Description
The $IfDef compiler directive starts a section of conditionally compiled code. Only if the specified Symbol has been defined.
 
Symbols come in two types. Predefined in Delphi, such as Console when running a console application. And defined by the $Define compiler direcctive.
 
$IfDef is very useful when developing code, allowing various sections to be compiled when testing.
Related commands
$DefineDefines a compiler directive symbol - as used by IfDef
$ElseStarts the alternate section of an IfDef or IfNDef
$EndIfTerminates conditional code compilation
$IfNDefExecutes code if a conditional symbol has not been defined
$IfOptTests for the state of a Compiler directive
$UnDefUndefines a compiler directive symbol - as used by IfDef
 Download this web site as a Windows program.




 
Example code : Setting up and using a test mode symbol
var
  text : string;

begin
  // Set our code into test mode
  {$Define TESTMODE}

  text := 'We are in test mode';

  // Display the value of text if we are in test mode
  {$IfDef TESTMODE}
  ShowMessage('text = '+text);
  {$EndIf}

  // Switch off test mode
  {$UnDef TESTMODE}

  // Display the value of text if we are in test mode
  {$IfDef TESTMODE}
  ShowMessage('text = '+text);
  {$Else}
  ShowMessage('Out of test mode now');
  {$EndIf}
end;
Show full unit code
  We are in test mode
  Out of test mode now
 
Delphi Programming © Neil Moffatt . All rights reserved.  |  Home Page