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