$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ż: