Delphi中预编译指令的使用

时间:2010-01-29 08:55:58  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:指令介绍:  1.DEFINE指令:  格式:{$DEFINE  名称}  说明  :用于定义一个在当前单元有效的符号(Symbol)。定义了之后可以使用IF DEF和IFNDEF指令来判断该符号是否存在。  2.UNDEF指令:  格式:{$UNDEF  名称}  说明:用于取消...
  正文: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配合,指明条件预编译段源代码段的结束位置。  


二.范例:  

编写例子,通过预先定义不同的编译符号,进行不用代码段的编译工作。  

1.新建一个Delphi项目,在Unit1单元的窗体上添加一个Button按钮。  
2.编写程序如下:  

unit  Unit1;  

interface  

uses  

Windows,  Messages,  SysUtils,  Classes,  
Graphics,  Controls,  Forms,  Dialogs,  StdCtrls;  

type  
TForm1  =  class(TForm)  
Button1:  TButton;  
procedure  FormCreate(Sender:  TObject);  
procedure  Button1Click(Sender:  TObject);  
private  
{  Private  declarations  }  
public  
{  Public  declarations  }  
a  :  String;  
end;  

var  
Form1:  TForm1;  

implementation  

{$R  *.DFM}  

{$DEFINE  AAA}  //  定义行。  

procedure  TForm1.FormCreate(Sender:  TObject);  
begin  
  a  :=  'Other';  
  {$IFDEF  AAA}  
  a  :=  'AAA';  
  {$ENDIF}  
  {$IFDEF  BBB}  
  a  :=  'BBB';  
  {$ENDIF}  
end;  

Delphi中预编译指令的使用》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Language/Delphi/12570.html


关键字:

关于《Delphi中预编译指令的使用》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td