Delphi의 컴파일 명령(2): 조건문에 대한 더 많은 사용

1708 단어 Delphi
1. $IFDEF는 $IF DEFINED(...):
끝은 $ENDIF, $IFEND입니다.예에서 VER200은 Delphi 2009의 표식이다.


begin

  {$IFDEF VER200}

    ShowMessage('   Delphi 2009');

  {$ENDIF}



  {$IF DEFINED(VER200)}

    ShowMessage('   Delphi 2009');

  {$IFEND}

end;


 
   

2. $IFNDEF는 $IF NOT DEFINED(...)와 같습니다.
끝은 $ENDIF, $IFEND입니다.예에서 VER150은 Delphi 7의 표식입니다.


begin

  {$IFNDEF VER150}

    ShowMessage('    Delphi 7');

  {$ENDIF}



  {$IF NOT DEFINED(VER150)}

    ShowMessage('    Delphi 7');

  {$IFEND}

end;


 
   

3. or 및 and:


begin

  {$DEFINE AAA}

  {$DEFINE BBB}



  {$IF DEFINED(AAA) OR DEFINED(BBB)}

    ShowMessage('      AAA   BBB        ');

  {$IFEND}



  {$IF DEFINED(AAA) AND DEFINED(BBB)}

    ShowMessage('      AAA   BBB     ');

  {$IFEND}

end;


 
   

4. System 유닛의 상수를 사용할 수 있습니다.
나는 System 단원의 많은 상수를 테스트해 보았지만 모두 문제없다.


begin

  ShowMessage(FloatToStr(CompilerVersion)); {  Delphi 2009  , CompilerVersion = 20.0}



  {$IF CompilerVersion >= 17.0}

    ShowMessage('   Delphi 2005       ');

  {$IFEND}

end;


 
   

5. $IFOPT를 사용하여 컴파일 스위치를 판단합니다.
Delphi는 매우 재미있다. 26개의 알파벳을 각각 다른 스위치 지령으로 배치한다(Ctrl+o+o로 보면 물론 스위치 지령은 이것뿐만이 아니다).
$IFOPT는 이 명령들이 켜져 있는지 여부를 판단할 수 있습니다.
이 지령은 그리 자주 쓰이지 않는다. 나는 2009의 VCL 원본 코드를 보았는데 모두 6번밖에 쓰지 않았다.


begin

  {$IFOPT B+}

    ShowMessage('   B    ');

  {$ELSE}

    ShowMessage('   B    ');

  {$ENDIF}



  {$B+}

  {$IFOPT B+}

    ShowMessage('Ok!');

  {$ENDIF}

end;


 
   

좋은 웹페이지 즐겨찾기