$IFDEF
Adam Boduch
Składnia: | `{$IFDEF name}` |
Wartość domyślna: | nie dotyczy |
Dyrektywa warunkowa. Podobnie jak w instrkcjach warunkowych, aplikacja może zostać poddana procesowi kompilacji warunkowej, w zależności od tego czy symbol jest zadeklarowany czy też nie. To właśnie testuje dyrektywa $IFDEF
. Można powiedzieć iż dyrektywa $DEFINE ustawia wartość True dla danego symbolu, a $UNDEF - False. Spójrz na poniższy kod źródłowy:
{$DEFINE DEBUG}
procedure Foo;
begin
{$IFDEF DEBUG}
ShowMessage('Opcja debug jest włączona');
{$ELSE DEBUG}
ShowMessage('Opcja debug jest wyłączona');
{$ENDIF}
end;
{$UNDEF DEBUG}
Na samym początku kodu, zadeklarowaliśmy symbol DEBUG
; następnie w procedurze Foo
, sprawdzamy wartość tego symbolu. Na tej podstawie w trakcji kompilacji, kompilator pozostawi tylko ten kod, który będzie wykonywany w trakcie działania programu. Dyrektywa $ELSE odpowiada słowie kluczowemu Else z języka Delphi. Każda kompilacja warunkowa musi zostać zakończona dyrektywą $ENDIF.
Istnieje możliwość tworzenia bardziej skomplikownych warunków, co zostało omówione w artykule opisującym dyrektywę $IF.
Zobacz też:
Po $ELSE nie trzeba stawiać nazwy symbolu. Zostawiłem jak było, bo błędy też się w takim przypadku nie pojawiają