#If...Then...#Else Directives

2023-11-05

#If...Then...#Else Directives

Conditionally compiles selected blocks of Visual Basic code.

#If expression Then
   statements
[ #ElseIf expression Then
   [ statements ]
...
#ElseIf expression Then
   [ statements ] ]
[ #Else
   [ statements ] ]
#End If

Parts

expression
Required for If and ElseIf statements, optional elsewhere. Any expression, consisting exclusively of one or more conditional compiler constants, literals, and operators, that evaluates to True or False. Three conditional compilation constants are provided: Config, Debug, and Trace. Debug and Trace are Boolean datatypes and can be set in the Project Properties dialogue. When Debug is defined, Debug class methods generate output to the Output window. When it is not defined, Debug class methods are not compiled and no Debug output is generated. Similarly, when Trace is defined, Trace class methods generate output to the Output window. When it is not defined, Trace class methods are not compiled and no Trace output is generated. Config is a string datatype, which corresponds to the current setting in the Configuration Manager.
statements
Required for If statement block, optional elsewhere. Visual Basic program lines or compiler directives that are compiled if the associated expression evaluates to True.
#End If
Terminates the # If statement block.

Remarks

On the surface, the behavior of the #If...Then...#Else directives appears the same as that of the If...Then...Else statements. However, the #If...Then...#Else directives evaluate what is compiled by the compiler, whereas the If...Then...Else statements evaluate conditions at run time.

Conditional compilation is typically used to compile the same program for different platforms. It is also used to prevent debugging code from appearing in an executable file. Code excluded during conditional compilation is completely omitted from the final executable file, so it has no effect on size or performance.

Regardless of the outcome of any evaluation, all expressions are evaluated using Option Compare Text. The Option Compare statement does not affect expressions in #If and #ElseIf statements.

Note   No single-line form of the #If, #Else, #ElseIf, and #End If directives exists; that is, no other code can appear on the same line as any of the directives.

Example

This example uses the #If...Then...#Else construct to determine whether to compile certain statements.

#Const CustomerNumber = 36
#If CustomerNumber = 35 Then
    ' Insert code to be compiled for customer # 35.
#ElseIf CustomerNumber = 36 Then
    ' Insert code to be compiled for customer # 36.
#Else
    ' Insert code to be compiled for all other customers.
#End If

转载于:https://www.cnblogs.com/yangbin990/archive/2005/11/30/287446.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

