VB环境下的应用程序开发_第1页
VB环境下的应用程序开发_第2页
VB环境下的应用程序开发_第3页
VB环境下的应用程序开发_第4页
VB环境下的应用程序开发_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、VB环境下的应用程序开发 通过开发一个应用程序使读者了解软件的开发过通过开发一个应用程序使读者了解软件的开发过程,开发语言:程,开发语言:Visual BASIC,开发环境:,开发环境:Windows系统系统1 VB1 VB介绍介绍 Visual BASIC(以下简称(以下简称VB)是微软)是微软(Microsoft)公司推出的公司推出的 Windows环境下基于对象的可视化的环境下基于对象的可视化的程序设计语言,程序设计语言, 可以用来开发可以用来开发indows环境下的各种应用软件,环境下的各种应用软件,也可用来开发多媒体应用也可用来开发多媒体应用1.1 Visual Basic概述概述

2、Visual Basic 利用面向对象的概念巧妙地屏蔽了Windows环境下的程序设计的复杂性 Visual Basic基于结构化的BASIC语言和一系列的可视化的窗口设计工具,提供了窗口、菜单、按钮、对话框、消息框、滚动条等Windows程序的标准界面对象,以及一整套可视化设计工具 Visual Basic是首批采用事件驱动的程序设计机制的程序语言之一 从微软公司于1991年推出Visual Basic1.0版到目前为止,已推出6个版本,获得极大成功1.2 VB程序设计的特点程序设计的特点1. 可视化的界面设计可视化的界面设计 设计者仅需用现有工具在屏幕上进行布局设计,设置设计者仅需用现有工

3、具在屏幕上进行布局设计,设置对象属性即可,对象属性即可,Visual Basic自动产生界面设计代码自动产生界面设计代码2. 基于对象的程序设计思想基于对象的程序设计思想 VB已经把程序和数据封装起来成为一个个对象,并已经把程序和数据封装起来成为一个个对象,并为每个对象赋予各种属性,程序设计人员在设计时无为每个对象赋予各种属性,程序设计人员在设计时无需编写对象的创建和描述程序代码,便可直接使用需编写对象的创建和描述程序代码,便可直接使用3. 事件驱动的编程机制事件驱动的编程机制 每个事件都能驱动一段程序运行,完成相应的工作每个事件都能驱动一段程序运行,完成相应的工作4. 方便、易用:方便、易用

4、:结构化的程序结构、更接近于人类的语结构化的程序结构、更接近于人类的语言和逻辑思维方式、语句简单易懂等言和逻辑思维方式、语句简单易懂等5. 基于构件的程序开发 可以使用Visual C+,BC+,Delphi等开发用于VB的专用构件,以扩展VB的应用开发能力,VB构件可以直接加入到VB工具箱中供开发人员使用。 对象的链接与嵌入(OLE) 利用OLE技术,在VB程序中,可以将其他应用软件作为一个对象嵌入到VB应用程序中,并可以对它赋予各种属性和进行程序。还可把符合OLE标准的Windows应用程序嵌入到VB程序中,实现声音、视像、影像、动画、三维立体、变换几何形状、绘制各种图形图像等多媒体功能7

5、. 数据库访问功能 Visual Basic系统本身提供了非常好的数据库管理功能,利用数据库管理窗口,用户可直接创建Access数据库,还可直接编辑和访问其他外部数据库,如FoxPro、dBASE、FoxBase 等。可以通过ODBC建立连接的方式来使用和操纵外部数据库8. 功能强大的辅助开发工具 Visual Basic中的Setup Wizard可为用户制作生成规范的带安装的用户盘,使程序设计人员采用VB开发工具设计的应用程序在编译生成EXE可执行文件1.3 消息和事件驱动消息和事件驱动 所有的Windows应用程序都是基于消息的传递和处理的,每一个Windows程序都要求一个消息循环,应

6、用程序中的每一个窗口都要求有一个消息处理器,用户移动鼠标,Windows系统就产生一条消息告诉相应的应用程序:鼠标已经移动了,移动到了什么地方 Windows系统是多任务系统,如果一个程序有消息要处理,它就占用CPU处理消息,如果一个程序不再有要处理的消息,系统就询问其他正在运行的程序是否有消息要处理,并把控制权交给要处理消息的应用程序,消息机制,就是所谓的事件驱动1.4 VB开发环境开发环境1. 主主(Main)窗口窗口主窗口:控制VB环境下各种工作模式及操作命令标题条菜单条工具条建立新窗体建立新模块打开项目存项目控制锁定打开菜单设计窗口打开属性窗口对象浏览项目文件执行程序中断停止设置断点设

