Est-il possible de définir plus d'un conditionnel dans une directive {$ IFDEF}?
[.____] J'aimerais avoir une syntaxe comme celle-ci:
{$IFDEF Condition1 OR Condition2} DoSomething; {$ENDIF}
{$IFDEF Condition1 AND Condition2} DoSomethingElse; {$ENDIF}
Merci
Vous auriez besoin d'utiliser $IF
à la place:
{$IF Defined(Condition1) or Defined(Condition2)}
DoSomething;
{$IFEND}
Si vous devez soutenir Old Delphis (sans le support pour la Métadirective), vous pouvez utiliser une solution simple et une laide:
//AND
{$IFDEF Cond1}{$IFDEF Cond2}DoSomething{$ENDIF}{$ENDIF}
//OR
{$UNDEF Cond1OrCond2}
{$IFDEF Cond1}{$DEFINE Cond1OrCond2}{$ENDIF}
{$IFDEF Cond2}{$DEFINE Cond1OrCond2}{$ENDIF}
{$IFDEF Cond1OrCond2}DoSomething{$ENDIF}
Si vous répétez le test plus d'une fois, le premier cas doit être réécrit comme suit.
{$UNDEF Cond1AndCond2}
{$IFDEF Cond1}{$IFDEF Cond2}{$DEFINE Cond1AndCond2{$ENDIF}{$ENDIF}
{$IFDEF Cond1AndCond2}DoSomething{$ENDIF}
hey essayez ceci à partir de la Embarcadero.com
begin
...
{$IF Defined(MY_DEFINE) and (LibVersion > 2.0) }
Writeln(1);
{$ELSE}
Writeln(2);
...
{$IFEND}
end;