!include "LogicLib.nsh"
使用 NSIS 的宏来提供各种逻辑基本语句,不需要预先添加函数。
  • 基本语句

If|Unless..{ElseIf|ElseUnless}..[Else]..EndIf|EndUnless
- 有条件的执行一个语句区块,取决于表达式。

AndIf|AndUnless|OrIf|OrUnless
- 给 If、Unless、ElseIf 和 ElseUnless 增加额外的条件语句。

IfThen..|..|
- 有条件的执行一个内联语句,取决于表达式。

IfCmd..||..|
- 条件的执行一个内联语句,取决于 NSIS 函数提供的真值。

Select..{Case[2|3|4|5]}..[CaseElse|Default]..EndSelect
- 执行多个语句区块之一,取决于表达式的值。

Switch..{Case|CaseElse|Default}..EndSwitch
- 跳转到多个标记之一,取决于表达式的值。

Do[While|Until]..{ExitDo|Continue|Break}..Loop[While|Until]
- 重复一个语句区块直到停止 取决于表达式的值。

While..{ExitWhile|Continue|Break}..EndWhile
- DoWhile..Loop的别名(向后兼容)

For[Each]..{ExitFor|Continue|Break}..Next
- 重复语句区块来连续改变变量的值。

  • 表达式

标准(内建的)字串判断(不区分大小写):
a == b; a != b

另外的不区分大小写的字串判断(使用 System.dll):
a S< b; a S>= b; a S> b; a S<= b
- 需要在 !include LogicLib.nsh 之前 !define LOGICLIB_STRCMP

区分大小写字串判断(使用 System.dll):
a S== b; a S!= b
- 需要在 !include LogicLib.nsh 之前 !define LOGICLIB_STRCMP

标准(内建的)有符号整数判断:
a = b; a <> b; a < b; a >= b; a > b; a <= b

标准(内建的)无符号整数判断:
a U< b; a U>= b; a U> b; a U<= b

64位整数判断(使用System.dll):
a L= b; a L<> b; a L< b; a L>= b; a L> b; a L<= b
- 需要在 !include LogicLib.nsh 之前 !define LOGICLIB_INT64CMP

内建的NSIS标记判断:
${Abort};
${Errors};
${RebootFlag};
${Silent}

内建的 NSIS 其它判断:
${FileExists} a;

任何有条件的 NSIS 指令判断:
${Cmd} a;

区段标记判断:
${SectionIsSelected} a;
${SectionIsSectionGroup} a;
${SectionIsSectionGroupEnd} a;
${SectionIsBold} a;
${SectionIsReadOnly} a;
${SectionIsExpanded} a;
${SectionIsPartiallySelected} a;

NSIS逻辑函数头文件介绍的更多相关文章

  1. NSIS文字及字符串函数与头文件介绍

    原文 NSIS文字及字符串函数与头文件介绍 文字函数,顾名思义就是处理字符串的函数.使用这些字符串函数前,必须先包含头文件WordFunc.nsh.该头文件目前包含如下一些函数:WordFind.Wo ...

  2. linux设备驱动程序该添加哪些头文件以及驱动常用头文件介绍(转)

    原文链接:http://blog.chinaunix.net/uid-22609852-id-3506475.html 驱动常用头文件介绍 #include <linux/***.h> 是 ...

  3. 函数-头文件//Calculator.h

    // // Calculator.h // 函数-头文件 // // Created by zhangxueming on 15/6/2. // Copyright (c) 2015年 zhangxu ...

  4. 【CUDA】Windows 下常用函数头文件

    CUDA 函数 头文件 __global__ __device__ #include <cuda_runtime.h> threadIdx #include <device_laun ...

  5. OpenCV常用头文件介绍

    转载:https://www.cnblogs.com/wangguchao/p/7244483.html 1.OpenCV包含的模块 cv – 核心函数库 cvaux – 辅助函数库 cxcore – ...

  6. opencv 常用头文件介绍

    1.OpenCV包含的模块 cv – 核心函数库 cvaux – 辅助函数库 cxcore – 数据结构与线性代数库 highgui – GUI函数库 ml – 机器学习函数库 2.常用头文件: #i ...

  7. <bits/stdc++.h>头文件介绍(包含源代码)

    注:转自http://blog.csdn.net/charles_dong2/article/details/56909347,同为本人写的,有部分修改. 之前在一个小OJ上刷题时发现有人是这么写的: ...

  8. c++ 私有函数 头文件设计

    clock.h #ifndef CLOCK_H_INCLUDED #define CLOCK_H_INCLUDED class Clock {public: static void HandleExd ...

  9. Linux C 一些函数 所属的头文件

    在编写程序时,有时总是不记得所使用的函数在哪个库函数中.现在先把自己以前经常用到的函数头文件总结一下. 有不对的地方还请指教. 1,系统调用文件的操作函数 #inlclude <fcntl.h& ...

随机推荐

  1. python —— 文本特征提取 CountVectorize

    CountVectorize 来自:python学习 文本特征提取(二) CountVectorizer TfidfVectorizer 中文处理 - CSDN博客 https://blog.csdn ...

  2. dts是如何来描述iommu与PCI(e)之间的关系?

    1. 在一颗树的根下每个PCI(e)设备被它的请求id(AKA RID)独一无二的标识,一个请求ID由三部分组成,总线号,设备号和功能号,如: Bits [15:8] 是总线号 Bits [7:3]是 ...

  3. C++ STL——deque

    目录 一 deque容器 1.1 deque容器基本概念 1.2 deque构造函数 1.3 deque赋值操作 1.4 deque大小操作 1.5 deque双端插入和删除操作 1.6 deque数 ...

  4. TCP/IP 和 和 DoD 模型

    TCP/IP 模型也被称作 DoD 模型(Department of Defense Model).TCP/IP 字面上代表了两个协议:TCP(传输控制协议)和 IP(网络之间互联协议).TCP/IP ...

  5. 不知道AI这三点优势,你可能真的要被淘汰

    不知道 AI 这三点优势,你可能真的要被淘汰 我们正处于飞速发展的数字化转型时期,这是由巨大的市场转变驱动的--即人工智能和机器学习. 同时,随着AI 和机器学习技术的普及,从中获益的不仅仅是大型企业 ...

  6. SpringBoot使用AOP获取请求参数

    最近试了下拦截controller方法查看请求参数,方式如下: package com.*.aop; import com.alibaba.fastjson.JSON; import com.alib ...

  7. C语言递归之二叉树的最大深度

    题目描述 给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. 示例 给定二叉树 [3,9,20,null,null,15 ...

  8. 爬虫学习笔记之为什么要设置超时时间,怎么设置(使用selenium)

    一个程序没有设置超时时间,就可以说是一段有缺陷的代码. 读取超时指的就是客户端等待服务器发送请求的时间.(特定地,它指的是客户端要等待服务器发送字节之间的时间.在 99.9% 的情况下这指的是服务器发 ...

  9. webdriver的八种定位

    转自https://zhuanlan.zhihu.com/p/54588889 在UI层面的自动化测试开发中,元素的定位与操作是基础,也是经常遇到的困难所在.webdriver提供了8种定位: 1. ...

  10. SQL ------ JDBC 删除指定的某条记录

    package demo; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; ...