$IF

Jojersztajner
Składnia:`{$IF expression}`
Wartość domyślna:nie dotyczy

Dyrektywa $IF powoduje kompilację danego kodu wtedy i tylko wtedy, gdy dany warunek jest spełniony.

{$IF CompilerVersion < 16}
  {$MESSAGE WARN 'Moduł przeznaczony dla Delphi 8'}
{$IFEND}

Kompilowany warunkowo kod musi być zamknięty dyrektywą $IFEND, a nie $ENDIF!

Do dyrektywy $IF można dołączyć dyrektywę $ELSE:

{$IF CompilerVersion = 15}
  WriteLn('Skompilowany pod Delphi 7');
{$ELSE}
  WriteLn('Autor nie ponosi odpowiedzialności za działanie programu');
{$IFEND}

Razem z dyrektywą $IF można też używać dyrektywy $ELSEIF. Sposoby użycia tejże dyrektywy znajdują się w artykule $ELSEIF.

W wyrażeniu można używać pseudo-funkcji Defined i Declared.
Declared sprawdza, czy zadeklarowano zmienną, stałą, procedurę, funkcję lub typ o danej nazwie, a Defined, czy za pomocą dyrektywy $DEFINE zdefinionano dany symbol.

WriteLn('The Foo'{$IF Declared(Version)}, ' version ', Version{$IFEND});

Gdy dyrektywa $IF jest dostępna zdefiniowany jest symbol CONDITIONALEXPRESSIONS.

{$IFNDEF CONDITIONALEXPRESSIONS}
  {$ERROR} { Taka dyrektywa nie istnieje - wstawiłem ją tu, by wywołała błąd }
  Użyj kompilatora z dostępną dyrektywą $IF (np. Delphi 7)
{$ENDIF}

Zobacz też:

0 komentarzy