VB软件开发讲义ver13.docx
《VB软件开发讲义ver13.docx》由会员分享,可在线阅读,更多相关《VB软件开发讲义ver13.docx(22页珍藏版)》请在冰豆网上搜索。
VB软件开发讲义ver13
前言
1计算机的主要应用
1.1科学计算及数字模拟
1.2信息管理及数据库
1.3网络及应用
1.4CAD,CAM
1.5艺术娱乐
1.5.1三维模拟
1.5.2游戏
1.5.3图形图像处理
1.6其它
1.6.1办公,文字处理
1.6.2自动控制
2本课程的结构及内容
2.1课程意义(为什么学?
有什么用)
通过本课程的学习,熟悉VisualBasic程序设计,了解应用软件开发的基本技术,进行软件开发实践。
为将来完成论文、工作和进行研究提供有力的工具。
练习程序开发的技巧,加强使用程序实现实际需求的能力,对软件开发过程及控制有一定的了解和实践。
提高计算机应用的水平,从使用软件到更好地应用软件和开发软件,也为更好地使用其它人开发的软件提供帮助。
了解软件开发,实践软件开发,协助学习、研究和生产。
2.2软件方面学习内容(学什么?
开发还是应用)
学习的内容应该包括软件使用的学习及软件开发的学习。
两者相辅相承。
本课程的主要内容是软件开发的学习。
VB的学习及使用,软件工程及软件开发规范,实用开发技术(计算技术,图形开发技术,数据库开发技术,API开发技术,多媒体开发技术,其它开发技术);软件综合开发(数据计算及处理,辅助设计软件开发,模拟软件开发)。
其它相关软件的简单了解。
2.3WHYVB
VB的特点和优点,与其它语言的比较。
实践证明的学习效果。
简单易学,合适于非计算机专业人员的使用。
2.4定位(学到什么程度)
学习VB的程序开发,对软件开发有一些了解。
能在学习、研究及工作中实际应用。
为进一步提高打下基础。
3课程特点:
3.1实用性强:
在研究生的研究过程中有实际的用途。
计算机是工具,在化工等其它专业和其它方面都有很大的作用。
3.2实践性强:
必须通过实践才能更好地掌握,关于习题集的说明。
3.3涉及面较广,内容较多,参考书多。
3.4主要偏向程序设计及软件开发技巧,涉及一定深度的专业知识,涉及一定的数学计算问题。
4关于学习(如何学?
)
要有信心:
相信非计算机专业也能够学好计算机。
计算机只是一种工具。
而且在涉及专业的程序开发方面,专业知识比计算机知识更加重要。
学习的方法:
需要多练习、多想、多问、多实践、多参考资料。
根据自己的实际情况和需求学习,培养自学的能力。
逐步渐进的方法。
(参考英语学习的方法)。
需要开动自己的创造力。
本课程的学习方法(习题的完成及计分)。
对应的基础:
以稍有一些面向过程语言编程
5课程学习内容结构
5.1结构
基本知识
BASIC及VB基本编程知识
软件开发专题
软件开发高级专题
5.2组织方法
参考英语的学习方法,从小而全的内容开始。
按需学习,逐步渐进,使用习题引导学习。
尽快进入编程学习实践阶段。
5.3与其它课程的关系
与《程序设计》《数值分析》《化工应用数学》的关系。
与MATLAB、ORIGIN等应用软件的关系。
5.4教材及参考书
VB相关的都可以。
习题集要求人手一本。
第0部分:
基础知识
1VisualBASIC基本知识
1.1历史
BASIC的历史和发展(BASIC80,QUICKBASIC,TRUEBASIC,VisualBasic):
1963年Beginner’sAll-PurposeSymbolicInstructionCode(初学者的通用符号指令代码)
1.2VB的结构:
VB=BASIC扩展语法+可视化编程(GUIGraphicUserInterface),是VisualStudio之中一种开发语言。
另外是可视化的界面。
1.3VB的特点:
学习较简单,开发速度快,界面友好,功能强大。
适合于非计算机专业使用。
2软件开发
2.1定义:
广义说指人们编制的程序;狭义上指能完成一定的功能的程序,特指商业性、规模较大的程序或程序集。
2.2软件开发是一个工程过程
需要进行经济核算。
也有一套开发的规范。
需要进行管理和控制。
2.3软件开发的工作内容:
问题的分析、设计、开发、调试及发行。
3学习软件开发的“困难”
3.1入门难
开始进行软件设计时比较困难,因为开始有许多的概念和知识需要掌握。
3.2开发技术难
对于一个特定的语言,如何用它来完成所需要的功能。
需要学习语言的一些细节和特点及一些限制。
需要系统了解内容,但实际中以用到的为主。
3.3算法难
使用任何一种高级语言解决一个问题时,都难于解决的问题。
3.3.1流程(计算机算法):
如排序等。
3.3.2专业算法
涉及专业知识的内容。
如活度计算等。
3.4维护修改难
代码不规范,可能使得维护、修改、功能扩展都很困难。
3.5规模大系统复杂难
量大,关系复杂,难度增加。
第一部分:
VB基本开发
这一部分的目的是对BASIC及VB做简单的介绍,对使用VB开发软件有一个了解。
需要达到的程度是:
VB集成界面简单使用,简单控件使用(LABEL,COMMANDBUTTON,TEXTBOX),简单函数的使用(MSGBOX),变量基本使用,基本语句(FOR,IF)基本算法。
编译的概念。
1BASIC基本知识
1.1变量
1.1.1变量的概念
1.1.2变量命名规则
字母、下划线、数字。
数字不能开头。
1.1.3变量类型
数字型(byte,integer,long,single,double),字符串型,逻辑型,日期时间型等
1.2基本语句
1.2.1LET:
赋值语句
可以省略,使用最多的语句,有计算的功能
例子:
a=ba=10*(1+5)a=a+1
a+1=10错误
1.2.2IFTHENELSE:
条件语句
单行结构及多行结构ENDIF
ELSEIF,
判断条件及逻辑运算符:
OR,AND,NOT
判断的嵌套。
例子:
判断两个数的大小,
例子:
判断三个数中的最大数(使用逻辑运算符)
例子:
闰年的判断(条件的嵌套)
1.2.3FORTOSTEPNEXT循环语句
最合适于事先知道次数的循环
1.2.4DO----LOOP循环
计算e^x的方法(习题19)
1.3计算符及计算次序
1.3.1简单计算
+-*/mod^\,
1.3.2括号的使用
1.3.3计算次序
1.4基本函数的使用
1.4.1数学函数
Abs,Atn,Cos,Exp,Fix,Int,Log,Rnd,Sgn,Sin,Sqr,Tan
2VB基本使用
2.1VB特点
面向对象的可视化设计工具
事件驱动:
非过程驱动。
用户控制发生
集成开发环境
结构化语言
数据库连接
动态数据交换
完善的联机帮助。
2.2环境,安装,启动
机器要求:
586以上,操作系统:
Windows98,Windows2000,WindowsMe,WindowsXP。
2.3面向对象的概念
面向对象与面向过程的不同(求和的例子,顺序执行及非顺序执行事件驱动)。
属性、事件、方法。
2.4VB程序软件结构
一个工程对应一个程序。
包括窗体,模块,类等
2.5可视化编程
2.5.1可视化的概念
界面设计+属性设计+代码+运行调试+保存文件
2.5.2基本控件的使用
2.5.2.1标签(LABEL)
2.5.2.2文本框(TEXTBOX)
2.5.2.3按钮(COMMANDBUTTON)
2.6简单程序的开发
见“程序开发的八个步骤”
以一个小程序为例子,学习软件开发的整个过程。
2.6.1运行VB及工程的建立
2.6.2集成环境IDE的使用
2.6.3界面设计
2.6.4事件的联系及使用
2.6.5程序设计
2.6.6运行和调试
2.6.7工程的保存
2.6.8编译为EXE文件
3容易范的错误
3.1增加工程
3.2NAME与事件或属性引用中不一致。
3.3
第二部分:
软件开发专题
1工程建立
1.1工程的概念及包含的文件类型
2集成界面
2.1VB开发集成环境
2.1.1环境设置
要求变量命名,字体,缩格数,运行前保存,
2.1.2菜单的说明及使用
书签的使用
2.1.3工具栏的使用
编辑,标准,窗体编辑器,调试
2.1.4代码视图及控件视图
2.1.5各主要窗口的意义及使用说明
2.1.5.1立即窗口
可以进行立即的计算。
说明使用的方法。
2.1.5.2跟踪窗口
调试部分说明。
2.1.5.3工程管理器
2.1.5.4属性窗口
2.1.5.5工具箱
2.1.6快捷键的使用
2.2MSDN的深入使用
如何在帮助中查询,跳转等。
3控件及可视化设计
3.1基本控件使用
3.1.1控件的用途
有如下几种功能:
有一些控件是只有一种功能,但比较多的控件都同时具有几种功能。
3.1.1.1输出(显示,图形,动画)
3.1.1.2输入(文本,选择项)
TEXTBOX,CHECKBOX
3.1.1.3事件产生器(生成事件)
如TIMER,COMMANDBUTTON等。
3.1.1.4其它
提供图形和连接等。
3.1.2属性说明
运行时属性及设计时属性。
各种类型。
3.1.3通用的属性
Name:
控件的唯一标识。
Caption(与NAME)不同
Visiable
Enable,
TabOrder:
焦点及控制
Font,
top,left,width,height:
坐标系,
COLOR:
BACK,FORE,FILL
STYLE
3.1.4通用的事件
CLICK
DBLCLICK
CHANGE
GETFOCUS,LOSTFOCUS
3.1.5常用控件
3.1.5.1LABEL
透明,自动大小,
3.1.5.2TEXTBOX
PASSWORD,多行,滚动,SELSTART。
。
KEYPRESS
3.1.5.3COMMANDBUTTON
下划字母(&T).,图形化
3.1.5.4CHECKBOX
3.1.5.5OPTIONBOX
3.1.5.6LISTBOX
STYLE类型(是否带检查框)。
3.1.5.7COMBOBOX
STYLE类型,
3.1.5.8滚动条
最大,最小,变动值
3.1.5.9FRAME
可以将相关联的控件放在一起,影响OPTIONBOX的分组。
3.1.5.10TIMER定时器
用于生成定时发生的事件。
3.1.6控件数组
使用及注意
特点:
统一的事件处理程序。
3.1.7控件的Z坐标(层次)
显示的前后次序,及调整
轻量级控件不能显示在重量级控件前。
3.2窗体的属性、事件的使用。
属性BorderStyle.WindewState,MaxButton,MinButton.
方法:
SHOW,HIDE,UNLOAD显示、隐藏和关闭
事件:
LOAD,UNLOAD,RESIZE。
3.3高级控件及控件高级开发使用
3.3.1鼠标特殊事件的使用
MOUSEMOVE,MOUSEDOWN
(例子,画点,画线)。
3.3.2键盘特殊事件的使用
Keypress,KeyDown,KeyUp
3.3.3图形控件
SHAPE和LINE
3.3.4高级控件
3.3.4.1COMMONDIALOG通用对话框
用于打开文件、保存文件、选择颜色、选择字体。
3.3.4.2其它控件的添加方法
3.3.4.3MSFlexGRID表格
3.3.4.4RichEdit编辑框
3.3.4.5TOOLBAR工具栏
3.3.4.6STATUBAR状态栏
3.4菜单的设计和使用
固定菜单及弹出式菜单
菜单的设计:
名称,标题,可见,CHECKBOX,如何显示分隔条。
菜单的事件使用方法
4事件的使用
4.1鼠标键盘事件的使用
4.2重要事件的使用
LOAD,CLICK,CHANGE
5程序设计
5.1其它语句、算法及计算
5.1.1语句
SELECTCASE
EXIT
DOLOOP的深入说明
GOTO,需要谨慎使用的语句
5.1.2嵌套的问题
5.1.3算法
搜索算法
排序算法
5.2字符串的使用
5.2.1字符串常量的赋值
使用双引号作为分隔符,双引号的表示。
5.2.2字符串的连接
两个字符串的连接(+)
字符串与非字符串内容的连接(&),输出时常用。
5.2.3字符串函数及使用
left,right,mid,instr,replace,split
练习:
交换一个字符串空格分隔的左右部分,如“abcd”->”cdab”
5.3内部函数的使用
要求:
充分使用内部函数,充分了解函数的用途及函数的特点。
5.3.1类型转换
VAL,STR,CINT,CSNG,CDBL,CSTR
5.3.2格式函数
FORMAT格式函数,使用方法(例,年月日的生成)。
5.3.3输入函数
INPUTBOX函数
5.3.4输出函数
MSGBOX:
研究参数的意义
5.3.5其它
字符串函数在字符串部分详述
日期时间函数在日期时间中详述
5.3.6日期和时间
5.3.6.1日期和时间函数
date,time,day,hour,minute,second
DATEDIFF,DATEADD,dateserial,timeSerial
重点:
分解和组合日期,
练习:
如何求本月的最后一天。
5.3.6.2日期和时间常数的定义
表示的方法,使用#作为分隔符
5.4常量、变量及常数
5.4.1变量类型详解
常用类型复习
自定义类型(结构变量)
变体变量:
特点,优点及缺点
5.4.2变量的使用范围
全局变量、窗体级变量及模块级变量:
不同范围的使用,大范围的优点及缺点。
全局变量必须放在模块中。
5.4.3结构变量及使用
结构的定义TYPE…ENDTYPE
结构变量的定义
结构变量的使用
5.4.4常数及枚举
常数的意义,为什么使用常数
常量的定义:
常量的范围,常数的命名
系统常数:
枚举的定义及使用
5.5数组
5.5.1数组的概念
5.5.2类型、维数
数据类型,静态数组及动态数组,变量数组及控件数组,一维和多维数组。
5.5.3数组的定义及使用
5.6模块化的开发技术(函数及子程序)过程
5.6.1函数及子程序的意义
用于重复使用的内容,修改时简单,也容易更新(如改变算法)。
例如:
计算粘度、温度变换(摄氏到华氏),求解、求累加和,求较小数。
子程序例子:
显示信息,进行操作。
5.6.2函数及子程序的区别
返回值与不返回值。
事件处理程序实际上就是一个子程序。
5.6.3定义及使用
SUB。
。
。
ENDSUB,Function…ENDFunction
5.6.4变元(参数)
可以有0个一个或多个变元
可选变元,OPTIONAL,缺省值。
使用方法,调用时的使用。
如何在过程中使用传递过来的数据。
如何调用,注意个数及数据类型。
调用子程序时使用CALL或不使用的方法。
调用函数返回值或不返回值,直接参加计算或使用CALL或不使用CALL。
形参和实参,可变参数,对象参数
(求累加和为例)参数传递的不同,结果不同(传一个数,传两个数,传三个数)参数设计问题。
数组的传递
5.6.5传递的方法BYVAL,BYREF。
引用传递BYREF,(类似于C中的指针传递),可以改变值。
按数值传递BYVAL,不改变值。
5.6.6过程或函数的使用范围
全局函数及全局子程序,定义的位置,模块中定义的全局函数。
5.6.7TEMP
定义的形式
形参和实参,可变参数,对象参数
参数设计的技巧。
子程序:
显示及计算,不能返回值。
数组的传递
过程或函数的使用范围:
全局、局部,及模块中。
函数及子程序的退出(EXITSUB,EXITFUNCTION)
函数的返回数据类型,如何返回数据。
5.7搜索算法的使用
5.7.1概述
算法:
用于解决问题的计算步骤
5.7.2常用算法
穷举
探索算法
5.8软件开发中的计算技术
5.8.1概要
插值:
拟合:
方程求解:
方程求极值
解线性方程组
5.8.2内容
5.8.2.1插值
线性插值和二次插值
5.8.2.2矩阵计算,
6运行调试
6.1程序调试技巧
6.1.1错误的分类
语法错误:
红色字。
运行错误:
1类:
无对象等,变量未定义(编译无法通过)。
2类:
除0溢出,文件不存在(编译可以通过)
结果错误:
给出错误的不合理的结果。
(逻辑错误或计算错误)。
6.1.2调试程序的意义
发现错误,查找定位错误,能够处理运行错误和结果错误。
跟踪程序的运行次序(逻辑错误)
追踪变量值的改变。
(计算错误)
6.1.3调试的相关概念
三种状态:
设计,运行和中断
必须停止程序后再修改界面。
在设计状态可以修改代码,在中断状态能修改部分代码。
6.1.4调试方法
6.1.4.1中断
将程序中断,程序高亮显示未运行的行。
中断状态下可以修改一些语句。
1,按工具条上中断按钮
2,CTRL-BREAK
3,设置断点。
4,监视窗口的值改变及值非真。
6.1.4.2跟踪运行的控制
当前行的表示
F5,F8,Shift-F8,Shift-Ctrl-F8,Ctrl-F8
鼠标的拖动。
6.1.4.3产生错误时的处理方法
停止或中断的区别。
6.1.4.4查询跟踪变量值
MOUSEOVER
立即窗口
WATCH窗口
DEBUG.PRINT(跟踪)
其它:
输出到文件等(跟踪)
7工程保存
7.1工程的管理及使用
7.1.1基本操作
工程中包含的文件类型及扩展名
包含文件的添加、移除。
创建,打开和保存工程
工程的保存目录,如何将工程保存在一个目录
工程的移动,如果所有文件都在一个目录下就好办。
工程的属性:
程序版权及版本号,启动窗体。
工程组的问题
8EXE文件生成
8.1EXE文件的生成及注意
如何生成,
如何创建安装文件
需要保证编译没有错误。
发行时需要包含的文件
EXE文件所在的目录(APP.PATH)
9开发技术
9.1软件开发中的网络技术
9.1.1概要
了解网络的使用,在化工中的应用等。
9.1.2内容
了解WEB及网络软件的开发
9.1.3技术
如何设计服务器,如何建立化工的网页。
第三部分:
软件开发综合及高级内容
1软件开发规范及软件工程
1.1软件工程简介
对于软件开发过程的了解
需求分析,概要设计、详细设计、编码、测试、发行。
1.2软件开发规范
开发规范的重要性和必要性
VB开发规范的学习(见《VB开发规范》的文件)。
1.3错误处理
错误的分类:
语法、编译、运行、逻辑
错误处理的必要性:
1错误会引起程序的“崩溃”,2不可能考虑到所有的意外情况。
ONERROR语句及使用。
2数据处理
2.1数据的输入和输出(文件操作)数据处理
2.1.1文本文件的输入输出
文本文件特点(通用),使用方法
打开及写入文件OPEN,INPUT,LINEINPUT,CLOSE等的使用
输出文件的演示
输入文件的演示
2.1.2文件格式的导入及导出
与ORIGIN及MATLAB的文件接口
与EXCEL等的接口。
如何导出,如何导入。
用于数据处理整理及概率分析等。
2.2数据库开发简介
2.2.1概要
了解数据库的用途及使用方法
2.2.2内容
数据库概念的简介:
历史,发展,主要数据库。
2.2.3技术
如何连接数据库。
3图形多媒体
3.1多媒体使用及动画开发技术
主要了解如何在程序中使用多媒体的资料及如何自己制作动画。
3.1.1意义
加强界面的效果。
分为使用现成的媒体及自已生成动画
3.1.2声音播放的实现
MMC控件的使用,
3.1.3视频播放的实现
MediaPlayer控件的使用。
3.1.4动画的实现
定时器的使用,
位置的改变,图片的改变(IMAGELIST的使用)。
3.2图形开发技术
3.2.1使用图形的意义
曲线绘制,动画显示,流程图等。
3.2.2基本概念
3.2.2.1使用图形的分类
使用图片及绘制的区别
3.2.2.2矢量图及点阵图
3.2.2.3颜色的定义及使用
颜色的定义,RGB函数的使用
3.2.3图形实现所用的控件
3.2.3.1IMAGE
拉伸,图形
3.2.3.2PICTUREBOX
方法:
SCALE,CLS,PSET,LINE,CIRCLE,PRINT
属性:
DRAWWIDTH,DRAWSTYLE,FORECOLOR,BACKCOLOR,FILLCOLOR。
3.2.3.3IMAGELIST
用于为其它控件提供图形。
使用方法及程序中使用方法
3.2.4其它相关图形控件
Line,Shape
其它控件上使用图形的方法(COMMANDBUTTON等)。
3.2.5关键问题
3.2.5.1坐标单位及SCALE的意义。
3.2.5.2动画的实现
使用TIMER与图形结合。
例子,转动的秒针。
4化工相关
4.1化工过程设计及仿真基础
4.1.1概述
主要是为控制和系统级仿真打下基础。
重点是对整个系统内的总体计算(包括序贯模块法),也包括各部分控制和改变参数的逻辑。
4.1.2内容
4.1.2.1设计中的优化
优化的概念,目标函数等。
优化的方法:
单变量函数最优化,多变量优化方法。
4.1.2.2过程仿真
4.2数学模型的建立及使用
4.2.1概述
建立适合于程序实现的数学模型。
4.2.2随机模型的建立
4.2.3与时间相关模型的建立和使用。
5软件开发的原则及技巧
5.1用户至上及流氓用户的概念
5.2不同可能性的处理
对于程序,运行一万次和运行一次的程序,也相同,也不同。
最常用的功能需要最佳的效率。
5.3功能可扩展性的考虑
不应该是一些固定的内容,(如处理10组数据改为处理20组数据)。
5.4易于维护的考虑
5.5错误的“扩大”
越是初期的错误,最后需要修改时的代价越大。
6模块化的程序设计艺术
6.1如何合理进行功能的细化
函数功能的划分
6.2如何处理错误情况。
错误信息的处理及返回。
7界面设计的技巧及艺术
7.1对用户的限制
限制用户的输入:
方法有之前的提示,之后的提示,及适当控件的使用。
例子,输入1,2,3,4,方法:
输入字符,四个按钮,列表框,滚动框,OPTIONBOX。
一般情况,在少于5个时用多个按钮或OPTION比较方便,在5-20左右使用下拉列表比较方便,在1-200内使用滚动框比较好,再随意时就需要使用文本框输入了。
7.2从界面上体现控件之间的关系
前后的次序关系,相互的关系。
用位置体现关系。
7.3界面上控件的TAB次序
8与用户交互的技术
8.1什么时候提示,如何提示
用户需要知道软件有反应,已经做了什么