出版时间:2013-1 出版社:王建新、 隋美丽 化学工业出版社 (2013-01出版)
前言
虚拟仪器技术就其实质而言,是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用,正是基于此,NationalInstruments公司提出了“软件就是仪器”的概念,将虚拟仪器开发工具上升到了仪器设备的高度。LabWindows/CVI是经过长期工程实践验证的ANSIC集成开发环境,为工程师和科学家提供用于创建测试和控制应用的全套编程工具,兼有C语言的易用性、复用性以及丰富专业的函数库,适用于仪器控制、数据采集、分析和用户界面开发。大部分使用LabWindows/CVI的程序开发人员都是用它作为测控程序的开发工具,然而,作为一种通用的开发工具或者称开发语言,它能做的事情不止于此,如仪器驱动开发、简单游戏开发、图形图像开发等,在这些方面,本书列举了大量的开发实例可供读者参考。对于一般的用户桌面程序设计而言,无论使用何种语言,何种开发工具都能比较容易实现,但在实现时,每种开发环境却有各自的优点与缺点。对于工程师组建一个系统工程,如上下位机系统,下位机系统的固件开发,上位机的驱动和接口程序开发等,如果使用相同的开发语言或许是一种不错的选择,而C语言就是首选,特别适合于电子、通信、测试类系统集成开发,笔者在后续的书中将会重点提到。本书主要以LabWindows/CVI9.0集成开发环境为基础展开论述,包括了基本控件使用、基本算法设计、项目集成与优化、场景与游戏设计、信息读取、动态效果设计、基本图像处理、图像格式转换与显示、绘图与打印和Windows控件使用十个方面,从各种角度、不同层次系统阐述了集成开发环境、编译系统工作原理、程序设计思路、语言使用技巧,提供了大量实例,使读者更加深入地理解程序设计的思路与方法,提高实际应用能力。本书的例程在WindowsXP系统LabWindows/CVI9.0集成开发环境下全部调试通过,也可以运行在LabWindows/CVI2009/2010/2012beta最新开发环境中。本书由王建新、隋美丽撰写,高献伟、李莉、靳济方、赵成、张磊、李秀滢、陈汉林、段晓毅、武玉华、董秀则、史国振、李雪梅、冼立勤、耿彦明、曾基石、周玉坤、宿淑春、王丽丰、张克军、姚栋、路而红、霍刚、王爱华、王永会、杨世凤、郭雅萌、张嘏伟、童官军、赵继民、刘英等同志为本书编写提供了帮助,在此一并感谢。由于本书涉及面比较宽,加上编者水平有限,时间仓促,书中难免会有不妥之处,希望广大读者批评指正。
内容概要
《LabWindows/CVI虚拟仪器设计技术(附光盘)》从工程应用出发,对LabWindows/CVI实际开发中遇到的问题进行了深入浅出的分析,使读者能够快速熟悉编程原理、编译机
制,熟练掌握各种应用开发技巧,达到事半功倍的效果。《LabWindows/CVI虚拟仪器设计技术(附光盘)》从基本控件使用、基本算法设计、项目集成与优化、场景与游戏设计、信息读取、动态效果设计、基本图像处理、图像格式转换与显示、绘图与打印和Windows控件使用十个方面进行了详细的分析与说明。《LabWindows/CVI虚拟仪器设计技术(附光盘)》中提供了大量不同层次的实例,并附详细注释说明,使读者能更加深入地理解程序设计的方法,提高实际应用能力。《LabWindows/CVI虚拟仪器设计技术(附光盘)》可作为工程技术人员和科技工作者学习设计虚拟仪器的自学用书,也适合作为大专院校电子、通信、自动化、机械、测控技术与仪器、测试计量技术、计算机、信息技术等专业的教学用书。
作者简介
王建新,北京电子科技学院讲师,“十一五”国家课题“我国高校应用型人才培养模式研究”子课题“应用型高技术人才培养模式研究”课题负责人; 北京电子科技学院重点实验室项目“中文文本信息隐藏技术”课题负责人;国家密码管理局“可动态重构密码芯片研究”主要参与人。
书籍目录
1基本控件使用1 1.1回调函数1 1.1.1回调函数设计方法1 1.1.2回调函数程序设计2 1.2三态开关11 1.2.1三态开关设计方法11 1.2.2三态开关程序设计12 1.3Ring箭头设置15 1.3.1Ring箭头设计方法15 1.3.2Ring箭头程序设计15 1.4Tab控件20 1.4.1Tab控件设计方法20 1.4.2Tab控件程序设计22 2基本算法设计28 2.1进制转换28 2.1.1进制转换设计方法28 2.1.2进制转换程序设计29 2.2ASCII码查询器34 2.2.1ASCII码查询器设计方法34 2.2.2ASCII码查询器程序设计34 2.3软件注册39 2.3.1软件注册设计方法39 2.3.2软件注册程序设计40 3项目集成与优化46 3.1多个项目集成46 3.1.1多个项目集成设计方法46 3.1.2工程1程序设计49 3.1.3工程2程序设计51 3.1.4工程3程序设计54 3.2外部编译器支持57 3.2.1编译系统57 3.2.2ANSIC编译器58 3.3使用LabWindows/CVI自身编译器59 3.3.1UIR文件独立存在59 3.3.2UIR文件包含到EXE中63 3.3.3UIR文件转换为C文件65 3.4使用外部编译器84 3.4.1命令行编译器使用84 3.4.2外部编译器使用说明86 3.4.3 外部编译器支持选项91 3.4.4 外部编译器设置95 3.4.5 外部集成开发环境设置99 3.4.6 使用MicrosoftVisualC++6.0外部编译器举例101 3.4.7 使用MicrosoftVisualC++2008外部编译器举例105 3.5 使用外部集成开发环境107 3.5.1 LabWindows/CVI复杂程序107 3.5.2 在MicrosoftVisualC++6.0集成开发环境中编译110 3.5.3 在MicrosoftVisualC++2008集成开发环境中编译113 4场景与游戏设计115 4.1移动控件115 4.1.1 移动控件设计方法115 4.1.2 移动控件程序设计115 4.2 时钟制作121 4.2.1 时钟制作设计方法121 4.2.2 时钟制作程序设计122 4.3 下雪场景128 4.3.1 下雪场景设计方法128 4.3.2 下雪场景程序设计128 4.4 打字练习133 4.4.1 打字练习设计方法133 4.4.2 打字练习程序设计134 4.5 打蜜蜂141 4.5.1 打蜜蜂设计方法141 4.5.2 打蜜蜂程序设计143 5信息读取154 5.1 获得文件属性154 5.1.1 获得文件属性设计方法154 5.1.2 获得文件属性程序设计154 5.2 读取文件内容163 5.2.1 读取文件内容设计方法163 5.2.2 读取文件内容程序设计164 5.3 获得计算机相关信息171 5.3.1 获得计算机相关信息设计方法171 5.3.2 获得计算机相关信息程序设计172 5.4 剪贴板操作179 5.4.1 剪贴板操作设计方法179 5.4.2 剪贴板操作程序设计179 6动态效果设计187 6.1 窗口背景平铺187 6.1.1 窗口背景平铺设计方法187 6.1.2 窗口背景平铺程序设计187 6.2 动态创建控件190 6.2.1 动态创建控件设计方法190 6.2.2 动态创建控件程序设计190 6.3 动感的图像按钮193 6.3.1 动感的图像按钮设计方法193 6.3.2 动感的图像按钮程序设计194 6.4 动画进度条198 6.4.1 动画进度条设计方法198 6.4.2 动画进度条程序设计198 6.5 颜色渐变进度条205 6.5.1 颜色渐变进度条设计方法205 6.5.2 颜色渐变进度条程序设计205 6.6 文本颜色控制210 6.6.1 文本颜色控制设计方法210 6.6.2 文本颜色控制程序设计210 6.7 控件内容拖拽214 6.7.1 控件内容拖拽设计方法214 6.7.2 控件内容拖拽程序设计215 7基本图像处理222 7.1灰度图像222 7.1.1灰度图像设计方法222 7.1.2灰度图像程序设计222 7.2灰度图像快速算法227 7.2.1灰度图像快速算法设计方法227 7.2.2 灰度图像快速算法程序设计228 7.3 局部图像放大231 7.3.1 局部图像放大设计方法231 7.3.2 局部图像放大程序设计232 7.4 图像裁剪235 7.4.1 图像裁剪设计方法235 7.4.2 图像裁剪程序设计236 7.5 色彩渐变效果244 7.5.1 色彩渐变效果设计方法244 7.5.2 色彩渐变效果程序设计244 7.6图像运算效果249 7.6.1图像运算效果设计方法249 7.6.2图像运算效果程序设计249 8图像格式转换与显示254 8.1图像格式转换254 8.1.1图像格式转换设计方法254 8.1.2图像格式转换程序设计255 8.2GIF图像显示259 8.2.1GIF图像显示设计方法259 8.2.2GIF图像显示程序设计260 8.3图像压缩270 8.3.1图像压缩设计方法270 8.3.2图像压缩程序设计271 9绘图与打印278 9.1鼠标绘图278 9.1.1鼠标绘图设计方法278 9.1.2鼠标绘图程序设计278 9.2打印操作282 9.2.1打印操作设计方法282 9.2.2打印操作程序设计282 10Windows控件使用297 10.1Animation控件297 10.1.1Animation控件使用方法297 10.1.2Animation控件程序设计297 10.2UpDown控件300 10.2.1UpDown控件使用方法300 10.2.2UpDown控件程序设计301 10.3MonthView控件305 10.3.1MonthView控件使用方法305 10.3.2MonthView控件程序设计306 10.4FlatScrollBar控件312 10.4.1FlatScrollBar控件使用方法312 10.4.2FlatScrollBar控件程序设计312 10.5StatusBar控件320 10.5.1StatusBar控件使用方法320 10.5.2StatusBar控件程序设计321 10.6CommonDialog控件326 10.6.1CommonDialog控件使用方法326 10.6.2CommonDialog控件程序设计326 参考文献338
章节摘录
版权页: 插图: 制订软件项目计划的目的在于建立并维护软件项目各项活动的计划,用来协调软件项目中所有计划,指导项目组对项目进行执行和监控。软件项目有其特殊性,不确定因素多,工作量估计困难,项目初期难于制订一个科学、合理的项目计划。要重视项目计划的层次性,要完善制订高级计划和低级计划。高级计划,是项目的早期计划,主要是进行项目的阶段划分,是粗粒度的;开发人员的个人计划是低级计划,由开发人员根据自己的任务自行制订,要把任务细化到人。 (2)采用标准软件工程设计方法 一般来说,软件工程的目标是在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。 ①可修改性(modifiability)允许对系统进行修改而不增加原有系统的复杂性,并且要支持软件的调试与维护。 ②有效性(efficiency)最大限度地利用计算机的时间资源和空间资源。各种计算机软件无不将系统的时/空开销作为衡量软件质量的一项重要技术指标。在很多应用中,追求时间有效性和空间有效性方面会产生矛盾,这时不得不牺牲时间效率换取空间有效性或牺牲空间效率换取时间有效性,时/空折中效应是经常出现的。软件设计人员应充分利用折中的概念,在具体的应用环境中实现用户的需求和设计目标。 ③可靠性(reliability)能防止因概念、设计和结构等方面的不完善造成的软件系统崩溃,具有挽回因操作不当造成软件系统失效的能力。对于实时测控系统,可靠性是一个非常重要的指标。软件测试系统要实时地控制一个物理过程,如果可靠性得不到保证,一旦出现问题就可能造成极大的后果与损失。因此在软件开发、编码和测试过程中,必须将可靠性放在重要地位。 ④可理解性(understandability)系统具有清晰的结构,能直观反映用户需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。 ⑤可维护性(maintainability)软件产品交付用户使用后,能够对它进行修改,以便改正隐藏的错误,改进性能和其他属性,使软件产品适应环境的变化。由于软件是逻辑产品,只要用户需要,它可以无限期的使用下去,因此软件维护是不可避免的。软件维护费用在软件开发费用中占有很大的比重。可维护性是软件工程中一项十分重要的目标。软件的可理解性和可修改性有利于软件的可维护性。 ⑥可重用性(reusability)概念或功能相对独立的一个或一组相关模块定义为一个软部件。软部件可以在多种场合应用的程度称为软部件的可重用性。可重用的软部件有的可以不加修改直接使用,有的需要修改后再用。可重用软部件应具有清晰的结构和注解,应具有正确的编码和较低的时/空开销。各种可重用软部件还可以按照某种规则存放在软部件库中,供软件设计人员使用。可重用性有助于提高软件产品的质量和开发效率,降低软件的开发和维护费用。
编辑推荐
《LabWindows/CVI虚拟仪器设计技术》是国内LabWindows/CVI最具影响力图书作者又一力作;汇集作者多年潜心研究案例,带领读者一步一步理解编程思想,解析编程方法;如果您看完了《LabWindows/CVI虚拟仪器测试技术及工程应用》,《LabWindows/CVI虚拟仪器设计技术》引导您继续探索LabWindows/CVI,您将获得更加实用的案例和分析。
图书封面
评论、评分、阅读与下载
LabWindows/CVI虚拟仪器设计技术 PDF格式下载