示例程序全部被发布在了GitHub上,详见:https://lv.qizhen.xyz/
压缩包中包含有较多的示例VI。下面的链接详细列出了每个示例所对应的图例或章节编号:
章节或插图编号
|
子文件夹
|
示例VI
|
图 1.9 ~ 1.10
|
1
|
第一个程序.vi
|
图 1.11
|
简单数学运算程序.vi
|
|
图 1.12
|
互不影响的两份数据.vi
|
|
图 1.13 ~ 1.14
|
数据线分叉.vi
|
|
图 1.15
|
平方根函数.vi
|
|
图 1.22 ~ 1.25
|
改善的第一个程序.vi
|
|
图 1.26
|
单按钮对话框示例.vi
|
|
图 1.29
|
持续运行的加法.vi
|
|
图 1.30
|
第一个项目.lvproj
|
|
图 1.34 ~ 1.35
|
华氏转摄氏.vi
|
|
图 1.36
|
使用子VI.vi
|
章节或插图编号
|
子文件夹
|
示例VI
|
图 2.2 ~ 2.3
|
2.1
|
数值控件显示格式.vi
|
图 2.6
|
表达式节点.vi
|
|
图 2.7 ~ 2.9
|
公式节点.vi
|
|
图 2.10
|
Othello calculate valid position.vi
|
|
图 2.11
|
12.2
|
Check All Position.vi
|
图 2.15
|
2.2
|
下拉列表与枚举.vi
|
图 2.18
|
数组相加.vi
|
|
图 2.19
|
数组簇数组嵌套.vi
|
|
图 2.20
|
数组比较.vi
|
|
图 2.21
|
数组自动索引.vi
|
|
图 2.22 ~ 2.23
|
数组索引.vi
|
|
图 2.24 ~ 2.25
|
创建数组.vi
|
|
图 2.26 ~ 2.28
|
强度图.vi
|
|
图 2.30
|
簇捆绑松绑.vi
|
|
图 2.31
|
字符串不同显示方法.vi
|
|
图 2.32 ~ 2.33
|
正则表达式使用.vi
|
|
图 2.34
|
相对路径.vi
|
|
图 2.36 ~ 2.37
|
2.3
|
表示法转换.vi
|
图 2.38
|
数值与布尔转换.vi
|
|
图 2.39
|
格式化时间.vi
|
|
图 2.40 ~ 2.42
|
变体数据类型转换.vi
|
|
章节 2.3.7
|
平化至字符串.vi
|
|
图 2.44 ~ 2.45
|
平化至XML.vi
|
|
图 2.47
|
强制类型转换DBL to I64.vi
|
|
图 2.48
|
布尔与U8之间转换.vi
|
|
图 2.49
|
字符串与U8数组之间转换.vi
|
|
图 2.50 ~ 2.51
|
时间与数值的转换.vi
|
|
图 2.52
|
2.4
|
使用子VI参数默认值.vi
|
图 2.53
|
使用局部变量改变控制控件的值.vi
|
|
图 2.54
|
两个独立循环.vi
|
|
图 2.55
|
两个有依赖关系的循环.vi
|
|
图 2.56 ~ 2.60
|
控件的属性和方法.vi
|
|
图 2.61
|
2.5
|
字符串公式求值.vi
|
图 2.62 ~ 2.63
|
字符串至布尔数组.vi
|
|
图 2.64 ~ 2.65
|
程序运行时,改变控件标题.vi
|
|
图 2.66 ~ 2.67
|
禁用枚举中的某些项.vi
|
|
图 2.68 ~ 2.69
|
在字符串中显示多种字体.vi
|
第三章
章节或插图编号
|
子文件夹
|
对应示例
|
图 3.1
|
3.1
|
顺序执行.vi
|
图 3.2
|
并列执行.vi
|
|
图 3.5 ~ 3.7
|
层叠式顺序结构.vi
|
|
图 3.8
|
平铺式顺序结构.vi
|
|
图 3.9
|
测试应用程序1.vi
|
|
图 3.10
|
测试应用程序2.vi
|
|
图 3.11
|
测试应用程序3.vi
|
|
图 3.12
|
延时子VI.vi
|
|
图 3.13
|
测试应用程序4.vi
|
|
图 3.15
|
3.2
|
布尔条件结构.vi
|
图 3.16 ~ 3.17
|
错误处理条件结构.vi
|
|
图 3.18
|
数值条件结构.vi
|
|
图 3.19
|
数值比较.vi
|
|
图 3.20
|
改进数值比较.vi
|
|
图 3.21
|
多布尔输入条件结构.vi
|
|
图 3.22
|
条件结构隧道.vi
|
|
图 3.23
|
数值比较选择函数.vi
|
|
图 3.24 ~ 3.26
|
3.3
|
程序框图禁用结构.vi
|
图 3.27
|
3.4
|
条件禁用结构.vi
|
图 3.28
|
示例3.4.lvproj
|
|
图 3.29
|
条件禁用结构自定义符号.vi
|
|
图 3.30
|
3.5
|
循环结构.vi
|
图 3.31
|
循环隧道.vi
|
|
图 3.32
|
二维数组处理.vi
|
|
图 3.33 ~ 3.34
|
进度条.vi
|
|
图 3.35
|
相连的隧道.vi
|
|
图 3.36
|
移位寄存器.vi
|
|
图 3.37 ~ 3.38
|
相连的移位寄存器.vi
|
|
图 3.39
|
未初始化移位寄存器.vi
|
|
图 3.40
|
多个左侧移位寄存器.vi
|
|
图 3.41 ~ 3.43
|
反馈节点.vi
|
|
图 3.44
|
条件结束.vi
|
|
图 3.48
|
3.7
|
窗格.vi
|
图 3.49
|
程序停止.vi
|
|
图 3.50
|
电话号码控件.vi
|
|
图 3.51 ~ 3.53
|
加法事件循环.vi
|
|
图 3.54 ~ 3.55
|
事件处理界面.vi
|
|
图 3.56 ~ 3.57
|
事件处理子VI.vi
|
|
图 3.58 ~ 3.59
|
用户自定义事件.vi
|
|
图 3.60
|
3.8
|
动画界面.vi
(一个真实的动画程序:http://www.vihome.com.cn/bbs/viewthread.php?tid=8818)
|
章节 2.8.3
|
定时的精度.vi (定时的精度演示)
|
第四章
章节或插图编号
|
子文件夹
|
对应示例
|
图 4.1
|
4.1
|
极端错误处理.vi
|
图 4.3
|
标准错误处理.vi
|
|
图 4.4
|
可预期的错误.vi
|
|
图 4.5
|
自己创建错误信息.vi
|
|
图 4.6
|
自动错误处理.vi
|
|
图 4.8
|
简单错误处理.vi
|
|
图 4.9
|
断言无错误.vi
|
|
图 4.10
|
任一测试出错则停止.vi
|
|
图 4.11
|
异常不影响后续测试.vi
|
|
图 4.13
|
4.2
|
并行执行相同子VI.vi
|
图 4.14
|
总延时时间.vi
|
|
图 4.15
|
运行次数.vi
|
|
图 4.16
|
测试运行次数.vi
|
|
图 4.17
|
4.3
|
顺序测试.vi
|
图 4.18
|
定制测试顺序.vi
|
|
图 4.19
|
使用状态机的测试程序.vi
|
|
图 4.21
|
队列状态机.vi
|
|
图 4.23
|
Light.lvsc
|
|
图 4.25
|
4.4
|
全局变量.vi
测试全局变量.vi
|
图 4.26
|
全局变量竞争状态.vi
|
|
图 4.27 ~ 4.28
|
使用单进程共享变量.vi
|
|
图 4.29 ~ 4.30
|
功能全局变量.vi
|
|
图 4.31
|
基于反馈节点的功能全局变量.vi
|
|
图 4.32
|
使用功能全局变量.vi
|
|
图 4.34
|
4.5
|
一般界面程序的框图.vi
|
图 4.35
|
改进的界面程序.vi
|
|
图 4.36
|
初始化事件.vi
|
|
图 4.37 ~ 4.38
|
改进的界面程序.vi
|
|
图 4.39
|
单事件创建事件.vi
|
|
图 4.40
|
单用户自定义事件界面程序.vi
|
|
图 4.41
|
处理耗时分支.vi
|
|
图 4.43
|
4.6
|
变体加法.vi
|
图 4.44
|
使用变体加法.vi
|
|
图 4.45
|
LabVIEW自带的多态VI.vi
|
|
图 4.46 ~ 4.50
|
add polymorphic.vi
|
|
图 4.53
|
4.7
|
子VI显示方式.vi
|
图 4.58
|
4.8
|
Initialize Data.vi
|
图 4.59
|
Set Name.vi
|
|
图 4.60
|
Demo.vi
|
|
图 4.62
|
自定义引用句柄.ctl
|
|
图 4.62
|
(下载包:)
|
章节或插图编号
|
子文件夹
|
对应示例
|
图5.3
|
5.1
|
动态加载DLL.vi
|
图5.4
|
CLN节点线程.vi
|
|
图5.10 ~ 5.11
|
5.2
|
浏览网页.vi
|
图5.12 ~ 5.13
|
播放mp3.vi
|
|
图5.14
|
播放Flash动画.vi
|
|
章节5.2.3
|
Toolbar\Toolbar Demo.lvproj
|
|
图5.22
|
ActiveX文档.vi
|
|
图5.25
|
文本朗读.vi
|
|
图5.27
|
5.3
|
浏览网页(.NET).vi
|
图5.28
|
5.4
|
打开记事本.vi
|
第六章
章节或插图编号
|
子文件夹
|
对应示例
|
图6.4
|
6.2
|
动态改变界面.vi
|
图6.6 ~ 6.8
|
改变VI标题.vi
|
|
图6.9 ~ 6.10
|
从VI得到控件.vi
|
|
图6.11
|
设置界面修饰物的属性.vi
|
|
图6.12
|
得到通用属性.vi
|
|
图6.13 ~ 6.14
|
修改簇中的元素的属性.vi
|
|
图6.19
|
6.3
|
四种子VI调用节点.vi
|
图6.20
|
使用通过引用节点调用动态调用.vi
|
|
图6.21
|
使用通过运行VI方法动态调用.vi
动态调用/主VI.vi
|
|
图6.22
|
框架插件式程序.vi
|
|
图6.23
|
阶乘循环算法.vi
|
|
图6.24 ~ 6.25
|
递归计算阶乘.vi
|
|
图6.26 ~ 6.29
|
后台任务/后台任务.lvproj
|
|
图6.30
|
启动画面/Splash Screen.vi
|
|
图6.40
|
6.4
|
给所有的VI设置密码.vi
|
图6.41
|
6.5
|
远端VI.vi
|
图6.42
|
控制远端VI.vi
|
章节或插图编号
|
子文件夹
|
对应示例
|
图7.2
|
7.1
|
OneStep.vi
|
图7.3
|
SimpleModel.vi
|
|
图7.4
|
PipelineModel.vi
|
|
图7.5
|
QueueModel.vi
|
|
图7.10 ~ 7.11
|
7.2
|
声音采集.vi
|
图7.17
|
7.3
|
声音采集.vi
|
图7.18 ~ 7.19
|
7.4
|
时间坐标.vi
|
图7.20 ~ 7.21
|
波形属性.vi
|
|
图7.22
|
同一坐标轴.vi
|
|
图7.23
|
不同坐标轴.vi
|
|
图7.24 ~ 7.25
|
中断的曲线.vi
|
|
章节7.4.6
|
声卡示波器.vi
声卡信号发生器.vi
声卡信号发生器.vi
|
|
章节7.4.7
|
时频联合分析.vi
高级时频联合分析.vi
声卡时频联合分析.vi
|
章节或插图编号
|
子文件夹
|
对应示例
|
图8.1 ~ 8.2
|
8.1
|
Break VI.vi
|
图8.3
|
Set Caption.vi
|
|
图8.8
|
8.2
|
其它控件探针.vi
|
图8.9
|
条件探针.vi
|
|
图8.10
|
条件探针,队列.vi
|
|
图8.11 ~ 8.14
|
DBL Queue.vi
|
|
图8.15
|
8.3
|
Demo.vi
|
图8.16
|
目标程序.vi
|
|
图8.17
|
数据记录.vi
|
|
图8.18
|
8.4
|
Error 1. a X b.vi
|
图8.19
|
Error 2. for loop.vi
|
|
章节8.4.3
|
Error 3. Wile Loop.vi
|
|
图8.21
|
Error 4. Shift Register.vi
|
|
图8.22 ~ 8.24
|
Error 5. Cluster.vi
|
|
图8.25 ~ 8.26
|
Error 6. Sequence.vi
|
|
图8.27 ~ 8.28
|
运行5秒后,循环停止.vi
|
|
图8.29
|
信号量.vi
|
|
图8.33
|
8.6
|
低效率存文件.vi
|
图8.34
|
改进存文件.vi
|
|
图8.35
|
高效率存文件.vi
|
|
章节8.6.2
|
低效率显示波形.vi
高效率显示波形.vi
|
|
图8.36
|
低效率创建树.vi
|
|
图8.37
|
高效率创建树.vi
|
|
图8.38
|
设置曲线名称颜色.vi
|
|
图8.39
|
低效率循环运算.vi
|
|
图8.40
|
高效率循环运算.vi
|
章节或插图编号
|
子文件夹
|
对应示例
|
章节9.1.2
|
9.1
|
演示项目.lvproj
|
章节9.1.4
|
项目A/项目A.lvproj
|
|
章节9.3
|
9.3
|
发布项目.lvproj
|
图9.17 ~ 9.21
|
主界面.vi
|
第十章
章节或插图编号
|
子文件夹
|
对应示例
|
章节10.1
|
10.1
|
通道控件.vi
透明控件.vi
|
章节10.2.1.1
|
10.2
|
按钮界面1.vi
按钮界面2.vi
按钮界面3.vi
|
章节10.2.2
|
退出时询问.vi
|
|
章节10.2.3
章节10.2.4
|
演示菜单.vi
|
|
章节10.2.5
|
界面控件与键盘关联.vi
|
|
章节10.2.6
|
使用简单自定义控件的VI.vi
自定义简单控件.ctl
使用圆形自定义控件的VI.vi
自定义圆形控件.ctl
|
|
章节10.3.1
章节10.3.2
章节10.3.3
|
10.3/ Chess Interface
|
Step 1.vi ~ Step 8.vi
|
图10.47
|
Get All Chess.vi
|
|
图10.50
|
irregular shape background.vi
|
|
图10.52
|
chess without border.ctl
|
|
图10.53
|
chess with shade.ctl
|
|
图10.54 ~ 10.55
|
Initialize.vi
|
|
图10.56 ~ 10.57
|
Pict Ring Chess.ctl
|
|
图10.58 ~ 10.59
|
Step 9.vi
|
|
章节10.3.6
|
pic 1.vi
|
|
章节10.3.7.1
|
10.3
|
半透明界面.vi
|
章节10.3.7.2
|
不规则窗口.vi
|
|
章节10.3.8
|
动画窗口.vi
|
章节或插图编号
|
子文件夹
|
对应示例
|
章节11.1.1
|
11.1
|
最大公约数.vi
|
图11.3
|
杂乱的条件结构.vi
|
|
图11.4
|
整洁的条件结构.vi
|
|
图11.7
|
11.2
|
内存泄漏.vi
|
图11.15
|
使用移位寄存器优化内存使用.vi
|
|
图11.16
|
使用元素同址操作结构.vi
|
|
图11.17
|
Array.vi
|
|
图11.23
|
输入参数接线端.vi
|
|
图11.24
|
输出参数接线端.vi
|
|
图11.25
|
使用搜索(源数据仅传入).vi
搜索(源数据仅传入).vi
|
|
图11.26
|
使用搜索(源数据传入传出).vi
搜索(源数据传入传出).vi
|
|
图11.27
|
11.3
|
单循环.vi
|
图11.28
|
双循环.vi
|
|
图11.32
|
时间顺序结构.vi
|
|
章节11.3.7
|
Thread Swiching.vi
|
|
图11.46
|
11.4
|
Calling My Function.vi
|
图11.47 ~ 11.48
|
My Function.vi
|
|
章节11.4.6.2
|
美化簇常量
|
章节或插图编号
|
子文件夹
|
对应示例
|
章节12.1.3
|
12.1
|
主界面.vi
子界面.vi
|
章节12.2.1
|
12.2
|
空白XControl
|
章节12.2.2 ~章节12.2.12
|
Othello XControl
|
|
章节12.2.13
|
Twinkle Button
High Light Button
|
|
章节12.2.14
|
Naughty Button
|
章节或插图编号
|
子文件夹
|
对应示例
|
章节13.2
|
13.2
|
LvOOP Demo.lvproj
|
章节13.3.1
|
13.4
|
Data File
|
章节13.3.2
|
不同数据类型
|
|
章节13.3.3
|
递归算法
|
|
章节13.3.4
|
框架插件结构
|
|
章节13.3.5
|
数据容器
|