#If...Then...#Else Directives 的相关文章

  • 使用Cobra开发自己的命令行工具

    Cobra 项目地址 https github com spf13 cobra 1 新建cobra项目 安装cobra cli工具 go install github com spf13 cobra cli latest 新建项目目录 mk
  • 扫盲-----addEventlistener()方法,事件监听(一)

    一 扫盲事件起因 时间 2018年6月1日周五下午 原本我以为我已经把当前的bug改好 应该没啥问题了 坐等下班公司聚餐 开心 突然 隔壁同组大哥 哎 cp 你看看 你这个首页报了很多错哎 我的第一反应就是 不可能 怎么会有错误呢 我明明都
  • osgEarth的Rex引擎原理分析(七十二)如何从高程影像变成高程网格

    目标 七十一 中的问题143 有两种方法 1 对高程影像进行采样 用采样值来设置高程 通过CPU实现 2 通过着色器来实现 在GPU上进行操作 待继续分析列表 9 earth文件中都有哪些options 九 中问题 10 如何根据earth
  • jQuery甘特图/日程图/横道图/插件

    基于JQ的一款灵活高效 支持自定义拓展的甘特图 日程图插件 支持月 周 小时等显示方式 支持拖动改变时间 展开与收起 添加 删除 刷新 节假日高亮 clicked dblClicked changed事件 调用方式 ganttChart g
  • 【备战csp-j】 csp常考题型详解(1)

    一 计算机基础知识 1 微型计算机的问世是由于 的出现 A 中小规模集成电路 B 晶体管电路 C 超 大规模集成电路 D 电子管电路 答案 C 解析 年代 元件 第一代 1946 1958 电子管 第二代 1959 1964 晶体管 第三代
  • Vue使用three.js的GLTFLoader导入外部模型绘制边界

    一 效果展示 threeJs渲染外部模型视频 二 项目引用 将OrbitControls和GLTFLoader引入到项目中 import as THREE from three 引入three import OrbitControls fr
  • NYOJ 586 疯牛 & POJ 2456(二分搜索 + 贪心)

    疯牛 时间限制 1000 ms 内存限制 65535 KB 难度 4 描述 农夫 John 建造了一座很长的畜栏 它包括N 2 lt N lt 100 000 个隔间 这些小隔间依次编号为x1 xN 0 lt xi lt 1 000 000
  • 设计模式(十五)-面向对象概念

    软件设计 十五 UML建模 下 https blog csdn net ke1ying article details 129152487 一 设计原则 1 单一职责 设计目的单一的类 2 开放 封闭原则 对扩展开放 对修改关闭 3 里氏替
  • Elasticsearch集群内存占用高?用这招!

    一 freeze index冻结索引介绍 Elasticsearch为了能够实现高效快速搜索 在内存中维护了一些数据结构 当索引的数量越来越多 那么这些数据结构所占用的内存也会越来越大 这是一个不可忽视的损耗 在实际的业务开展过程中 我们会
  • 电容触摸式操作面板按键方案选型

    系列文章目录 1 元件基础 2 电路设计 3 PCB设计 4 元件焊接 5 板子调试 6 程序设计 7 算法学习 8 编写exe 9 检测标准 10 项目举例 11 职业规划 文章目录 前言 方案一 触摸弹簧 方案二 ITO导电玻璃 银浆触
  • Python爬虫库

    网络 通用 urllib 网络库 stdlib requests 网络库 grab 网络库 基于pycurl pycurl 网络库 绑定libcurl urllib3 Python HTTP库 安全连接池 支持文件post 可用性高 htt
  • mysql create triggers_mysql 触发器的创建

    CREATE TRIGGER Syntax CREATE DEFINER user CURRENT USER TRIGGER trigger name trigger time trigger event ON tbl name FOR E
  • pycharm2019.3瘦身

    用过一段时间之后的发现c盘users里面有一个 pycharmCE的文件夹 500多M 之后还会越来越大 于是决定移动到d盘 第一步 在d盘新建一个文件夹 打开pycharm 点Help gt Edit Custom Properties
  • 断点续传-vue

    实现断点续传主题思路 对文件进行每200MB切片 基于spark md5计算出第一个切片文件的hash值 将文件的名称 大小 hash值传给后台 后台确认当前文件是否上传过 已上传过返回之前上传大小或第几个切片 前端再次上传切片 直到上传完
  • docker bi工具superset汉化

    很简单 修改一下superset config py 文件就可以了 但是 找文档花了三天时间 vim opt superset docker pythonpath dev superset config py 文件中添加如下内容即可 LAN
  • 在Visual Sutdio 2017中使用boost库

    对C 有一定了解的同学一定听说过boost库 这是C 的一个著名类库 在C 的地位感觉可以和Spring在Java中相比 boost向来有准标准库之称 很多新特性例如智能指针等都是先在boost中实现 后来被吸收到标准库之中 而且boost
  • WDS1期第12课 字符设备驱动 7 async异步通知用户空间 驱动代码的kill_fasync函数通知用户的signal函数 fcntl

    前面的query interrupt poll都需要用户程序去主动去读或查询 async异步通知 可以由驱动程序主动去通知用户程序中断的到来 信号也可以通知TASK INTERRUPTIBLE的进程 SIGKILL可以杀掉任何进程 就是传说
  • javascript之数据遍历

    JavaScript之数据遍历 for循环 var a 沐水莲心 22 男 for var i 0 i
  • WIFI 信道 channel

    5GHz 信道划分 国内室内AP可用36 40 44 48 52 56 60 64 149 153 157 161 165等13个信道 2 4GHz 共有14个信道 国内可用1 13信道 不干扰的仅1 6 11
  • Linux多线程

    全文目录 线程概念 线程缺点 线程的如何看待进程内部的资源 进程vs线程 线程控制 pthread库 pthread t 线程创建 线程等待 线程分离 线程退出 总结 线程互斥 互斥量接口 互斥量实现原理 总结 线程安全与可重入 常见的线程

