【Access示例】#If…#Else…#End If代码的意思
时 间:2017-02-20 09:24:59
作 者:缪炜 ID:24010 城市:江阴
摘 要:有爱好者在代码里看到了#IF…#End IF这样的代码,只知道IF…End IF这样的代码,不太理解是加个“#”号是什么意思。
正 文:
爱好者看到如下代码,不知道#IF是什么意思,为什么要在IF前面加个"#":
#If Win64 Then strLib = CurrentProject.Path & "\RDPLib.x64.ucl" #Else strLib = CurrentProject.Path & "\RDPLib.x86.ucl" #End If
查看一下帮助文件是这样说的:
#If...Then...#Else 指令的作用与 If...Then...Else 语句相同,其差异在于 #If、#Else、#ElseIf,及 #End If 指令没有单独成行的形式,也就是说,在指令所在的那一行,不能有其他代码出现。条件编译通常用来编译不同平台上的同一个程序。也可以用来避免调试程序代码出现在可执行程序中。条件编译时被排除的程序代码在最后的可执行文件中被完全略去,所以不会对程序的大小或功能有任何影响。
无论结果如何,都要计算所有表达式。所以,在表达式中用到的所有常数都必须加以定义— 任何未定义的常数都会被当作 Empty 来计算取值。
注意 Option Compare 语句不会影响 #If 及 #ElseIf 语句中的表达式。条件编译指令中的表达式总是用 Option Compare Text 计算值。
帮助文件里的示例:
本示例在 #If...Then...#Else构造中引用条件式编译器常数,来决定编译那部分语句。 ' 如果 Mac 常数为 true,则编译 #If后面的语句。 #If Mac Then '. 将 Mac 语句写在此处。 '. '. ' 否则,如果是 32 位窗口程序,则编译这个语句: #ElseIf Win32 Then '. 将 32 位窗口程序语句写在此处。 '. '. ' 再否则,则编译以下语句: #Else '. 将其他作业平台适用的语句写在此处。 '. '. #End If
其实就是:条件编译一般是为了编译不同的版本,(如普通版,专业版什么的),不同的版本对应不同的行为,要想在编译时就确定,可以用条件编译#If,如果想要运行时确定行为,可以用If在工程对话框中可以定义编译时的常量。
比如:
#Const UNICODE = 1 #If UNICODE Then MsgBox "unicode mode" #Else MsgBox "ansi mode" #End If
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(13)-入库功能...(04.21)
- Access控件美化之--美化按钮...(04.19)
- Access多行文本按指定字符筛选...(04.18)
- Microsoft Access数...(04.18)
- 仓库管理实战课程(12)-月度结存...(04.16)
- 仓库管理实战课程(11)-人性化操...(04.15)
- 32位的Access软件转化为64...(04.12)
- 【Access高效办公】如何让vb...(04.11)
- 仓库管理实战课程(10)-入库功能...(04.08)
- Access快速开发平台--Fun...(04.07)