7、置观察点过程调用跟踪单步工具条2. 窗体窗体(Form)窗口窗口标题条用户设计区3. 工具箱窗口工具箱窗口4. 项目项目(Project)窗口窗口 标题条: 显示项目(应用程序)名称,控制盒及极小化按钮; View Form按钮: 查看窗体显示界面; View Code按钮: 查看代码程序; 文件列表: 该项目中包含的所有文件清单5. 属性属性(Properties)窗口窗口 代码代码(Code)窗口窗口 对话框: 存储并显示当前被选中窗体及其中所有控制的名称。其中general 表示与特定对象无关的通用代码 过程框: 下拉列表框,存储并显示各种事件名称或用户自定义过程及函数名称。 源程序代码

8、框: 以Sub过程名开始,End Sub结束。代码框对象框过程框7菜单设计窗口菜单设计窗口(Menu Design Window)属性设置区菜单显示区菜单制作按钮8. 程序调试窗口程序调试窗口(Debug Window)立即窗口观察窗口1.5 VB项目和可执行文件项目 FormsStandardModulesClass ModulesCustomControls编译应用程序应用程序Project.EXE分发CustomControlsVB40032.DLL1.6 创建VB应用程序的步骤1 1创建用户界面创建用户界面: :使用 “New Project”项,创建一新工程文件,之后再通过在窗体上画

9、对象来创建一界面2. 2. 设置界面对象的属性:设置界面对象的属性:既可以在设计时用属性窗口设置初始值,也可以在运行时用代码修改属性3. 3. 编写事件代码:编写事件代码:在为窗体和对各对象设置初始属性之后,应增加响应事件时所要执行的代码4. 4. 保存项目保存项目5. 5. 测试和调试应用程序测试和调试应用程序 创建可执行文件:创建可执行文件:File-Make EXE File 创建7. 7. 创建安装应用程序创建安装应用程序: :应用Setup Wizard创建安装程序2 应用程序举例应用程序举例2.1 问题的描述问题的描述目标:设计一个学生的学习成绩管理系统目标:设计一个学生的学习成绩

10、管理系统,教师采用的是统一的数据教师采用的是统一的数据文件格式,见表文件格式,见表4 学习成绩管理系统自动将所有必修课的成绩数据文件读入,并将成绩存放到对应学生的学生考试成绩表中,见表5 最后,可算出每个学生本学期的必修成绩的实得学分,并可按照要求显示该成绩表,按实得学分排队,查询某个学生的成绩,打印名次排列表,打印需补考的学生姓名及补考课目表 6.4 任课教师采用的数据文件格式课程名称,学分学号姓名成绩表 6.5 学生考试成绩表数据文件格式学号姓名课程 1成绩课程 1学分课程 2成绩课程 2学分实得学分下面是军事理论课考试成绩的数据文件(假设军事理论的学分是3分)。 军事理论,31 吕 国

11、782 方 研 903 唐 飞 834 徐 双 73 21 方笑林 7022 李分明 9623 宋明华 6924 林 琳 84 必修课程学分加权办法是:90以上学分乘1.5,8089分学分乘1.3,7079分学分乘1.1。 学生考试成绩表的栏数由必修课的课程数决定,课程数可事先由管理员输入。每个学生占有定长的记录。2.2 问题分析 接下来的问题是要处理的对象有哪些? 需处理哪些数据、数据的流动、数据需做何处理?必修课成绩数据文件必修课成绩数据文件数据读入及处理考试成绩表数据文件成绩表处理必修课成绩数据文件必修课成绩数据文件读入数据学习成绩表数据文件课程名学分学生记录学分加权计算实得学分计算考试

