请教{$IFDEF PRJ_NOTDATABASE}.在线等 (20分)

  • 主题发起人 主题发起人 panchenglin
  • 开始时间 开始时间
P

panchenglin

Unregistered / Unconfirmed
GUEST, unregistred user!
在程序中遇到如下代码
{$IFDEF PRJ_NOTDATABASE}
{$ENDIF}

看起来象是一种模板语言,但是不知道如何定义和使用.请知道的朋友解释一下.
 
问题已经解决了,大家不用回答了.
一.指令介绍 :

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 配合 ,指明条件预编译段源代码段的结束位置。
 
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;


procedure TForm1.Button1Click(Sender: TObject);

begin

Caption := a;

end;


end.
 
后退
顶部