随机推荐

  • CMake应用:基础篇

    CMake是一个开源 跨平台的编译 测试和打包工具 它使用比较简单的语言描述编译 安装的过程 输出Makefile或者project文件 再去执行构建 在使用IDE开发软件的过程中 代码的编译和构建一般是使用IDE自带的编译工具和环境进行编
  • 什么是面向接口编程、面向过程编程、面向对象编程?

    1 什么是面向接口编程 IOP 面向接口编程 Interface Oriented Programming IOP 是一种编程思想 接口作为实体抽象出来的一种表现形式 用于抽离内部实现进行外部沟通 最终实现内部变动而不影响外部与其他实现交互
  • (毕业设计资料)基于STM32智能窗帘控制系统设计

    096 电路方案 基于STM32智能窗帘控制系统设计 基于STM32单片机的智能窗帘控制系统 该系统集蓝牙遥控 人声识别控制 空调红外遥控 24c02数据储存 433m遥控 热释电红外感应 温湿度检测以及光控为一体 并可根据需求设置窗帘开合
  • Java中的内存泄漏例子以及对应解决方案

    转自How Memory Leaks Happen in a Java Application 英语好的可以去原网站瞅瞅 1 什么是Java中的内存泄漏 内存泄漏的标准定义是当应用程序不再使用对象 但垃圾回收器无法将它们从工作内存中删除时发
  • 【上拉下拉功能】GPIO的上拉下拉功能说明

    GPIO的上拉下拉功能说明 2011 07 11 14 36 394人阅读 评论 0 收藏 举报 The port pull up register controls the pull up resister enable disable
  • 华为校招机试题-查找单入口空闲区域-2023年

    题目描述 给定一个 m x n 的矩阵 由若干字符 X 和 O 构成 X 表示该处已被占据 O 表示该处空闲 请找到最大的单入口空闲区域 解释 空闲区域是由连通的 O 组成的区域 位于边界的 O 可以构成入口 单入口空闲区域即有且只有一个位
  • 【华为OD机试】返回矩阵中非1的元素个数(C++ Python Java)2023 B卷

    时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 语言限定 C clang11 C clang 11 Pascal fpc 3 0 2 Java jav
  • UID卡、CUID卡、FUID卡的区别

    UID卡 国外称GEN1 所有区块可被重复读写 卡片ID可改且使用后门指令更改ID ID可被重复修改 响应后门指令 意味着可被使用后门指令检测是否为克隆卡的机器发现 CUID卡 国外称GEN2 所有区块可被重复读写 卡片ID可改且使用普通写
  • stm32 串口发送和接收

    串口发送 include stm32f10x h Device header include
  • HTML+CSS 旋转照片墙!源代码(简易动画干货快收藏!!)

    拿走请三连 并注明出处 新手上路 路过的大佬请多多指教 动画特效为11张照片 环绕着旋转 照片可自改添加 源代码中用到的照片未上传
  • 本地上传文件到FastDFS命令上传报错:ERROR - file: connection_pool.c, line: 142, connect to server 192.168.0.197:221

    root ubuntu etc fdfs usr bin fdfs upload file etc fdfs client conf etc a jpg 2019 12 03 11 38 14 ERROR file connection p
  • MySQL学习(十七):数据类型之文本字符串类型

    文本字符串类型 类型 值的长度 长度范围 占用的存储空间 CHAR M M 0 lt M lt 255 M个字节 VARCHAR M M 0 lt M lt 65535 实际长度 1个字节 TINYTEXT L 0 lt L lt 255
  • 如何使用BBP公式直接计算π的第n位

    使用BBP公式可以直接求得十六进制 的第n位而不需要计算前n位的数 讲道理 我认为是可以计算十进制的第n位的 毕竟其本身就能直接计算出十进制的 但我没试 其优点在于可以进行分布式计算 即将一个耗时的运算拆分成若干个运算单元在不同的机器上进行
  • 芯片可靠性与商规、工规、车规

    在芯片的国产化浪潮下 国产芯片的出货量和替代率近年来迅速飙升 按出货量比率看 消费电子领域 电源管理芯片和射频前端芯片国产替代率已超过70 工控通信领域 电源管理和信号链芯片国产替代率也超过20 汽车电子领域 电源管理和功率器件的国产替代率
  • 【OpenAI】私有框架代码生成实践

    作者 京东零售 牛晓光 根据现有调研和实践 由OpenAI提供的ChatGPT GPT 4模型和CodeX模型能够很好的理解和生成业界大多数编程语言的逻辑和代码 其中尤其擅长Python JavaScript TypeScript Ruby
  • Python 进程原理 —— 《餐厅里的故事》

    在说明进程之前引入几个概念 本文向你诠释 并行 并发 同步 异步 阻塞 非阻塞 进程等概念 如果不理解这几个概念 在学习进程过程中时刻都在给自己预设障碍 所以我痛定思痛 先了解进程工作原理 概念1 单道程序与多道程序 不在赘述单道程序的工作
  • AHP权重计算方法案例

    AHP权重计算方法案例 1 案例背景 公司要对网站用户行为进行追踪 以优化推荐系统算法 需要对已有的5项行为指标 为便于理解 此处展示5项 分配对应权重 需要我们数据部门给出权重建议 当然不能拍脑门 我以AHP层次分析法为理论基础设计了一套
  • 花30分钟,我用ChatGPT写了一篇2000字文章(内附实操过程)

    有了ChatGPT之后 于我来说 有两个十分明显的变化 1 人变的更懒 因为生活 工作中遇到大大小小的事情 都可以直接找ChatGPT来寻求答案 2 工作产出量更大 之前花一天 甚至更久才能写一篇原创内容 现在有了主题 框架之后 ChatG
  • 求生之路2在Win10下鼠标看不见要怎么解决?

    求生之路2是很多玩家都非常喜欢的一款恐怖生存类游戏 但是在升级win10系统后玩求生之路会遇到一些问题 如鼠标看不见 这就让操作变的很麻烦 其实这是由于系统鼠标设置问题到导致的 跟着小编操作可解决这个问题 修复步骤如下 1 按下WIN X
  • #If...Then...#Else Directives

    If Then Else Directives Conditionally compiles selected blocks of Visual Basic code If expression Then statements ElseIf