12、成绩表数据文件排列名次并打印查询成绩不及格处理学生记录2.3 设计过程 设计过程要解决的是“如何做”的问题1. 系统设计系统设计 系统设计实际上是应用程序的软硬件系统的设计。所运行的环境以及用什么软件来开发它;在这样一个运行环境和软件开发环境中,要选择的计算机硬件平台 “ 学生成绩管理系统”,要求比较简单。相应的最低硬件配置为:486/586计算机、8M或以上的内存、540M或以上的硬盘、带键盘鼠标的普通PC机 软件运行环境为:Windows 95或Windows 98中文版;软件开发环境为:Visual Basic2. 结构设计结构设计2. 结构设计结构设计 结构设计就是弄清楚将要开发的软件

13、的功能结构 在设计结构时,我们应当在切实贯彻结构化程序设计方法中所说的模块化分解与功能抽象、自顶向下分而治之的思想。把一个复杂的大系统分为若干个相对简单的子系统,各个子系统(模块)完成某一部分功能,最后,通过子系统之间的相互联系实现整个系统的功能考试成绩表的产生和处理数据读入及处理成绩表处理读入数据学分加权计算实得学分统计名次排列及打印不及格处理成绩查询名次排列名次打印产生表头产生表体打印打印学生姓名及不及格科目3. 3. 数据设计数据设计建立各种实现系统功能所需的数据结构 考试成绩表是一二维表,可将一个学生的记录视为数组中的一个元素,学生的个数就是数组的维数 考虑到每个班学生的个数不同可将数

14、组声明为动态数组数组成绩表数据文件元素 1(学生 1) 学号 姓名 课程 1 成绩 课程 1 学分 课程 2 成绩课程 2 学分 实得学分元素 2(学生 2) 学号 姓名 课程 1 成绩 课程 1 学分 课程 2 成绩课程 2 学分 实得学分元素 n(学生 n) 学号 姓名 课程 1 成绩 课程 1 学分 课程 2 成绩课程 2 学分 实得学分TYPE StudentInform 学生成绩记录数据类型 NumberOfStd : Integer 学号域,定义为整型 Name : String 姓名域:定义为字符串 Score1: Single 课程 1 成绩域,定义为实数型 CreditHou

15、r1 : Single 课程 1 学分域,定义为实数型 Score2: Single CreditHour2 : Single Score3: Single CreditHour3 : Single Score4: Single CreditHour4 : Single Score5: Single CreditHour5 : Single Score6: Single CreditHour6 : Single Score7: Single CreditHour7 : Single TotalCreditHour: Single 总实得学分域,定义为实数型ENDTYPE4. 算法的设计算法的设

16、计 在确定了各种数据结构后,要确定实现系统功能的各种算法 就这个问题来说,算法设计主要是实现各个功能模块的功能 “读入数据”首先从数据文件中读入本门课的课程名和学分,将课程名放入课程名数组,并且将学分保存在一个变量中,然后一个记录一个记录地读入,将学号、姓名和成绩依次填入相应的学生成绩数组元素的学号域、姓名域、课程成绩域里,同时作“学分加权计算”(学分加权系数),填入到课程学分域中 依次将各个数据文件中的数据处理完后,就可得到课程表数组和学生成绩数组中的数据。有了上述信息,便可以进行“实得学分统计” 完成排序,按学号索引的找到学生的姓名及课程分数情况,即可打印名次5. 界面设计界面设计 在VB

17、中,每个界面对应一个窗体,一个程序根据实际需要可以有多个界面,也就有多个窗体。2.4 程序的编制1. 创建窗体创建窗体2. 菜单选项的创建菜单选项的创建3. 设置属性设置属性对象(Object)属性(Property)缺省(default setting)新设置值(setting)Form1CaptionFORM1学习成绩管理系统Form2CaptionFORM2打开文件对话框Frame1CaptionFrame2必修课数据文件Lable1CaptionLable1所选文件 1.Lable7CaptionLable7所选文件 7Text1(0)TextText1空.Command1CaptionCommand1确认返回Drive1、 Dir1 、File1缺省缺省缺省4. 编写代码编写代码 只需要对相应的对象(如:文本框、控制按钮等)编写相应只需要对相应的对象(如:文本框、控制按钮等)编写相应的事件过程。这些过程都由相应的事件来激活的事件过程。这些过程都由相应的事件来激活 在在“学生成绩管理系统学生成绩管理系统”中,有多个对象。对于命令按钮,中,有多个对象。对于命令按钮,主要处理其单击事件主要处理其单击事件(Click)(Click);文本框中处理其输入焦点改;文本框中处理其输入焦点改变事件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论