在Delphi中,也有与C相似的预编译指令
一.指令介绍:
1.DEFINE指令:
格式:{$DEFINE 名称}
说明 :用于定义一个在当前单元有效的符号(Symbol)。定义了之后可以使用IF DEF和IFNDEF指令来判断该符号是否存在。
2.UNDEF指令:
格式:{$UNDEF 名称}
说明:用于取消一个在当前单元已经定义的符号(Symbol)。该指令和DEFINE配合使用。
3.IFDEF指令:
格式:{$IFDEF 名称}
说明:如果该指令后的名称已经定义,则编译该指令后直到{$ELSE}或{$ENDIF}之间的代码段。
4.IFNDEF指令:
格式:{$IFNDEF 名称}
说明:如果该指令后的名称没有定义,则编译该指令后直到{$ELSE}或{$ENDIF}之间的代码段。
5.IFOPT指令:
格式:{$IFOPT 开关}
说明:如果该指令后的开关已经设立,则编译该指令后直到{$ELSE}或{$ENDIF}之间的代码段。
举例:
{$IFOPT R+}
Writeln( '编译时打开范围检查开关 ');
{$ENDIF}
6.ELSE指令:
格式:{$ELSE}
说明:通过判断前缀Ifxxx的条件式来确定该指令到{$ENDIF}之间的代码段是否应该被编译或者忽略掉。
7.ENDIF指令:
格式:{$ENDIF}
说明:和Ifxxx配合,指明条件预编译段源代码段的结束位置。
另外,如果要定义全局有效的Name,须通过菜单设置:
Project-Options-directories/conditionals ,下面的conditionals
这是编辑条件,我想要的是对{$IFDEF Name}{$ELSE}{$ENDIF}有效的"全局"定义;
注意:要Build一下后才会生效…