720 likes | 896 Views
面向对象程序设计 采用教材 : Visual Basic 程序设计简明教程 第三版. 目 录. 第 1 章 Visual Basic 程序设计 概述 第 2 章 VB 可视化编程基础 第 3 章 VB 语言基础 第 4 章 VB 控制结构 第 5 章 数组 和自定义类型 第 6 章 过 程 第 7 章 用户界面设计 第 8 章 数据文件 第 9 章 图形操 作 第 10 章 数据库应用基础. 教学安排. 推荐参考书籍. Visual Basic 实验指导与测试 ( 第 3 版 ) 龚沛曾等编 高等教育出版社
E N D
面向对象程序设计采用教材:Visual Basic程序设计简明教程第三版
目 录 第1章 Visual Basic程序设计概述 第2章 VB可视化编程基础 第3章 VB语言基础 第4章 VB控制结构 第5章 数组和自定义类型 第6章 过 程 第7章 用户界面设计 第8章 数据文件 第9章 图形操作 第10章 数据库应用基础
推荐参考书籍 • Visual Basic实验指导与测试(第3版) • 龚沛曾等编 高等教育出版社 • Visual Basic程序设计教程 • 刘瑞星等编 电子工业出版社 • Visual Basic程序设计教程习题及习题解答 • 刘瑞星等编著 电子工业出版社 • Visual Basic程序设计 • 訾秀玲等编著 清华大学出版社 • Visual Basic习题与实验指导 • 訾秀玲等编著 清华大学出版社 • ……
最终成绩计算 • 期末考试占70% • 平时占30% • 期中检查 • 平时出勤及表现 • 作业实验情况 • 网上作业按时完成,编程题要求上机完成
联系方式 • E-mail: tfx1203@sina.com tfx1203@shnu.edu.cn • 个人站点: http://202.121.63.4/tang 课件密码:cxsjvb
第1章 Visual Basic程序设计概述 1.1 Visual basic 简介 1.2 VB集成开发环境 1.3 建应用程序过程 1.4 VB帮助系统
1.1 Visual basic 简介 • 程序设计基本概念 • Visual Basic的发展 • Visual Basic的特点 本章目录
1.1.1 Visual Basic的发展 • 初期的程序设计 高运行效率、少占用内存为目标。可读性差、维护性差、通用性差 • 结构化程序设计 • 三个基本特征: • 程序的可读性、可维护性为目标。 • 自顶向下、逐步求精、模块化程序设计 • 三个基本结构: • 顺序结构、分支结构、循环结构 • 存在的问题: • 程序控制与人的思维不协调 • 只突出实现方法而忽视数据与操作的统一 • 程序可重用性差 程序= 算法+数据结构的面向过程的程序设计。
1.1.1 Visual Basic的发展 • 面向对象的程序设计 降低程序的复杂性、提高软件的开发效率和改善工作界面为目标。 • 对系统复杂性进行概括、抽象、分类 • 程序设计从简单到复杂,循序渐进 • 面向对象程序设计带来的好处: • 符合人们习惯的思维方法,便于分析复杂多变的问题 • 易于软件的维护和功能的增减 • 能用继承的方式减短程序开发的时间 • 与可视化技术相结合,改善了工作界面 程序=对象+消息 的面向对象的程序设计。
1.1.1 Visual Basic的发展 • 20世纪60年出现Basic语言; • 20世纪80年代,True Basic、Quick Basic和Turbo Basic等; • Visual Basic 是基于Basic的“可视化”Windows 环境下开发工具。以可视化工具为界面设计、结构化Basic语言为基础,以事件驱动为运行机制。从1991年的VB1.0至1998年的V B6.0的多次版本升级,功能更强大、完善,应用面更广;2002年正式发布Visual Basic.NET • Visual Basic的版本 • VB 3.0、VB 4.0、VB 5.0、VB 6.0、VB .net • VB 6.0包括三个版本: • Learning Edition • Professional Edition • enterprise Edition
1.1.2 VB的特点 • 例1 设计一个滚动文字的广告程序,一行文字在具有背景图案的窗体上、下移动。 • 设计思路: • 在窗体上使用标签Label对象来存放文字; • 利用Timer控件来快速触发移动; • 利用单击按钮来手动触发移动. 引例1.1 一行内容在窗体左、右移动; 移动两种方法:手动和自动,当自动时,文字闪烁显示;按停止按钮使其停 当内容超出窗体,进行反弹。 关闭按钮可退出 本章目录
0,0 Top Left 欢迎使用VB • 当一个标签放在窗体上时,标签的左上角坐标(用Left、Top表示)就被指定了。 • 如果改变标签的左上角坐标就可移动标签,即移动文字。 • 例如: Label1.Top=Label1.Top+50可使标签Label1向下移动50单位。 本章目录
实现连续移动,可通过时钟对象Timer,在规定的时间间隔执行:实现连续移动,可通过时钟对象Timer,在规定的时间间隔执行: Label1.Top =Label 1.Top+50 就可使标签Label1连续向下移动。 • 时钟对象的Interval可指定时间间隔,1秒为1000单位。每隔0.2秒移动一次可设置Interval=200
窗体 Height 欢迎光临 • 程序进一步改进: • 连续循环移动,首先要能判断出标签是否超出窗体范围。 • 该点在Top方向上的坐标为: 窗体的高度Height • 如果标签的Top>窗体的高度,表示已越出窗体范围,可将标签移到窗体上方,此时标签的Top=? 本章目录
Private SubForm_Load() Timer1.Interval = 0 End Sub Private SubCommand1_Click() '手动 Timer1.Interval = 0 Call MyMove End Sub Private SubCommand2_Click() '自动 Timer1.Interval = 200 End Sub Private SubTimer1_Timer() Call MyMove End Sub SubMyMove() Label1.Move Label1.Left, Label1.Top + 50 If Label1.Top > Form1.Height Then Label1.Top = 0 End Sub
Dim step1 As Integer Private Sub Form_Load() step1 = 1 Timer1.Interval = 0 End Sub Private Sub Command1_Click()’自动 Timer1.Interval = 200 End Sub Private Sub Command2_Click() ‘手动 Timer1.Interval = 0 Call mymove End Sub Private Sub Timer1_Timer() Static flag As Boolean If flag Then Label1.ForeColor = &HFF44FF flag = Not flag Call mymove End Sub Public Sub mymove() Label1.Move Label1.Left + 50 * step1 If Label1.Left > Form1.Width Then step1 = -1 ElseIf Label1.Left < 0 Then step1 = 1 End If End Sub
2. VB功能和特点P/5 1. 具有基于对象的可视化设计工具; 2. 事件驱动的编程机制; 3.提供了易学易用的应用程序集成开发环境; 4.结构化的程序设计语言; 5.强大的网络、数据库、多媒体功能 6. 完备的help联机帮助功能。 要求安装了NSDN才有效
1.2 VB集成开发环境 • VB系统的安装 • VB系统的启动 • VB集成开发环境的使用 本章目录
安装 • VB6.0有学习版、专业版和企业版三种版本。执行VB6.0的Setup.exe,在安装程序的提示下进行,初学者可采用典型安装方式。 • VB6.0联机帮助文件使用MSDN文档格式,联机帮助文件不在VB6.0系统盘上,而与Visual Studio产品的帮助集合在两张CD盘上,安装过程中,系统会提示插入MSDN盘。 本章目录
启动 • 启动VB选择开始菜单中的 Microsoft Visual Basic 6.0中文版程序。或双击 已存在的工程文件.vbp • VB 6.0窗口列出了VB能够建立的应用程序类型,初学者只要选择默认标准.EXE。 • 单击新建按钮,就可创建该类型的应用程序。
1.2 VB集成开发环境 工程资源管理器 工具箱 通过工程/部件来添加工具 查看程序代码 切换文件夹工程名称 查看对象 对象窗口 属性窗口 各对象属性不同 但都有名称属性 选项卡 属性列表框 输入框 对话框 属性说明等 立即窗口 用于观察变量变化等 窗体布局窗口 指设计程序运行时窗口在桌面上的显示位置 例:
1.2.2 主窗口 1、三种工作模式 • 设计模式 界面的设计和代码的编制 • 运行模式 运行应用程序 • 中断模式 暂时中断程序运行,调试程序 2. 菜单栏 • 包括13个下拉菜单 3. 工具栏 本章目录
1.2.3 窗体设计窗口 • 设计VB程序的界面。窗体是建立VB应用程序的主要部分,一个应用程序至少有一个窗体窗口。 • 每个窗体必须有一个唯一的窗体名,默认名为Form1. • 设计状态的窗体由网格点构成,方便用户对控件的定位,网格点间距可以通过工具|选项|通用进入窗体网格设置. • 运行时可通过属性控制窗体的可见性(窗体的网格始终不显示)。 本章目录
代码设计窗口 • 用来进行代码设计:各种事件过程、过程代码的编写和修改。 • 打开代码设计窗口的方法: 双击窗体、控件 资源管理器窗口的”查看代码” 本章目录
1.2.4属性窗口 设置窗体或控件的属性,如 颜色、字体、大小等。 本章目录
1.2.5 工程管理器窗口 • 保存一个应用程序所有属性以及组成这个应用程序所有的文件。 • 工程文件的扩展名为.VBP,工程文件名显示在工程文件窗口的标题框内。 • 一个应用程序至少包含一个窗体文件.frm • 标准模块文件.bas可选的 已存盘 未存盘 本章目录
1.2.6 工具箱窗口 由21个被绘制成按钮形式的图标构成,利用这些工具,用户可以在窗体上设计各种控件。其中20个控件称为标准控件(注意,指针不是控件,仅用于移动窗体和控件,以及调整它们的大小)。 也可通过工程/部件命令将第3方开发的其他控件装入到工具箱。 本章目录
1.3 创建应用程序的过程 • 建立一个应用程序分为以下几步: (1) 建立用户界面的对象 (2) 对象属性的设置 (3) 对象事件过程及编程 (4) 保存和运行程序 • 例1.2 编写一个人民币与美元兑换的程序。 • 要求:通过输入兑换比率与人民币或美元金额,单击命令按钮显示兑换结果。
设计思路: • 建立用户界面的对象 • 输入使用文本框TextBox; • 提示使用标签Label; • 按钮Command的Click事件执行处理命令。 本章目录
1.3.5 保存程序和生成可执行文件 • 保存工程 • 一个工程中涉及多种文件类型:窗体文件、标准模块文件等 • 保存窗体文件:“文件”菜单/“form1另存为“,默认扩展名.frm • 保存工程文件:文件/工程另存为,默认扩展名.vbp 说明:若窗体未作保存,先存工程则系统也会弹出保存窗体对话框,先存窗体文件 • 生成可执行文件 • VB程序执行有两种方式:解释、编译 • 解释:未脱离VB环境,在VB集成环境中运行时是以解释方式,便于调试和修改,但运行慢 • 编译:脱离VB开发环境。生成.exe文件,则文件/生成.exe保存,要求文件主名与工程名相同,此类文件须运行在安装有VB软件的机器。 • 若要使程序运行在未安装VB系统的Windows环境下运行,须制作安装文件setup.exe,其包含了可能用到的其他动态链接库文件。
1.4 使用帮助系统 使用MSDN Library查阅器 通过VB的帮助菜单,选择内容、索引或搜索菜单项
VB程序的错误类型 • 语法错误 • 编辑程序时系统会检查出输入错误或编译时评议成分错误,这时系统显示“编译错误”并提示用户修改 • 运行时错误 • 程序没有语法错误,但运行时出错,单击“调试”按钮,程序将停留在引起错误的那一条语句上,要求用户修改 • 逻辑错误 • 程序正常运行后没有得出预期结果。这类错误最难检测,通常可设置断点进行调试
控件和属性设置 窗体文件 工程 事件代码 模块文件 本章小节 • Visual Basic 6.0 一个基于对象的可视化设计工具 • vb的三种工作模式 设计模式、运行模式、中断模式 • VB程序组成
第2章 VB可视化编程基础 2.1 VB对象概念 2.2 窗体和基本控件 2.3 综合应用
2.1 VB对象的概念 2.1.1 对象和类 • 对象指现实世界中的实体。如一个人、一辆汽车、一台电脑、一份报表等。 • 每个对象有自己的特征(属性)、行为(方法)和发生在该对象上的活动(事件)。属性、方法、事件构成了对象的三要素。而对象是构成程序的基本成分和核心。 • 例如人具有身高、体重等特征; • 具有行走、说话等行为; • 外界作用在人对象上的各种活动,如下雨等。
类的概念 • 在现实世界中,许多对象具有相似的性质,执行相同的操作,称之为同一类对象。类是对同一种对象的集合与抽象。 • 如人类是“人”的抽象。 • 类是创建对象实例的模板,对象则是类的一个实例。 • 类包含所创建对象的属性数据,以及对这些数据进行操作的方法。 本章目录
VB中的类和对象 • 在VB中,对象是程序代码和数据的组合。窗体上的命令按钮和其他控件就是对象。VB中每一个窗体也都是独立的对象。对象还可以包含其他对象, • VB工具箱中的可视图标是VB系统设计好的标准控件类。 • 窗体上画一个控件,就将类实例化为对象 • VB中常用的对象有: • 窗体 • 控件 • 内部控件/标准控件:封装在VB的EXE文件中 • ACtiveX控件:单独保存在.OCX文件中可插入的对象 • VB中许多可访问的实物也称为对象,如打印机 本章目录
2.1.2 对象的属性、事件和方法 • 对象: 代码和数据的集合。 如窗体、按钮、菜单、文本框等。 • 对象名: 如Form1、Command2、 Menu1、Text3等默认名 • 对象的三要素: • 属性、事件和方法构成 本章目录
1.属性 • 属性 :是用于描述对象的外部特征。对象中的数据保存在属性中。一个对象的性质,定义了对象的外观和行为。是对VB对象性质的描述,对象的数据就保存在属性中.即用来描述和反映对象特征的参数(如指对象的名字、大小、位置和颜色、字体等特性) • 属性名: 如Caption、Width、Font、Color • 对象属性的设置方法: • 设计阶段: 利用属性窗口直接设置属性值 • 程序运行时 通过语句 对象名.属性名=属性值 • 例如:Command1.Caption = "确定" • 若只能在设计阶段通过属性窗口设置的,称为只读属性 本章目录
2.事件、事件过程、事件驱动 • 事件:是VB预先设置的、能被对象可以响应或识别的用户操作或动作。它发生在用户与应用程序交互时。一个对象可识别和响应多个不同的事件。 • VB为对象预先定义了一系列的事件。例如,单击Click、获取焦点GotFocus 、按下键盘KeyPress 等。 • 同一事件,对不同的对象,会引发不同的反应: 学生_铃声() 听讲 End Sub 教师_铃声() 讲课 End Sub 其他人员_铃声() 可不于响应 End Sub
2.事件 • 事件过程:发生某事件后所要处理的步骤(即执行的程序代码)。针对某一对象的过程,与该对象的一个事件相联系 应用程序设计的主要工作就是为对象编写事件过程的代码。 • 事件过程的形式如下: Sub 对象名_事件(参数) …事件过程代码 End Sub 本章目录
模板产生 例:单击按钮 ,使Text1的字体为20磅. Sub Command1_Click() Text1.FontSize = 20 End Sub 一个动作可能同时发生多个事件。例如单击鼠标同时发生了: Click、MouseDown、MouseUp事件 编程时,只要对需要的事件过程编码。 注意:在代码窗,自动产生事件过程的模板,不要修改模板的内容,只需键入过程的代码。 用户输入 本章目录
执行 激活 对象 事件 事件过程 事件驱动 • 程序执行的次序与程序设计者无关,取决于用户的操作,这就是事件驱动程序设计方式。 • VB程序的执行步骤如下: • ①启动应用程序,装载和显示窗体; • ②窗体(或窗体上的控件)等待事件的发生; • ③事件发生时,执行对应的事件过程; • ④重复执行步骤②和③。 本章目录
3、方法 • 方法是附属于对象的行为和动作。面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数,称为方法。方法可以促使对象执行一个操作或完成一个任务 • 方法是面向对象的,调用时一定要指明对象。对象方法的调用格式为: [对象.]方法 [参数名表] • 若省略对象,表示当前对象,一般指窗体。 例如:Text1.SetFocus • 此语句使Text1控件获得焦点,光标在本文框内闪烁。 • 例如:form1.unload • Form1.Print“欢迎您使用Visual Basic 6.0!” • Move和SetFocus是方法中常见的例子。 • 与属性相似,方法是对象的一部分。 • 通常,方法是你想要执行的操作,而属性则是想要设置或获取的特性。 方法
属性和方法的区别 • 属性是对象的特征,方法是对象的行为。前者有值,可以被赋值或引用;后者没有值,表示能够执行的操作。
例 对输入的字符进行转换的程序。 转换规则: • 大写字母转换成小写字母, • 小写字母转换成大写字母 • 空格不转换 • 其余转换成“*”。 要求:每输入一个字符,马上就进行判断和转换。 例说明VB面向对象、可视化、事件驱动的特点。
2.2 窗体和基本控件 • 在窗体中布置控件 • 建立(利用工具箱+鼠标拖拉) • 缩放和移动 • 复制或删除 • 选定 • 单个:单击 • 多个:配shift或Ctrl • 控件的布局 • 选定后/格式 • 对象命名 • 默认名(属性窗口,name中显示的名称)如form1,text1 • 重命名(属性窗口,name中改) • 名字原则:字母或汉字开头;由字母、汉字和数字串组成,长度小于255个字符。
对象创建后,VB会根据对象的类型给它分配一个默认的名称,如Form1、Command2、Text2。你应该立即将每个控件的Name属性修改为可以描述它们用途的名称。修改Name属性可以使应用程序中的程序代码更易于理解和调试。对象创建后,VB会根据对象的类型给它分配一个默认的名称,如Form1、Command2、Text2。你应该立即将每个控件的Name属性修改为可以描述它们用途的名称。修改Name属性可以使应用程序中的程序代码更易于理解和调试。
虽然你可以给对象赋予任何名称,但最好还是采纳命名约定,并在整个程序中使用一致性的名称。图中列出了VB中使用的标准命名约定。如果采纳这些约定,可使那些熟悉标准命名约定的人更容易理解你的程序代码。虽然你可以给对象赋予任何名称,但最好还是采纳命名约定,并在整个程序中使用一致性的名称。图中列出了VB中使用的标准命名约定。如果采纳这些约定,可使那些熟悉标准命名约定的人更容易理解你的程序代码。