单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2019年5月18日,感谢你的观看,*,VB,环境下的应用程序开发,通过开发一个应用程序使读者了解软件的开发过程,开发语言:,Visual BASIC,,开发环境:,Windows,系统,1 VB,介绍,Visual BASIC,(以下简称,VB,)是微软,(Microsoft),公司推出的,Windows,环境下基于对象的可视化的程序设计语言,,可以用来开发,indows,环境下的各种应用软件,也可用来开发多媒体应用,1,感谢你的观看,2019年5月18日,VB环境下的应用程序开发通过开发一个应用程序使读者了解软件的,1.1 Visual Basic,概述,Visual Basic,利用面向对象的概念巧妙地屏蔽了,Windows,环境下的程序设计的复杂性,Visual Basic,基于结构化的,BASIC,语言和一系列的可视化的窗口设计工具,提供了窗口、菜单、按钮、对话框、消息框、滚动条等,Windows,程序的标准界面对象,以及一整套可视化设计工具,Visual Basic,是首批采用事件驱动的程序设计机制的程序语言之一,从微软公司于,1991,年推出,Visual Basic1.0,版到目前为止,已推出,6,个版本,获得极大成功,2,感谢你的观看,2019年5月18日,1.1 Visual Basic概述Visual Basi,1.2 VB,程序设计的特点,1.,可视化的界面设计,设计者仅需用现有工具在屏幕上进行布局设计,设置对象属性即可,,Visual Basic,自动产生界面设计代码,2.,基于对象的程序设计思想,VB,已经把程序和数据封装起来成为一个个对象,并为每个对象赋予各种属性,程序设计人员在设计时无需编写对象的创建和描述程序代码,便可直接使用,3.,事件驱动的编程机制,每个事件都能驱动一段程序运行,完成相应的工作,4.,方便、易用:,结构化的程序结构、更接近于人类的语言和逻辑思维方式、语句简单易懂等,3,感谢你的观看,2019年5月18日,1.2 VB程序设计的特点1.可视化的界面设计3感谢你的,5.,基于构件的程序开发,可以使用,Visual C+,,,BC+,,,Delphi,等开发用于,VB,的专用构件,以扩展,VB,的应用开发能力,,VB,构件可以直接加入到,VB,工具箱中供开发人员使用。,对象的链接与嵌入,(OLE),利用,OLE,技术,在,VB,程序中,可以将其他应用软件作为一个对象嵌入到,VB,应用程序中,并可以对它赋予各种属性和进行程序。还可把符合,OLE,标准的,Windows,应用程序嵌入到,VB,程序中,实现声音、视像、影像、动画、三维立体、变换几何形状、绘制各种图形图像等多媒体功能,4,感谢你的观看,2019年5月18日,5.基于构件的程序开发4感谢你的观看2019年5月18日,7.,数据库访问功能,Visual Basic,系统本身提供了非常好的数据库管理功能,利用数据库管理窗口,用户可直接创建,Access,数据库,还可直接编辑和访问其他外部数据库,如,FoxPro,、,dBASE,、,FoxBase,等。可以通过,ODBC,建立连接的方式来使用和操纵外部数据库,8.,功能强大的辅助开发工具,Visual Basic,中的,Setup Wizard,可为用户制作生成规范的带安装的用户盘,使程序设计人员采用,VB,开发工具设计的应用程序在编译生成,EXE,可执行文件,5,感谢你的观看,2019年5月18日,7.数据库访问功能5感谢你的观看2019年5月18日,1.3,消息和事件驱动,所有的,Windows,应用程序都是基于消息的传递和处理的,每一个,Windows,程序都要求一个消息循环,应用程序中的每一个窗口都要求有一个消息处理器,用户移动鼠标,,Windows,系统就产生一条消息告诉相应的应用程序:鼠标已经移动了,移动到了什么地方,Windows,系统是多任务系统,如果一个程序有消息要处理,它就占用,CPU,处理消息,如果一个程序不再有要处理的消息,系统就询问其他正在运行的程序是否有消息要处理,并把控制权交给要处理消息的应用程序,消息机制,就是所谓的事件驱动,6,感谢你的观看,2019年5月18日,1.3 消息和事件驱动所有的Windows应用程序都是基于,1.4 VB,开发环境,Visual Basic,基本环境,7,感谢你的观看,2019年5月18日,1.4 VB开发环境Visual Basic基本环境7感谢,1.,主,(Main),窗口,主窗口,:,控制,VB,环境下各种工作模式及操作命令,工具条,8,感谢你的观看,2019年5月18日,1.主(Main)窗口主窗口:控制VB环境下各种工作模式及,2.,窗体,(Form),窗口,3.,工具箱窗口,9,感谢你的观看,2019年5月18日,2.窗体(Form)窗口3.工具箱窗口9感谢你的观看20,4.,项目,(Project),窗口,标题条,:,显示项目,(,应用程序,),名称,控制盒及极小化按钮,;,View Form,按钮:查看窗体显示界面,;,View Code,按钮:查看代码程序,;,文件列表:该项目中包含的所有文件清单,10,感谢你的观看,2019年5月18日,4.项目(Project)窗口标题条:显示项目(应用程序,5.,属性,(Properties),窗口,11,感谢你的观看,2019年5月18日,5.属性(Properties)窗口11感谢你的观看201,代码,(Code),窗口,对话框:,存储并显示,当前被选中,窗体及其中,所有控制的,名称。其中,general,表示与特定对象无关的通用代码,过程框:下拉列表框,存储并显示各种事件名称或用户自定义过程及函数名称。,源程序代码框:以,Sub,过程名开始,,End Sub,结束。,12,感谢你的观看,2019年5月18日,代码(Code)窗口对话框:12感谢你的观看2019年5月,7,菜单设计窗口,(Menu Design Window),13,感谢你的观看,2019年5月18日,7菜单设计窗口(Menu Design Window)13,8.,程序调试窗口,(Debug Window),14,感谢你的观看,2019年5月18日,8.程序调试窗口(Debug Window)14感谢你的观,1.5 VB,项目和可执行文件,15,感谢你的观看,2019年5月18日,1.5 VB项目和可执行文件15感谢你的观看2019年5月,1.6,创建,VB,应用程序的步骤,1,创建用户界面,:,使用“,New Project”,项,创建一新工程文件,之后再通过在窗体上画对象来创建一界面,2.,设置界面对象的属性:,既可以在设计时用属性窗口设置初始值,也可以在运行时用代码修改属性,3.,编写事件代码:,在为窗体和对各对象设置初始属性之后,应增加响应事件时所要执行的代码,4.,保存项目,5.,测试和调试应用程序,创建可执行文件:,File-Make EXE File,创建,7.,创建安装应用程序,:,应用,Setup Wizard,创建安装程序,16,感谢你的观看,2019年5月18日,1.6 创建VB应用程序的步骤1创建用户界面:使用“N,2,应用程序举例,2.1,问题的描述,目标:设计一个学生的学习成绩管理系统,教师采用的是统一的数据文件格式,见表,4,学习成绩管理系统自动将所有必修课的成绩数据文件读入,并将成绩存放到对应学生的学生考试成绩表中,见表,5,最后,可算出每个学生本学期的必修成绩的实得学分,并可按照要求显示该成绩表,按实得学分排队,查询某个学生的成绩,打印名次排列表,打印需补考的学生姓名及补考课目,17,感谢你的观看,2019年5月18日,2 应用程序举例2.1 问题的描述17感谢你的观看2019,下面是,军事理论,课考试成绩的数据文件,(,假设,军事理论,的学分是,3,分,),。,军事理论,,3,1,吕 国,78,2,方 研,90,3,唐 飞,83,4,徐 双,73,21,方笑林,70,22,李分明,96,23,宋明华,69,24,林 琳,84,必修课程学分加权办法是:,90,以上学分乘,1.5,,,80,89,分学分乘,1.3,,,70,79,分学分乘,1.1,。,学生考试成绩表的栏数由必修课的课程数决定,课程数可事先由管理员输入。,每个学生占有定长的记录。,18,感谢你的观看,2019年5月18日,下面是军事理论课考试成绩的数据文件(假设军事理论的学,2.2,问题分析,接下来的问题是要处理的对象有哪些?,需处理哪些数据、数据的流动、数据需做何处理?,19,感谢你的观看,2019年5月18日,2.2 问题分析接下来的问题是要处理的对象有哪些?19感谢,2.3,设计过程,设计过程要解决的是“如何做”的问题,1.,系统设计,系统设计实际上是应用程序的软硬件系统的设计。所运行的环境以及用什么软件来开发它;在这样一个运行环境和软件开发环境中,要选择的计算机硬件平台,“学生成绩管理系统”,要求比较简单。相应的最低硬件配置为:,486/586,计算机、,8M,或以上的内存、,540M,或以上的硬盘、带键盘鼠标的普通,PC,机,软件运行环境为:,Windows 95,或,Windows 98,中文版;软件开发环境为:,Visual Basic,2.,结构设计,20,感谢你的观看,2019年5月18日,2.3 设计过程设计过程要解决的是“如何做”的问题20感谢,2.,结构设计,结构设计就是弄清楚将要开发的软件的功能结构,在设计结构时,我们应当在切实贯彻结构化程序设计方法中所说的模块化分解与功能抽象、自顶向下分而治之的思想。把一个复杂的大系统分为若干个相对简单的子系统,各个子系统(模块)完成某一部分功能,最后,通过子系统之间的相互联系实现整个系统的功能,21,感谢你的观看,2019年5月18日,2.结构设计结构设计就是弄清楚将要开发的软件的功能结构21,3.,数据设计,建立各种实现系统功能所需的数据结构,考试成绩表是一,二维表,可将一个,学生的记录视为数,组中的一个元素,,学生的个数就是,数组的维数,考虑到每个班,学生的个数不同,可将数组声明为,动态数组,22,感谢你的观看,2019年5月18日,3.数据设计建立各种实现系统功能所需的数据结构考试成绩表,4.,算法的设计,在确定了各种数据结构后,要确定实现系统功能的各种算法,就这个问题来说,算法设计主要是实现各个功能模块的功能,“读入数据”首先从数据文件中读入本门课的课程名和学分,将课程名放入课程名数组,并且将学分保存在一个变量中,然后一个记录一个记录地读入,将学号、姓名和成绩依次填入相应的学生成绩数组元素的学号域、姓名域、课程成绩域里,同时作“学分加权计算”(学分,加权系数),填入到课程学分域中,依次将各个数据文件中的数据处理完后,就可得到课程表数组和学生成绩数组中的数据。有了上述信息,便可以进行“实得学分统计”,完成排序,按学号索引的找到学生的姓名及课程分数情况,即可打印名次,23,感谢你的观看,2019年5月18日,4.算法的设计在确定了各种数据结构后,要确定实现系统功,5.,界面设计,在,VB,中,每个界面对应一个窗体,一个程序根据实际需要可以有多个界面,也就有多个窗体。,24,感谢你的观看,2019年5月18日,5.界面设计在VB中,每个界面对应一个窗体,一个程序根据实,2.4,程序的编制,1.,创建窗体,2.,菜单选项的创建,3.,设置属性,25,感谢你的观看,2019年5月18日,2.4 程序的编制1.创建窗体25感谢你的观看2019年,4.,编写代码,只需要对相应的对象(如:文本框、控制按钮等)编写相应的事件过程。这些过程都由相应的事件来激活,在“学生成绩管理系统”中,有多个对象。对于命令按钮,主要处理其单击事件,(Click),;文本框中处理其输入焦点改变事件,(GetFocus),;文件列表框处理其单击事件,(Cli