<< 向前        下一页 >>

ID : 116

#Ifdef ... #Endif

功能

判断是否已定义指定宏,选择编译源代码。

格式

#Ifdef 宏名
	编码1
#Elif Defined(宏名
	编码2
#Else
	编码3
#Endif

指定项目

宏名
指定宏名。
编码n
指定源代码。

解说

判断是否已定义指定宏,选择编译源代码。

如果已定义宏名,则编译编码1,不编译编码2以及编码3

如果未定义宏名,则判断条件,编译编码2或者编码3

与#If Defined(宏名) ... 相同。

相关项目

注意事项

在宏名中使用组装宏时,评价通常为真,不进行分支。

例如,在下述编码中,通常使用<Code1>,不使用<Code2>,与机器人类型无关。

#Ifdef __SCARA_ROBOT__
... <Code1>
#Else
... <Code2>
#EndIf
为正确进行该分支,需要使用#If语句,并按照以下方法记述。
#If __SCARA_ROBOT__
  ... <Code1>
#Else
  ... <Code2>
#EndIf

应用示例

'!TITLE“条件编译”
'判断是否已定义宏,将值累加至aaa

#Define TEST2 20

Sub Sample_IfdefEndif

  Dim aaa As Integer

  aaa = 10

'已定义宏名TEST时
#Ifdef TEST

  aaa = aaa + 10

  '在讯息输出视窗中显示aaa的值
  PrintDbg "aaa = " & aaa

'已定义宏名TEST2时
#Elif Defined(TEST2)

  aaa = aaa + 20

  '在讯息输出视窗中显示aaa的值
  PrintDbg "aaa = " & aaa

'宏名TEST、TEST2均未定义时
#Else

  aaa = aaa + 30

  '在讯息输出视窗中显示aaa的值
  PrintDbg "aaa = " & aaa

#Endif

End Sub

ID : 116

<< 向前        下一页 >>