VB教案(详细教案共82课时) 下载本文

第1、2课时

课题:VB程序开发环境 教学目的:

1、了解VB的发展概况、特点、版本和功能 2、学会VB的安装、启动及退出 3、熟悉VB程序开发环境 教学重难点:

1、VB的特点、版本和功能 2、VB的启动及退出 3、VB程序开发环境 教学方法: 多媒体教学 教学过程: Ⅰ、引入

VB是一种功能强大的可视化的计算机语言,利用VB可以设计出界面漂亮又实用的应用程序,目前在国内外应用特别广泛。 Ⅱ、新课 一、VB简介

1.VB的发展概况(四阶段): 1)64~74:Basic语言问世

2)75~85:微机上固化的Basic语言 3)86~90:结构化的Basic语言 4)91至今:VB(微软推出) 2.VB的特点及功能

VB是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言。 1)可视化编程

2)面向对象的程序设计 3)结构化的程序设计语言 4)事件驱动编程机制

5)支持多种数据库系统的访问 6)Active技术

7)VB6在开发环境上、网络功能等的增强 8)完备的help联机帮助功能 3.VB的版本 1)学习版

使编程人员轻松开发 Windows的应用程序。该版本包括所有的内部控件连同网格(Grid)控件、Tab 和 数据绑定(Data_Bound)控件。 2)专业版

为专业编程人员提供了一整套进行开发的功能完备的工具。该版本包括学习版的全部功能连同 ActiveX 控件,还包括 Internet 控件和 Crystal Report Writer。 3)企业版

使得专业编程人员能够开发功能强大的组内分布式应用程序。该版本包括专业版的全部功能连同自动化管理器、部件管理器、数据库管理工具、Microsoft Visual SourceSafe(TM) 面向工程版的控制系统等。 二、VB的安装、启动及退出

- 1 -

1.VB的安装 2.启动

1)开始/程序

2)我的电脑或资源管理器 3)开始/运行

4)双击VB6.0的快捷方式 3.VB的启动界面

新建、现存、最新选项卡 4.VB的退出

1)文件/退出 2)Alt+Q 3)Alt+F4

4)右上角的“×”按钮 三、VB集成开发环境

Visual Basic集成开发环境是一个功能非常强的操作界面,在这里用户可以新建程序、设置属性、编写代码、调试程序、生成Exe等。这样大大地提高了Visual Basic应用程序的开发效率,集成开发环境包含主窗口、属性窗口、工具箱窗口、代码编辑窗口、窗体设计窗口等窗口。

1.主窗口:应用程序窗口,由标题栏、菜单栏和工具栏组成。

1)标题栏:工作状态的三种模式:设计模式、运行模式、中断模式 2)菜单栏: 共13个菜单项

3)工具栏:有编辑、标准、窗体编辑器和调试4种工具栏 A)每种工具栏都有固定和浮动两种形式 B)标准工具栏中有21个图标

2.窗体设计器(form)窗口:设计vb程序的界面。

一个应用程序至少有一个窗体窗口,用户可在应用程序中拥有多个窗体窗口。 3.工程资源管理器(project expror)窗口:保存一个应用程序所有属性以及组成这个应用程序所有的文件。

1)工程资源管理器窗口的文件可以分为6类,窗体文件(.frm)、程序模块文件(.bas)类模块文件(.cls)工程文件(.vbp)工程组文件(.vbg)资源文件(.res)

2) 工程资源管理器窗口的3个按钮:查看代码、查看对象、切换文件夹 4.属性(properties)窗口:所有窗体或控件的属性设置

1)属性窗口除窗口标题外,分为对象框、属性显示方式、属性列表和属性解释4部分。 2)属性显示方式分为两种即按字母顺序和按分类顺序。 5.代码(code)窗口:编辑窗体、标准模块中的代码。

6.工具箱(toolbox)窗口:显示各种控件的制作工具, 供用户在窗体上设计 Ⅲ、小结

本次课学生应该学会了解VB的发展史,VB的特点,掌握Visual Basic的集成开发环境。 Ⅳ、作业

P13一、1~6 二、1~7

- 2 -

第3~4课时

课题:对象及其操作(一) 教学目的:

1、了解对象的概念

2、掌握常用对象及其三要素 3、掌握窗体的常用属性 教学重难点: 1、对象的概念

2、常用对象及其三要素 3、窗体的常用属性 教学方法:多媒体教学 教学过程:

Ⅰ、复习上节内容 1、VB的特点 2、VB的三种版本

3、Visual Basic的集成开发环境 Ⅱ、新课

了解VB的编程机制和常用的对象为设计综合性的程序作基础。 一、对象和类

VB是一种基于面向对象的程序设计语言,程序由对象以及相应对象的各种事件代码组成。在VB中不仅提供了大量的控件对象,而且还提供了创建自定义对象的方法和工具。形象点讲,VB程序设计就是利用这些“积木块”(对象)组装应用程序。

1、从面向对象说起,面向对象是认识世界的一种思维方式。用这种思维方式看世界,现实世界中的任何实体都被看作对象。

2、面向对象程序设计(Object Oriented Programming,简称OOP)

最早的面向对象程序设计语言是70年代Xerox公司推出的SmallTalk语言;目前主流编程语言大都属于或支持面向对象编程技术,如 Java、VC++、VB、PB、Delphi、C#等。

面向对象程序设计引入了一些新的概念:类、对象、消息、事件、方法、属性、继承性、封装性、多态性等。这里仅介绍VB中涉及到的一些面向对象的概念:对象(Object)、类(Class)、事件(Event)、方法(Method)、属性(Properties) 3、对象的含义:

是具有某些特殊属性(数据)和行为方式(方法)的实体,是类的实例化。对象具有特定的属性、方法与事件。每一个对象必须有一个名字(对象的标识),以与其他对象区别。

VB中常用的对象有:窗体、控件等。

4、类的含义:是同种对象的抽象与集合,是创建对象实例的模板,包含了创建对象的属性描述和行为特征的定义。 5、对象与类的关系

1)对象是类的实例,类是创建对象的摸板; 2)对象是具体的,类是抽象的;

3)在VB中,对象是类的一个实例,继承了类的属性、方法。 4)在VB中如何将类转化为对象?

在VB中,工具箱上的可视类图标是VB系统设计好的标准控件类。通过将类实例化,可得到真正的控件对象。也就是当在窗体上画一个控件时,就将类转换为对象,即创建了一个控件,简称为控件。

- 3 -

如:工具箱内的TextBox是类,它确定了TextBox的属性、方法和事件。窗体上画的是Text对象。

6、对象的分类:预定义对象和自定义对象 7、对象的三要素:属性、事件和方法

1)属性:对象的性质,即用来描述和反映对象特征的参数。

2)事件:响应对象的动作称为事件,它发生在用户与应用程序交互时。如单击控件、鼠标移动、键盘按下等。

事件过程:就是事件发生后,程序要去执行的代码。例如,用鼠标单击窗体触发Click事件,程序将执行过程 Private Sub Form_Click()中的代码,该过程称为事件过程。

下面就是一个事件过程,如果用鼠标单击Command1按钮就会触发Command1的Click事件,程序要执行如下的事件过程。

Private Sub Command_Click()

Text1.Text= \程序设计\End Sub

在VB中事件的调用形式是: Private Sub对象名_事件名 (事件内容) End Sub

3)方法:对象的行为,即将一些通用的过程编写好并封装起来,作为方法供用户直接调用。

在VB里方法的调用形式是:对象名.方法名

如下是Form的方法:Form1.Print \? 属性、方法和事件之间的关系:

VB 对象具有属性、方法和事件。属性是描述对象的数据;方法告诉对象应做的事情;事件是对象所产生的事情,事件发生时可以编写代码进行处理。

VB 的窗体和控件是具有自己的属性、方法和事件的对象。可以把属性看作一个对象的性质,把方法看作对象的动作,把事件看作对象的响应。 8. 对象的概念小结

类(Class) ?系统提供的 ?用户自己创建的 实例化 (Instance) 对象(Object) 1.控件对象,由控件类实例化而来 2.系统对象,由VB系统定义的对象,如文件对象等 3.用户创建对象 属性(定义对象外观特征) 事件 方法(对象内含的函数、过程,实现特定操作) 事件过程(一段可执行的程序代码)

- 4 -

二、对象属性设置

1、激活属性窗口的方法 1)单击属性窗口的任何部位 2)视图/属性窗口 3)按F4键

4)单击工具栏上的“属性窗口”按钮 5)按组合键Ctrl+PgDn或Ctrl+PgUp 2、对象属性的设置

1)选定对象,然后在属性窗口中找到相应属性直接设置

2)在代码中通过编程设置,格式为:对象名.属性名 = 属性值

如下述代码可以设置标签控件Label1的标题为“轻轻松松学用VB6.0”。 Label1.Caption=\轻轻松松学用VB6.0

注意:有一些属性只能在设计阶段通过属性窗口设置,在程序运行阶段不可改变,称为只读属性。 三、窗体

窗体是一块画布,是所有控件的容器,用户可以根据自己的需要利用工具箱上的控件在画布上画界面。 1、窗体的结构 2、窗体的常用属性

窗体属性决定了窗体的外观和操作。

1)Name名称属性:窗体的名称,程序运行的时候是根据名称来区分不同对象的。在程序中,控件名是作为对象的标识而引用,不会显示在窗体上。 2)Caption标题属性:该属性决定了控件上显示的内容。 Name和 caption的比较: (1) Name是系统用来识别对象的,编程时需要用它来指代各对象;Caption是给用户看的,提示用户该对象的作用;

(2) Name可以采用系统默认的名称,但Caption应该根据实际情况改成意义明了的名词; (3)所有对象都有Name,但不一定都有Caption 3)Height、width、top和left属性

单位:1twip=1/20点=1/1440英寸=1/567cm 4)Enabled属性:决定控件是否允许操作

True:允许用户进行操作,并对操作作出响应(缺省值) False:禁止用户进行操作,呈暗淡色 5)Visible属性:决定控件是否可见 True:程序运行时控件可见(缺省值)

False:程序运行时控件隐含起来,但控件本身存在

- 5 -

Ⅲ、小结

本次课学生应该熟悉Visual Basic的一些基本的概念,对象及其三要素属性、方法、事件等。掌握窗体的常用属性的用法。 Ⅳ、作业

1、简述激活属性窗口的方法。 2、P30一、1、2、5、6

第5~6课时

课题:对象及其操作(二) 教学目的:

1、掌握窗体的属性与事件

2、掌握常用控件类型、命名、基本操作 教学重难点:

1、窗体的属性与事件

2、控件类型、命名、基本操作 教学方法:多媒体教学 教学过程:

Ⅰ、复习上节内容 1、对象的三要素 2、对象属性设置

3、Caption属性和Name属性,Enabled属性和Visible属性 Ⅱ、新课 三、窗体

6)Font属性组:改变文本的外观 其中:FontName字体、FontSize字体大小、FontBold粗体、FontItalic斜体、FontStrikethru删除线、FontUnderline下划线

7)Forecolor、Backcolor前景背景颜色属性 设置或返回控件的前景背景颜色(十六进制数) 在设计阶段设置颜色: 在属性窗口设置 在运行阶段设置颜色:

例如,将窗体Form1的背景色设置为红色,则可使用下面三种情况: Form1.BackColor = RGB(255, 0, 0) RGB(红,绿,蓝) Form1.BackColor = &HFF& Form1.BackColor = vbRed 颜色常量:

vbBlack 黑色 vbRed 红色 vbGreen 绿色 vbYellow 黄色 vbBlue 蓝色 vbMagenta 洋红色 vbCyan 青色 vbWhite 白色 8)Backstyle背景风格属性

9)BorderStyle边框风格属性(有6种)

0-None:无边框;

1-Fixed Single:单线边框,不可以改变窗口大小; 2-Sizable:双线边框,可以改变窗口大小;

3-Fixed Double:固定对话框,不可以改变窗口大小。

- 6 -

4-Fixed Tool Window:窗体外观与工具条相似。有关闭按钮 ,不可以改变窗口大小。 5-Sizable Tool Window:窗体外观与工具条相似。有关闭按钮 ,可以改变窗口大小。 10)Alignment属性:控件上正文水平对齐方式 11)Picture:窗体上显示的图片。(在属性窗口中用delete键删除已设置的图片) 12)MaxButton和MinButton属性

控制窗体右上角有最大化按钮和最小化按钮的显示 13)ControlBox属性

控制窗体左上角控制菜单框是否出现,当无控制菜单框时,同时窗体也无最大化按钮和最小化按钮,即使MaxButton属性和MinButton属性设置为Ture。 14)Icon属性

设置窗体左上角显示或最小化时显示的图标。

注意:此属性必须在ControlBox属性设置为Ture才有效。

15)WindowState:窗体的初始状态。0——正常状态、1——最小化状态、2——最大化状态 16)AutoRedraw属性

该属性决定窗体被隐藏或被另一窗口覆盖之后重新显示,是否重新还原该窗体被隐藏或覆盖以前的画面。即是否重画如Circle、Line、Pset和Print等方法的输出。

当为True时,重新还原该窗体以前的画面。 当为False时,则不重画AutoRedraw属性。 2、窗体事件 1)click

用鼠标单击窗体发生Click事件 2)dblclick

双击窗体触发该事件。 3)load、unload

load事件发生在窗体装入内存运行的时候,unload发生在窗体卸载的时候。 4)Activate、Deactivate 5)Paint 3、窗体方法

Print方法:在对象上输出信息。

Cls方法:运行时清除窗体(或图形框)中显示的文本或图形。 四、控件

1、常用类型:标准控件、ActiveX控件 、可插入对象 2、控件的命名 3、控件值

控件值是默认属性,程序运行时,可以改变某控件的值,而不必指定该控件的哪个属性。

控 件 文本框 命令按钮 单选按钮 默认属性 Text Default Value 控 件 标签 图形、图像框 复选框 默认属性 Caption Picture Value 例如,下面两条语句是等价的: Text1.Text=\Text1 =\4、控件的画法

画多个相同的控件:Ctrl+单击控件→画多个控件

- 7 -

5、控件的基本操作 1)控件的缩放和移动 2)控件的复制和删除

3)通过属性窗口改变对象的位置和大小 4)选择控件

选定多个控件: Shift(或Ctrl)+单击;拖动鼠标 5)控件布局: 选定多个控件→格式→?? Ⅲ、小结

本次课学生应该熟悉Visual Basic的一些基本的概念如对象及其三要素属性、方法、事件等。掌握窗体的常用属性与事件及控件的类型、命名、基本操作。 Ⅳ、作业

P30一、3、4、7 二、1~6

第7、8课时

实验一:Visual Basic环境和程序设计初步 实验目的:

1、熟悉Visual Basic窗口界面

2、掌握Visual Basic的启动和退出方法

3、掌握建立、编程和运行一个Visual Basic程序的方法和步骤 实验内容及步骤:

1、 熟悉Visual Basic窗口界面

2、 在一个窗体中建立两个按钮和一个标签,程序启动后,只显示两个按钮,“英文”和

“中文”,单击“英文”按钮显示“GOOD BYE”,否则显示“再见”。 要求:对于按钮和标签的属性自行设置。 步骤:

1) 建一个工程

2) 窗体中添加控件:两个按钮和一个标签,并分别设置属性 3) 设置事件代码:

Private Sub Form_Load() '加载窗体时让标签的值为空 Label1.Caption = \End Sub

Private Sub Command1_Click()

Label1.Caption = \ '让标签的值为GOOD BYE End Sub

Private Sub Command2_Click()

Label1.Caption = \再见\让标签的值为再见 End Sub

第9~10课时

课题:简单程序设计(一) 教学目的:

1、掌握VB中的基本语句

2、掌握编写简单的VB应用程序

- 8 -

教学重难点:

1、VB中的赋值语句、注释语句、暂停语句、结束语句 2、开发应用程序的一般步骤 教学方法: 多媒体教学 教学过程:

Ⅰ、复习上节内容 1、窗体的属性与事件 2、常用控件类型 3、控件命名及操作 Ⅱ、新课 一、VB语句

VB中的语句是执行具体操作的指令,每个语句以回车键结束。 1、通常情况下,一行一条语句;

2、允许将多个语句放在同一行中,各语句间用冒号(:)隔开; 3、一个语句行最大长度不得超过1023个字符;

4、使用续行符下划线(_)可将一行语句放在几行中,续行符前至少有一空格。 二、基本语句 1、赋值语句LET

赋值语句的一般格式为:[Let]〈名称〉=〈表达式〉 功能:将表达式的值赋给指定的变量或对象的属性。 说明:1)赋值语句兼有计算与赋值双重功能。 2)在赋值语句中,“=”是赋值号,与数学上的等号意义不一样。 3)名称与表达式的数据类型必须一致。

4)每一个赋值语句可以单独放在一行中,也允许多个语句放在同一行中,用冒号隔开。 5)以关键字Let开头,也称为Let 语句。Let可以省略。

例:交换两个变量中的数据。 设计步骤如下:

1) 建立应用程序用户界面。选择“新建”工程,进入窗体设计器,增加一个命令按钮

Command1、2个标签Label1和Label2。 2)设置对象属性, 3)编写程序代码。

编写命令按钮Command1的Click事件代码: Private Sub Command1_Click() t = Label1.Caption

Label1.Caption = Label2.Caption Label2.Caption = t End Sub

练习:已知长和宽,求矩形的面积。 设计步骤如下:

? 设计程序界面。选择“新建”工程,然后在窗体中增加一个标签Label1,一个命令按钮Command1和一个文本框Text1。 ? 设置对象属性。如下表所示。

- 9 -

属性设置

对象 Label1 Text1 Command1 属性 Caption Text Caption 属性值 已知:长=5,宽=7 则矩形面积=

? 编写事件代码。

命令按钮Command1的Click事件代码为: Private Sub Command1_Click()

Dim a As Single,b As Single,area As Single a=5 b=7 area=a*b

Text1. Text=Str(area)

End Sub

2、注释语句

语法格式为:Rem〈注释内容〉或'〈注释内容〉

说明:1)注释语句是非执行语句,仅对程序的有关内容起注释作用。 2)任何字符都可以放在注释行中作为注释内容。 3)注释语句不能放在续行符的后面。 例如:s = pi * r ^ 2 '计算圆的面积 v = 4 / 3 * pi * r ^ 3 : Rem 计算球的体积 3、暂停语句

其语法格式为:Stop 4、结束程序

其语法格式为:End 5、Unload语句

Unload语句的语法格式为:Unload 对象名 例:使用命令关闭程序窗体:

只需在上例中增加一个命令按钮Command2(关闭),并且编写Command2的Click事件代码:

Private Sub Command2_Click() Unload Me End Sub

三、编写简单的VB应用程序 1、建立用户界面

2、设置窗体和控件的属性 3、编写代码

打开代码窗口的方法: 1)双击已建好的控件 2)视图/代码窗口 3)按F7键

4)单击“工程资源管理器”窗口的“查看代码”按钮。

例:从工具箱往窗体上添加三个标签控件、一个文本框控件、两个命令按钮控件。按图示布

- 10 -

局窗体,并按代码设置各个控件的属性。 Private Sub Command1_Click()

Label3.Caption = Text1.Text + \恭喜你成为VB大家庭中的一员\End Sub

Private Sub Command2_Click()

End End Sub

Private Sub Form_Load()

Text1.Text = \Label3.Caption = \End Sub

Ⅲ、小结:

本次课学生应该掌握vb中的赋值语句、注释语句、暂停语句、结束语句及开发应用程序的一般步骤。 Ⅳ、作业:

P50一、1~5 二、1~3

第11~12课时

课题:简单程序设计(二) 教学目的:

1、进一步掌握编写简单的VB应用程序 2、掌握程序的保存、装入和运行 教学重难点:

1、开发应用程序的一般步骤 2、程序的保存、装入和运行 教学方法: 多媒体教学 教学过程:

Ⅰ、复习上节内容

1、VB中的赋值语句、注释语句、暂停语句、结束语句 2、打开代码窗口的方法 Ⅱ、新课

一、编写VB应用程序

在屏幕上开辟一个窗口,窗口的下部有3个命令按钮,其中左边按钮中标有“请单击此按钮”;中间按钮中标有“清屏”;右边按钮中标有“程序结束”。当用鼠标单击左边按钮时,屏幕上部的文本框中显示“欢迎使用VB6.0中文版”;如果单击中间按钮,则清除文本框中

- 11 -

显示的内容;而如果单击右边的按钮,则结束程序。

二、代码编辑器

代码编辑器是一个窗口,大多数代码都在此窗口上编写。 工具/选项——编辑器

Option Explicit

三、程序的保存、装入和运行 1、保存程序

2、程序的装入:装入应用程序实际上就是装入工程文件。 3、程序的运行 1)解释运行

2)生成可执行文件:文件/生成??.exe 四、添加、删除和保存文件 1. 窗体名和窗体文件名概念 窗体名:窗体的Name属性,在代码中用来引用该窗体,同一工程不能有相同的窗体名; 窗体文件名:窗体存放在磁盘上的文件名,该文件包含了该窗体的所有控件属性和代码,同一文件夹不能有相同的文件名。

2. 在工程中添加现存的窗体时,只是对该窗体文件的引用纳入工程。因此,如果更改窗体并保存它,会影响包含此窗体文件的任何工程。

3. 在工程中删除窗体时,仅将此窗体从工程里删除掉,但是窗体文件仍存在于磁盘上。但

- 12 -

是,如果在VB之外删除一个窗体文件,VB不能更新此工程文件,当打开此工程时,将显示一个文件丢失的错误信息。 4. 对窗体文件改名方法 1) 打开工程

“另存为?Form”实现文件的复制——保存工程文件。 2) 利用编辑程序打开工程文件,修改FORM=XXX的文件名。 五、VB应用程序的构成 1、窗体模块 2、标准模块 3、类模块 六、事件驱动

当某个事件被触发,若该事件的事件过程不为空,即预设了可执行的代码段(由程序员编写),则执行该代码段。

整个VB应用程序就是由这些彼此独立的事件过程组成。事件过程执行与否以及执行顺序取决于用户的操作。若用户未触发任何事件,应用程序就处于等待状态。 七、常见错误

1. 使用中文标点符号 系统产生“无效字符”,以红色显示。 2. 字母和数字形状相似

小写字母“l”和数字“1”形式相同、小写字母“o”与数字“0”。 3. 对象名称(Name)属性写错 Text1、Text2、Command1 txtInput、txtOutput、cmdOk

4. 对象的属性名、方法名、标准函数名写错

尽量使用自动列出成员功能。正确的系统按规定的大小写表示。 5. 无意形成控件数组

建立控件时小心使用“复制”、“粘贴”按钮。 6. 打开工程时找不到对应的文件

保存文件时先保存窗体.frm文件、再保存.vbp文件,注意路径。 Ⅲ、小结:

本次课学生应该进一步掌握开发应用程序的一般步骤,程序的保存、装入和运行。 Ⅳ、作业: P51二、4~8

三、编程题

第13、14课时

课题:VB的基本数据类型

教学目的:掌握各种数据类型的具体规则、用法和异同 教学重难点:浮点数的概念及用法 教学方法:多媒体教学 教学过程: Ⅰ、复习上节内容

- 13 -

1、开发应用程序的一般步骤 2、程序的保存、装入和运行 Ⅱ、新课

一、数据类型概述

数据:计算机能够处理数值、文字、声音、图形、图像等信息,均称为数据。

数据类型:根据数据描述信息的含义,将数据分为不同的种类,对数据种类的区分规定,称为数据类型。数据类型的不同,则在内存中的存储结构也不同,占用空间也不同。 VB的基本数据类型:(编程中可直接使用基本类型)

字符串型 数值型数据(主要数据类型) 货币型 字节型 日期型 逻辑型 对象型 变体型 二、基本数据类型

1、字符串( String,类型符$)

字符串是一个除了回车和双引号的字符序列,由标准的ASCII字符和扩展ASCII字符组成。放在双引号内 例如:\ \ \计算机\ \ \ \空串)

如果字符串本身包括双引号,可用连续两个双引号表示。 例: 要打印以下字符串:

\

在程序中需要将该字符串表示成: \ 分类:变长字符串、定长字符串 说明:

1)双引号为分界符,输入和输出时并不显示。 2)字符串中包含字符的个数称为字符串长度。

3)长度为零的字符串称为空字符串,比如\,引号里面没有任何内容。 4)字符串中包含的字符区分大小写。

5)字符串可分为变长字符串和定长字符串两种。 (1)变长字符串(长度为字符串长度)

例:dim a as string a=\ a=\

(2)定长字符串(长度为规定长度)

对于定长字符串,当字符长度低于规定长度,即用空格填满,当字符长度多于规定长度,则截去多余的字符。

例:dim a as string * 10 2、数值数据类型

数值型数据分为整型数和浮点数两类。其中整型数又分为:整数、长整数,浮点数分为单精度浮点数(Single)双精度浮点数(Double)。 1)整型数

整型数是指不带小数点和指数符号的数。 按表示范围整数型分为:整数、长整数 (1)整数(Integer,类型符%)

整数在内存中占两个字节(16位) 十进制表示:由+ -号,0~9 组成

十进制整型数的取值范围:-32768 ~ +32767

例如:15,-345,654%都是整数型。而45678%则会发生溢出错误。

- 14 -

(2)长整数(Long,类型符&)

长整数型在内存中占4个字节(32位)。

十进制长整型数的取值范围:-2147483648 ~ +2147483647 例如:123456,45678&都是长整数型。 2)浮点数(实数或实型数)

3.234E+2 表示3.234?102

尾数部分 指数部分

浮点数是指带有小数部分的数。浮点数由三部分组成:符号,指数和尾数。 注意:数12和数12.0对计算机来说是不同的,前者是整数(占2个字节),后者是浮点数(占4个字节)

在VB中浮点数分为两种:单精度浮点数( Single ) 双精度浮点数( Double ) (1)单精度浮点数(Single,类型符!)

在内存中占4个字节(32位),有效数字:可以精确到7位十进制数 取值范围:负数 -3.402823E+38 ~ -1.401298E-45 正数 1.401298E-45 ~ 3.402823E+38

在计算机程序里面不能有上标下标的写法,所以乘幂采用的是一种称为科学计数法的表达方法。

这里用E或者e表示10的次方(E/e大小写都可以) 比如:1.401298E-45表示1.401298的10的负45次方 vb里面可以这样表示:8.96E-5

例:21e5(正号省略)表示:21乘以10的5次方的一个单精度数 (2) 双精度浮点数(Double,类型符#)

Double类型数据在内存中占用8个字节(64位)

Double型可以精确到15或16位十进制数,即15或16位有效数字。 取值范围:

负数:–1.797693134862316D+308 ~ -4.94065D-324 正数: 4.94065D-324 ~ 1.797693134862316D+308

比如17.88D5,表示它是一个双精度数,表示17.88乘以10的5次方 这里用D来表示10的次方

? 指数表示法:单精度数E,双精度数D 例: -28E9 表示-28?109 4.56E-17 表示4.56?10-17

? 整数运算速度快、精确,但表示数的范围小。 ? 浮点实数表示数的范围大,但有误差 3、货币型(Currency,类型符@)

主要用来表示货币值,在内存中占8个字节(64位);

整数部分为15位,可以精确到小数点后4位,第五位四舍五入;属于定点实数 货币型数据的取值范围:

-922337203685447. 5808 ~ 922337203685447. 5807 跟浮点数的区别:小数点后的位数是固定的,4位 例如:3.56@ 、 65.123456@都是货币型。 4、变体数据类型(Variant )

变体数据类型是一种特殊数据类型,具有很大的灵活性,可以表示多种数据类型,其最

- 15 -

终的类型由赋予它的值来确定。 5、字节型(Byte,无类型符)

一般用于存储二进制数。字节型数据在内存中占1个字节(8位)。 字节型数据的取值范围:0 ~ 255 6、逻辑型(Boolean)

逻辑型数据在内存中占2个字节。

逻辑型数据只有两个可能的值: True(真) False(假)

若将逻辑型数据转换成数值型,则:True(真)为 –1 False(假)为 0 当数值型数据转换为Boolean型数据时:非0的数据转换为true,0为false。 7、日期型(Date)

在内存中占用8个字节,以浮点数形式存储。

日期型数据的日期表示范围为:100年1月1日~9999年12月31日 日期型数据的时间表示范围为: 00:00:00 ~ 23:59:59

用# 括起来放置日期和时间,允许用各种表示日期和时间的格式。 日期可以用“/”、“,”、“-”、“空格”分隔开,可以是年、月、日,也可以是月、日、年的顺序。时间必须用“:”分隔,顺序是:时、分、秒。

例:合法的日期型数据格式:

#5/23/98#,#23/5/1998#,#May 23,98#,

#May-23-98#,#23 May 98#,#98 May 23#,#98 23 May# ? 只要数据格式正确,系统自动转换为月/日/年格式。 可以在一般日期表示方式中加入时间数据

例如:#May 23 98 8:30PM#、#May 23 98 20:30#等。 补充:序号表示方式

? 序号是双精度的浮点数值,自动解释为日期和时间。整数部分表示日期(Serial Date),小数部分表示时间(Serial Time)。

? 计算日期序号的基准日为公元1899年12月30日(日期序号为0);基准日前的日期以负值表示;基准日后的日期为正值。 ? 序号表示的日期范围:公元100年1月1日(-657434)到9999年12月31日(2958465)。 Private Sub Command1_Click() Dim a As Date a = -5

Print a 结果为1899-12-25 End Sub

8、对象数据类型(Object )

对象型数据在内存中占用4个字节。用以引用应用程序中的对象。 9、Decimal 数据类型

Decimal数据在内存中占用12个字节。目前Decimal 数据类型只能在变体类型(Variant)中使用,不能把一个变量声明为Decimal 类型。 Ⅲ、小结:

本次课要掌握各种数据类型的具体规则、用法和异同。

- 16 -

Ⅳ、作业:

P81一、3~6

二、简述VB基本数据类型。(写成表格形式)

第15~18课时

课题:常量和变量 教学目的:

1、掌握VB语言字符集及编码规则 2、掌握常量、变量的使用 3、掌握变量的作用域 教学重难点:

1、VB语言字符集及编码规则 2、常量的使用 3、变量的使用 4、变量的作用域

教学方法: 多媒体教学 教学过程:

Ⅰ、复习上节内容

1、常用数据类型的用法。 Ⅱ、新课

一、VB语言字符集

字母:包括大写英文字母A~Z和小写英文字母a~z 数字:数字是指0~9

- 17 -

专用字符27个 二、编码规则

1) Visual Basic代码中不区分字母的大小写。

2) 在同一行上可以书写多条语句,但语句间要用冒号“:”分隔。

3) 若一个语句行不能写下全部语句,或在特别需要时,可以换行。换行时需在本行后加入续行符,即1个空格加下划线。 4) 一行最多允许255个字符。

5) 注释以Rem开头,也可以使用单撇号“'” 开头,注释内容可直接出现在语句的后面。 三、约定

1) 为了提高程序的可读性,将关键字的首字母大写。若关键字由多个英文单词组成,则每个单词的首字母都大写,如 StudType等。

2) 注释有利于程序的维护和调试,因此要养成注释的习惯。

选中要加注释块的语句行,单击编辑工具栏的“设置/取消注释块”按钮 ,使得将若干行语句或文字设置为注释或取消注释。 四、常量

VB中的常量分为文字常量和符号常量。 (一)文字常量

字符串常量和数值常量。 1、字符串常量 \2、数值常量

1)整形数:有3种形式,即十进制、十六进制(&H)和八进制(&或&O)

2)长整形数:有3种形式,即十进制、十六进制(以&H开头,以&结尾)和八进制(以&或&O开头,以&结尾) 3)货币型数 4)浮点数

(二)符号常量

一般格式:Const 常量名=表达式 说明:

1、在声明符号常量时,可以在常量名后面加上类型说明符。 如 Const one&=1 2、当在程序中引用符号常量时,通常省略类型说明符。

3、类型说明符不是符号常量的一部分,定义符号常量后,在定义变量时要慎重。 如已定义 Const num=45 则num!、num#、num&、num@不能再用作变量名或常量名。 另:系统定义符号常量

VB内部已定义,可以直接使用的常量。

查看内部常量: 视图→对象浏览器→ 选择库、类、 成员 如:vbCrLf 回车符和换行符 等效于 Chr$(13)+Chr$(10) 五、变量

1、变量的命名规则

①变量名必须以字母或汉字开头,所有字母不分大小写,但一般习惯单词的第一个字母大写。 ②不能包含圆点“.”。

③字符总个数不得超过255个字符。 ④在同一个范围内必须是惟一的。

⑤变量名要“见名知义”,即变量名要便于记忆、有意义。 ⑥不能用 Visual Basic的关键字作为变量名。如:print

- 18 -

⑦变量名不能与过程名和符号常量名相同。 2、变量的类型和定义 1)用类型说明符来标识

当使用或定义变量时,可以在变量第一次出现时名字尾部加上类型声明符直接声明变量类型。

%整型、& 长整形、!单精度、#双精度、@货币型、$字符串型 2)在定义变量时指定其类型 格式:Declare 变量名 As 类型

“Declare”可以是:Dim,Static,Redim,Private,Public “As”:关键字

“类型”:基本数据类型或用户定义的类型

在使用非 Variant 变量之前,必须使用 Private、Public、Dim 或 Static 语句将变量声明为 As type。例如,下列语句分别声明了 Integer、Double、String 和 Currency 类型的变量:

Private I As Integer Dim Amt As Double

Static YourName As String Public BillsPaid As Currency

一个声明语句可将多个声明组合起来: Private I As Integer,Amt As Double

? Dim语句:可以用于模块级和过程级中声明定义变量,模块中的声明的变量对该模块中

的所有过程都是可用的。在过程级中的声明的变量只在过程内是可用的。

例如:Dim StudentName As String

? Static语句:在过程级别中使用,用于声明变量并分配存储空间。在整个代码运行期

间都能保留使用 Static 语句声明的变量的值。不能用于模块级的变量声明。

例如:Static StudentName As String

? Private语句:只用于模块级别中声明变量,对该模块中的所有过程都是可用的。

例如:Private StudentName As String

? Public语句:在模块级别中使用,用于声明公用变量和分配存储空间。在窗体模块中

声明的变量为全局可见变量,在标准模块中声明的变量为全局变量。不可以用于过程中声明。使用全局可见变量时,应按照“窗体名称.变量名称”的格式使用。

例如:Public StudentName As String

? Redim 主要用于标准模块中定义全局变量或数组 3)用DefType语句定义

格式:DefType 字母范围 功能:在标准模块、窗体模块的声明部分定义开头字母为指定字母范围内的变量的数据类型。

Def为保留字,Type为类型标志,可以是Int整型、Lng长整型、Sng单精度、Dbl双精度、Cur货币型、Str字符型、Byte字节型、Bool布尔型、Date日期型、Obj对象型、Var变体型。

注意:Def和类型标志之间没有空格。

例:DefStr D-F 所有变量名称的开头字母在D到F之间(含D、F)的变量,定义为字符类型。

Deftype 语句只在使用该语句的模块中有效。如果不用 Deftype 语句显式地声明,缺

- 19 -

省数据类型是 Variant。

在指定了A–Z 范围之后,就不能再使用 Deftype 语句来重新定义任何子范围的变量了。在指定一个范围后,如果另一个 Deftype 语句定义的范围中含有前面已定义的字符,就会产生错误。不过,不管变量是否已定义,都可以使用带 As type 子句的 Dim 语句来显式指定其数据类型。

注意4点:

(1)如果一个变量未被显示定义,末尾也没有类型说明符,则被隐含地说明为变体类型变量。

(2)用DefType定义的变量只对它所在的模块起作用。类型说明符(% & # !@ $)总是比语句优先起作用。

(3)根据需要设置变量的类型。

(4)用类型说明符定义的变量,在使用时可以省略类型说明符。 六、变量的作用域

变量的作用域指定的是变量的有效范围,即变量的“可见性”。定义了一个变量后,为了能正确地使用变量的值,应当明确可以在程序的什么地方访问该变量。

应用程序由3种模块组成,即窗体模块、标准模块、类模块。 1、局部变量与全局变量 1)局部变量

在过程(事件过程或通用过程)内定义的变量叫做局部变量,其作用域是它所在的过程。局部变量通常用来存放中间结果或用作临时变量。某一过程的执行只对该过程内的变量产生作用,对其他过程中相同名字的局部变量没有任何影响。因此,在不同的过程中可以定义相同名字的局部变量,它们之间没有任何关系。如果需要,则可以通过“过程名.变量名”的形式分别引用不同过程中相同名字的变量。

局部变量在过程内用Dim、Static定义。 2)模块变量(窗体变量和标准模块变量)

窗体变量可用于该窗体内的所有过程。当同一窗体内的不同过程使用相同的变量时,必须定义窗体层变量。在使用窗体层变量前,必须先声明,也就是说,窗体层变量不能默认声明。其方法是,在程序代码窗口的“对象”框中选择“通用”,并在“过程”框中选择“声明”,然后就可以在程序代码窗口中声明窗体层变量。

注意:在窗体模块声明的Public变量,全局可使用,但它不是全局变量,是全局可见变量。使用时,格式为“窗体名称.变量名称”。

标准模块中模块层变量的声明和使用与窗体模块中窗体层变量类似。

标准模块是只含有程序代码的应用程序文件,其扩展名为.bas。为了建立一个新的标准模块,应执行“工程”菜单中的“添加模块”命令,在“添加模块”对话框中选择“新建”选项卡,单击“模块”图标,然后单击“打开”按钮,即可打开标准模块代码窗口,在这个窗口中可以输入标准模块代码。 ? 在默认情况下,模块级变量对该模块中的所有过程都是可见的,但对其他模块中的代码

不可见。模块级变量在模块的声明部分用Private或Dim声明。 3)全局变量

全局变量也称全程变量,其作用域最大,可以在工程的每个模块、每个过程中使用。和模块级变量类似,全局变量也在标准模块的声明部分中声明。所不同的是,全局变量必须用Public或Global语句声明,不能用Dim语句声明,更不能用Private语句声明;同时,全局变量只能在标准模块中声明,不能在过程或窗体模块中声明。 2、变量的声明

- 20 -

用Dim和Public(或Global),语句可以定义局部变量、模块级变量和全局变量。对于局部变量来说,也可以不用Dim(或Static)定义,而在需要时直接给出变量名。变量的类型可以用类型说明符(%、&、!、#、$、@)来标识。如果没有类型说明符,Visual Basic把该变量指定为变体数据类型。 Private Sub Command1_Click()

Answer = InputBox$(\ If Answer = \

MsgBox \ Else

MsgBox \ End If End Sub ①显式声明

形式: Dim 变量名 [AS 类型] Dim 变量名类型符

例 Dim a As integer , b As single 等价于 Dim a%, b! ②隐式声明

未进行上述的声明而直接使用,其类型为 Variant 类型。 ③强制显式声明

通用声明处加 Option Explicit 语句可强制显式声明变量。 3、小结

局部变量:只能在一个函数或过程中访问的变量。其他过程或函数不能访问此变量的数据。使用Dim或Static定义,不可以使用Private定义。

模块变量(窗体变量和标准模块变量):只能在一个模块中访问的变量。其他模块中不能访问此变量的数据。可以使用Private和Dim声明。不可以使用Static声明。

全局变量:在整个工程中的任何地方都可以访问的变量。使用Public或Global声明。 默认声明:使用类型声明符放在变量名字的后面可以直接声明变量类型。 类型声明符:%整型、& 长整形、!单精度、#双精度、@货币型、$字符串型 Ⅲ、小结

本次课我们要掌握变量,常量的声明及使用方法。要掌握变量有哪些类型,怎么使用它们,注意VB里的变体类型的变量,自定义变量等,以及常量的使用。 Ⅳ、作业

P81一、3~8 二、18

一、1、2 二、简述变量的命名规则。

第19、20课时

课题:常用内部函数 教学目的:

1、会使用VB常用内部函数,了解VB其他内部函数 教学重难点:

1、 转换函数int、Fix、Asc、Chr、Str、Val 2、 随机函数Rnd

- 21 -

教学方法: 多媒体教学 教学过程:

Ⅰ、复习上节内容 1、变量的命名规则。

2、变量,常量的声明及使用方法。 Ⅱ、新课

VB提供大量的内部函数供编程时调用。按其功能可分成数学函数、转换函数、字符串函数、日期函数和格式输出函数等。 1、转换函数

1)取整函数Int( ) 函数格式:Int(x)

功能:求不大于x的最大整数,返回值为整型数。

举例:设x=5.67, y=-5.67, 则Int(x)=5,int(y)=-6。 2)舍去小数部分函数Fix(X) 函数格式:Fix(x)

函数功能:去掉x的小数部分,返回值为整型数。

举例:设a=5.69,b= -5.88,则 Fix(a) 和 Fix(b) 的值分别为 5和-5 3)Asc(x$)给出字符x的ASCII码值,结果为十进制数。 举例:Asc(\

4)Chr$(x) 返回以x为ASCII码的字符。 举例:Chr$(65)= \

5)Str$(x) 将数值数据x转换成字符串。 举例:Str$(123.45)=\

6)Cint(x) 将数值型数据x的小数部分四舍五入取整。

cint(2.6)= 3 cint(-2.6)= -3 cint(-2.3)= -2 cint(2.3)= 2 7)Val(x) 将字符串x中的数字转换成数值。数字字符串转换为数值。 Val(\123 Val(\Val(\

Val(\转换函数说明:

(1) Chr和Asc函数互为反函数。

(2) Str函数将非负数值转换成字符类型后,会在转换后的字符串左边增加一空格。

(3) Val将数字字符串转换为数值类型,当字符串中出现数值类型规定的字符外的字符,则停止转换,函数返回的是停止转换前的结果。 例如表达式:Val(\结果为-123.45 2、数学函数

1)Sin(x) 求x的正弦值,x的单位是弧度,1度=π/180=3.14159/180(弧度) 2)Cos(x) 求x的余弦值,x的单位是弧度 Cos(0)= 1 Sin(0)=0 3)Tan(x) 求x的正切值,x的单位是弧度 Tan(0)=0

4)Atn(x) 求x的反正切值,x的单位是弧度,函数返回的是弧度值 5)Abs(x) 求x的绝对值 Abs(-3.5)=3.5

6)Sgn(x)返回自变量X的符号,X为正数返回1,X为负数返回-1 ,X为0返回0 7)Sqr(x) 求x的平方根,x必须大于或等于0

8)Exp(x)返回以e为底、以x为指数的值,即求e的x次方

- 22 -

3、日期和时间函数

Now:返回系统日期和时间

Date: 返回系统日期 Time:返回系统时间 1)Day(Now) 返回日期代号(1-31)

2)WeekDay(Now) 返回星期代号(1-7),星期日为1 3)Month(Now) 返回月份代号(1-12) 4)Year(Now) 返回当前的年份 5)Hour(Now)返回小时(0-23) 6)Minute(Now) 返回分钟(0-59) 7)Second(Now) 返回秒(0-59)

例:计算从现在开始离你毕业还有多少天? #6/7/2008# - Date 4、随机数函数Rnd(x)

Rnd [(x)],变量x可省略,可产生一个[0,1)之间的单精度随机数。 ①当x<0时,则每次产生的随机数都相同。 ②当x>0或省略时,产生下一个随机数。

③当x=0时,则该次产生的随机数与上一次产生的随机数相同

? Rnd函数返回0和1(包括0但不包括1)之间的单精度随机数。

? 每次运行时,要产生不同序列的随机数,先执行Randomize 语句(参数最好为不断变

化的值,如计算机系统Timer)。

? 产生a~b的之间的随机整数:Int(Rnd *(b-a+1)+a)。

例1:产生[30,50]之间的随机整数,可用下面表达式: Int(Rnd*21+30)

例2:使用 Rnd 函数随机生成一个 1 到 6 的随机整数, 可用下面表达式:Int(Rnd*6 + 1) Ⅲ、小结

本次课我们要掌握常用的内部函数的使用。 Ⅳ、作业

一、写出下列函数的结果:

1、int(5.3) int(5.6) int(-5.3) int(-5.6) 2、fix(5.3) fix(5.6) fix(-5.3) fix(-5.6)

3、Abs(-3.9) cint(-2.3) Asc(\ chr(68) sgn(-2) 二、写出产生[100,200]之间的随机整数的表达式。

第21、22课时

课题:运算符和表达式 教学目的:

1、掌握运算符组成的表达式的计算 2、掌握表达式的用法及书写规则 教学重难点:

1、VB常用的运算符及表达式 2、运算符的优先顺序 教学方法: 多媒体教学 教学过程:

- 23 -

Ⅰ、复习上节内容

1、常用的内部函数的使用。 Ⅱ、新课

要建立一个VB应用程序会用到各种不同的数据以及由这些数据和各种运算符号组成的表达式,还有一些常用函数。 一、运算符与表达式

1、算术运算符:^ -(负号) * / \\ mod + - &

ia=3

2、算术表达式

由常量、变量、算术运算符、圆括号和函数等连接形成。 1)Visual Basic中不能省略乘号运算 2)所有的括号一律使用圆括号

3)数学表达式中的表示特定含义的符号要写成具体的数值。如解圆面积的表达式2πr,在 VB中要写成 2*3.14*r

例:5+10 mod 10 \\ 9 / 3 +2 ^2 结果:10 注意:

对算术运算符两边的操作数应是数值型,若是数字字符或逻辑型,则自动转换成数值类型后再运算。 例如:

30-True 结果是31,逻辑量True转为数值-1,False转为数值0 False + 10 + \结果是14 3、字符串连接运算符 连接运算符:& 和+,“&”专门用作字符串连接,“+”即可作加法运算也可作字符串连接 \结果\,\结果579,123+\结果579 4、字符串表达式

一个字符串表达式是由字符串常量、字符串变量、字符串函数、字符串运算符和括号等连接形成的一个有意义的运算式子,如:

“xyz”& “123”&left(“abc”,2) 就是一个字符串表达式,

字符串连接运算符“&”的优先级低于所有的算术运算符,而高于其他的运算符。 注意:

1、& 两旁的操作数可任意,转换成字符型后再连接 2、在变量后使用运算符&时,变量与&间应加一个空格

3、 + 两旁的操作数应均为字符型;若为数值型则进行算术加运算;若一个为数字字符,另

- 24 -

一个为数值,则自动将数字字符转换为数值后进行算术加;若一个为非数字字符型,另一个为数值型,则出错。例如:

操作 结果 操作 结果 \ \ 出错 \ \\ \5、关系运算符:= <> < > <= >=

关系运算符是双目运算符,作用是将两个操作数进行大小比较,若关系成立,则返回True,否则返回False。操作数可以是数值型、字符型。 6、关系表达式

1)关系运算符、算术表达式、字符串表达式和括号等连接形成的一个运算式,它两侧参加运算的数据类型必须完全一致。

2)日期型数据进行比较时,将日期看成“yyyymmdd”的8位整数, 再按数值进行比较 3)常见的字符值的大小比较关系如下:

“空格”<“0”< ?<“9”<“A”

字符串比较,按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止。 例: \ 结果为 False 将两个操作数进行大小比较,结果为逻辑量。

4)所有的关系运算符的优先级都相同,按从左向右的次序进行运算。 7、逻辑运算符和逻辑表达式

将操作数进行逻辑运算,结果是逻辑值(-1为真,0为假)

格式为:<关系表达式1><逻辑运算符><关系表达式2> 逻辑运算符除Not是单目运算符外,其余都是双目运算符,作用是将操作数进行逻辑运算,结果是逻辑值True或False。

高到低顺序:Not(非),And(与),Or(或) 二、运算符的优先顺序

在一个表达式中,如果同时有多个运算符存在,则它们的优先顺序由高到低依次为: 函数运算→算术运算符→字符运算符→关系运算符→逻辑运算符 算术运算符的优先级顺序由高到低依次为:

∧(指数运算)→-(负数)→*,/(乘法,浮点除法)→\\(整数除法)→Mod(取模运算)→+,-(加法,减法)→连接(&)

其中,“*”,“/”具有相同的优先级;“+”,“-” 具有相同的优先级。 在关系运算符中,所有的运算符具有相同的优先级。 逻辑运算符的优先级顺序由高到抵依次为: Not(非),And(与),Or(或),Xor(异或),Eqv(同或),Imp(蕴含)。 用括号控制运算的优先次序可以使程序清晰易读,而且不易出错。 例:写出VB表达式4*6>3*7 Or Not 5>2的值。 计算步骤如下:

? 算术运算:24>21 Or Not 5>2 ? 关系运算:True Or Not True ? 逻辑运算:True Or False ? 结果:True 三、表达式 1.组成

- 25 -

变量、常量、函数、运算符和圆括号 2.书写规则

(1) 运算符不能相邻。例a+ -b是错误的。 (2) 乘号不能省略。例x 乘以y 应写成:x*y (3) 括号必须成对出现,均使用圆括号。

(4) 表达式从左到右在同一基准上书写,无高低、大小。 3. 不同数据类型的转换

运算结果的数据类型向精度高的数据类型靠. Integer

算术运算符>字符运算符>关系运算符>逻辑运算 5.表达式书写举例

abcd1) efg

写成:a*b*c*d/e/f/g 或 a*b *c*d/(e*f*g)

e10?ln102) ?sin45? x?y?1写成:sin(45*3.14/180)+(exp(10)+log(10))/sqr(x+y+1) Ⅲ、小结

本次课我们要掌握常用的内部函数的使用及运算符和表达式的用法及书写规则。特别要注意运算符的优先顺序。 Ⅳ、作业

P82一、9~11 二、1~10

第23、24课时

实验二 数据类型与表达式 一、实验目的:

1、 了解VB各种数据类型,掌握常量与变量的各种数据类型。 2、 掌握变量名的命名规则。

3、 掌握表达式的类型及其正确书写规则 4、 掌握常用内部函数的使用。 5、 掌握语句的书写规则。 二、实验内容

1、调试课本中的题目

2、数值变量和表达式的简单应用。 3、字符变量和表达式的简单应用。 4、关系运算符和逻辑运算符的使用。 5、算术函数的使用

- 26 -

第25、26课时

课题:复习本章内容 教学目的:

通过复习进一步巩固本章所学知识,加深对各个考点知识的理解。培养学生学会总结归纳的学习习惯。 教学重难点: 1、数据类型 2、常量和变量 3、变量的作用域 4、常用内部函数 5、运算符与表达式

教学方法: 多媒体教学 教学过程: 一、数据类型 基本数据类型有: 1、字符串 2、数值

1)整形数:整数和长整数 2)浮点数:单精度和双精度 3、货币 4、变体

5、其他数据类型

1)字节 2)布尔 3)日期 4)对象 二、常量和变量 (一)常量 1、文字常量 1)字符串常量 2)数值常量

A、整形数:十进制、十六进制、八进制 B、长整型数:十进制、十六进制、八进制 C、货币数

D、浮点数: 单精度和双精度 2、符号常量:const (二)变量 1、命名规则

2、变量的类型和定义

1)用类型说明符来标识 2)在定义变量时指定其类型

Dim用于在标准模块、窗体模块或过程中定义变量或数组。 Static用于在过程中定义静态变量及数组变量。 Public用来在标准模块中定义全局变量或数组。 3)用DefType语句定义 三、变量的作用域

不同作用范围的三种变量声明及使用规则

- 27 -

作用范围 声明方式 局部变量 Dim Static 窗体/ 模块级 变量 Dim Private 全局变量 窗体 Public 标准模块 声明位置 被本模块的 其他过程存取 被其他模块存取 过程中 不能 不能 通用声明 能 不能 通用声明 能 能 变量名前加窗体名 能 四、常用内部函数 int(0.8)= 0 int(-0.8)= -1 Fix(1.6)=1 Fix(-1.6)=-1 Asc(\ Chr(65)= \ Val(\ Val(\ Val(\ val(\ Val(\ str(123)= \ Cint(-12.6)=-13 Cint(-12.6)= -13 Cint(-12.3)= -12 Cint(12.6)=13 Cint(12.3)=12 Abs(-5)=5 sqr(36)=6 sgn(100)=1 sgn(-100)= -1 sgn(0)=0 Sin(90*3.1415926/180)=1 1°=π/180=3.14159/180弧度 Month(#5/30/207#)=5 Hour(#15:30:20#)=15 Rnd*100 产生(0,100)之间的随机数 Int(Rnd*50+10) 产生[10,59]之间的随机整数 五、运算符与表达式 1、算术运算次序

()? 函数?^ ? -(负) ? * /? \\ ?mod? + - ? & 2、逻辑运算: NOT?AND?OR 3、表达式的执行顺序

函数运算?算术运算?关系运算?逻辑运算

例1:用人单位招聘秘书:年龄小于30岁的女性,学历专科或本科, 年龄<30,性别=“女”,(学历=“专科”,学历=“本科”)

And And Or

考虑:若分别写成下列形式有什么不同:

年龄<30 And 性别= \女\学历= \专科\学历= \本科\ 年龄<30 Or 性别= \女\学历= \专科\学历= \本科\例2:表示算术表达式:

正确的VB表达式: 3<=x And x <=7

错误的VB表达式: 3<=x<=7 或 3<=x Or x<=7

比a小,比b大 用 Or 比a大,比b小 用 And

例3:选拔优秀生的条件为:年龄(Age)小于19岁,三门课总分(Total)高于285分,其中有一门为100分,如果其表达式写为:

Age<19 And Total>285 And ( Mark1=100 Or Mark2=100 Or Mark3=100 ) 如果取消括号有何问题?请大家考虑。 六、常见错误:

1. 逻辑表达式书写错,在VB没有造成语法错而形成逻辑错。

- 28 -

例如,数学表达式 3≤x<10 VB表达式写为 3<=x<10。 2. 同时给多个变量赋值,在VB没有造成语法错而形成逻辑错。 例如:Dim x%,y%,z% x=y=z=1 3. 标准函数名写错 4. 变量名写错

检查方法:在通用声明段加Option Explicit 5. 语句书写位置错

在通用声明段只能有Dim语句,不能有赋值等其他语句

小结:本节课进一步巩固本章所学知识,加深对各个考点知识的理解。 作业:完成本章练习卷

第27、28课时

课题:数据的输入输出 教学目的:

1、掌握Print方法的格式及与之相关的属性和方法 2、掌握InputBox函数的格式及使用 教学重难点:

1、Print方法的格式

2、InputBox函数的格式及使用 教学方法: 多媒体教学 教学过程: Ⅰ、引入

除界面外,一个计算机程序通常可分为3部分,即输入、处理和输出。计算机通过输入操作接收数据,然后对数据进行处理,并将处理完的数据以完整有效的方式提供给用户,即输出。数据的输入输出是应用程序与用户交互的桥梁,VB对数据输入输出采取什么方式呢? Ⅱ、新课

一、数据的输出 1、Print方法

Print方法的格式如下:

[对象名称.]Print [表达式表][,|;]

①对象名称可以是窗体、图片框、打印机或立即窗口。“对象名称”可以省略,默认的输出对象为窗体。

②“表达式”是被输出的内容,它们可以是数值表达式或字符表达式。 Debug.Print \在立即窗口输出数据\

③多个表达式时,用逗号、分号隔开,如果用逗号分隔,则按标准输出格式显示各数据,此时,以14个字符位置为单位把一个输出行分为若干个区段(输出区),逗号后的表达式在下一个区段输出。如果用分号分隔,则按紧凑格式输出数据。

④Print方法具有计算和输出的双重功能。对于表达式,先计算后输出。 ⑤每执行一次Print方法要自动换行,除非末尾加上一个分号或逗号。

⑥Print方法后面无任何表达式,表示输出一个空行;一个空Print方法的末尾有逗号或分

- 29 -

号时,则该Print语句表示结束上一个Print方法末尾的逗号或分号。 2、与Print方法有关的标准函数 1)Tab函数

格式:Tab(n)

功能:把光标移到由参数n指定的位置。被输出的内容要放在Tab函数的后面,并用分号分隔。

如:Print Tab(20); \输出在第二十列\ 注意:

? 如果当前行上的打印位置大于 n,则 Tab 将打印位置移动到下一个输出行的第 n 列

上。

? 如果 n 小于 1,则 Tab 将打印位置移动到列 1。

? 如果 n 大于输出行的宽度,则 Tab 函数使用以下公式计算下一个打印位置:

n Mod width(输出行的宽度)

例如,如果 width 是 80,并指定 Tab(90),则下一个打印将从列 10 开始(90/80 的余数)。如果 n 小于当前打印位置,则从下一行中计算出来的打印位置开始打印。如果计算后的打印位置大于当前打印位置,则从同一行中计算出来的打印位置开始打印。 2)Spc函数 格式:Spc(n)

功能:光标跳过n个空格 注意:

①参数n是一个数值表达式,其取值范围为0~32767的整数,Spc函数与输出项间要用分号分隔。

②Tab(n)和Spc(n)间的区别:Tab(n)的作用表示使被输出的内容输出到第n列(从对象的左端开始计算)的位置处,而Spc(n)表示两个输出项间空n格。 3)空格函数 格式:Space$(n)

功能:产生n个空格的字符串。 Spc函数和Space函数间的区别:

? 二者用于Print方法时,无区别。

? Spc( )函数不能用于字符串的运算,而Space( )函数可以用于字符串的运算 如:

str$=\3、与Print方法有关的属性和方法 1)ScaleWidth和ScaleHeight属性 [对象名.]ScaleHeight[=value] [对象名.]ScaleWidth[=value]

① 对象名可以是窗体名、图片框名或打印机对象(Printer),如果省略对象名时,表示当前窗体。

②只能在程序代码中使用,不能在设计界面时设定其值。 ③若省略\,则表示返回当前对象的宽度和高度。 2)CurrentX和CurrentY属性

将当前输出位置定位于屏幕坐标值为CurrentX和CurrentY处。屏幕坐标系的原点在屏幕的左上角,横轴水平向右,纵轴垂直向下,单位为Twip, [对象名.]CurrentX[=x] [对象名.]CurrentY[=y]

- 30 -

①此处的“对象名”可以是窗体名、图片框名或打印机对象(Printer),如果省略对象名,则表示当前窗体。

②用来设置或返回下一次输出位置的坐标,只能在程序代码中使用。 ③坐标是各对象以其自己的左上角为参考点的坐标,如:窗体的左上角当前输出位置的坐标为(0,0),窗体中的某个图片框的左上角的当前输出位置的横坐标和纵坐标也可为(0,0) 3)TextHeight和TextWidth方法 [对象名.]TextHeight(字符串) [对象名.]TextWidth(字符串)

TextHeight方法返回一个文本字符串的高度值,而TextWidth方法则返回一个文本字符串的宽度值,其单位均为Twip,对象名可以是窗体Form、图片框PictureBox或打印机对象Printer。

4)Height、Width、Top及Left属性

设置对象的大小以及在容器(如窗体)中的位置: [窗体.] [控件.]|Printer.|Screen.Height[=高度值] [窗体.] [控件.]|Printer.|Screen.Width[=宽度值] [窗体.] [控件.] Left[=距左边距离] [窗体.] [控件.] Top[=距顶边距离] 5)Cls方法 [对象名.]Cls

功能:清除运行时由Print方法或图形方法在Form 或 PictureBox 所显示的图形和文本。而使用Picture属性设置的图形不受此方法影响,若清除Picture属性的图片应使用LoadPicture函数清除图片。

Private Sub Command1_Click() Picture1.Cls

Picture1.Picture = LoadPicture(\End Sub 6)Move方法 [对象.]Move 左边距离[,上边距离][,宽度][,高度] “对象”可以是窗体及除计数器(Timer)、菜单(Menu)外的控件。 二、数据的输入

1、InputBox函数的格式

InputBox[$](Prompt[,Tiltle][,Default][,Xpos,Ypos][,Helpfile,Context]) 功能:产生一个对话框,提示用户输入数据,光标位于对话框底部的输入区中。 该函数7个参数的含义:

1) Prompt: 必需的。作为对话框消息出现的字符串表达式。

它是一个字符串。其长度不得超过1024个字符。它是在对话框内显示的信息,用来提示用户输入。在对话框内显示Prompt时,可以自动换行。如果想按自己的要求换行,则需插入回车换行操作,即:Chr$(13)+Chr$(10) 或vbCrLf 2) Title:是字符串,它是对话框的标题,显示在对话框顶部的标题区。如果省略 title, 则把应用程序名放入标题栏中。

3) Default: 是一个字符串,用来显示输入缓冲区的默认信息。 4) Xpos,Ypos:是两个整数值,用来确定对话框与屏幕左边界的距离(Xpos)和上边界的距离(Ypos),其单位为twip,如果省略,则对话框显示在屏幕中心线向下约1/3处。 5) Helpfile,Context:Helpfile是一个字符串,用来表示帮助文件的名字;Context

- 31 -

是一个数值变量或表达式,用来表示相关帮助主题的帮助目录号。 2、使用InputBox函数时的注意事项 1)inputbox函数返回的是字符型数据,如果没有给变量定义类型,而将函数值赋值给变量,则变量不是变体类型数据,而是字符串数据。

2)当在运行中,点击了“确定”按钮,则将文本框的数据返回;点击了“取消”按钮,则返回一个空字符串。

3)一个inputbox函数只能输入一个值,多个值的输入应该多次执行inputbox函数。 4)如果后面的参数要使用,前面的参数不使用,“,”一定要加上。

5)和其他返回字符串的函数一样,InputBox函数也可以写成InputBox$的形式,这两种形式完全等价。

例1:输入一个整数,并在文本框Text1中显示输入的整数

程序代码为:

Private Sub Form_Click()

Dim temp As String, num As Integer

temp = InputBox(\请输入一个整数:\输入窗口演示\ num = Val(temp)

Text1.Text = \你输入的数是:\End Sub

例2:编制程序,提示“下面填写工作单位,”再在下一行提示“请输入”,标题为“输入”。 Private Sub Command1_Click()

a = InputBox(\下面填写工作单位\

+ Chr(10) + vbCrLf + \请输入:\输入\宁化职专\ , , , \ Print a End Sub Ⅲ、小结

本节课我们要掌握Print方法的格式及与之相关的属性和方法,掌握VB语言中输入InputBox函数的用法。 Ⅳ、作业

P108一、1~5、10~13三、1

第29、30课时

课题: Msgbox函数、字型与颜色控制、打印机输出 教学目的:

1、掌握MsgBox函数的格式及使用 2、了解VB对字体的字型和颜色的控制 教学重难点:

MsgBox函数的格式及使用 教学方法: 多媒体教学 教学过程:

Ⅰ、复习上节内容

1、Print方法的格式及与之相关的属性和方法

- 32 -

2、InputBox函数的用法。 Ⅱ、新课

一、Msgbox函数

1、MsgBox 函数的语法格式为:

[Variable=]MsgBox(Prompt[, Buttons] [,Title][Helpfile, Context]) 1) Variable:用于接收MsgBox函数的返回值。

2) Prompt:字符串表达式,显示在对话框中的提示消息,不可以省略。Prompt 的最大长度大约为1024个字符, Chr(13) & Chr(10)将各行分隔。

3) Title:字符串变量或常量,其内容将显示在对话框标题栏

4) [Helpfile ,Context ]:一个字符串变量或表达式表示帮助文件的名称 , Context帮助目录号选项

5) Buttons:对话框样式,可以由4项数值相加而得。 <按钮>[+<图标>][+<默认按钮>][+<模式>]

数值 符号常量 只显示“确定”按钮 显示“确定”及“取消”按钮 显示“是”、“否”及“取消”按钮 显示“是”及“否”按钮 显示 “重试”及“取消”按钮 Stop Sign对极其重要的问题提醒用户 × Question Mark增亮没有危险的问题 ? Exclamation Mark强调警告用户必须知道的事情 ! Information Mark可以使乏味的信息变得有趣 i 第一个按钮缺省 第二个按钮缺省 第三个按钮缺省 第四个按钮缺省 意义 0 vbOKOnly 1 vbOKCancel 3 vbYesNoCancel 4 vbYesNo 5 vbRetryCancel 16 vbCritical 32 vbQuestion 48 vbExclamation 64 vbInformation 0 vbDefaultButton1 256 vbDefaultButton2 512 vbDefaultButton3 768 VbDefaultButton4 2 vbAbortRetryIgnore 显示“终止”、“重试”及“忽略”按钮 2、MsgBox函数的返回值

MsgBox函数的返回值是整形数。

返回值 1 2 3 4 含义 选择“确定”按钮 选择“取消”按钮 选择“终止”按钮 选择“重试”按钮 返回值 5 6 7 含义 选择“忽略”按钮 选择“是”按钮 选择“否”按钮 例:编制程序,使用消息框提问“是否继续?”,然后使用Print命令打印到窗体上“是”或“否”。

Private Sub Command1_Click() Dim iAnswer As Integer

iAnswer = MsgBox(\是否继续?\提问\ If iAnswer = 6 Then Print \是\

- 33 -

Else

Print \否\ End If End Sub

二、MsgBox语句

MsgBox Prompt[, Buttons] [,Title] [Helpfile, Context]

各参数的含义及作用与MsgBox函数相同,由于MsgBox语句没有返回值,因而常用于较简单的信息显示。例如:

MsgBox \工程保存成功\

三、字型与颜色控制 1、字体类型

[窗体名.] [控件名.] | Printer.FontName[=“字体类型名”] Textl.FontName=“隶书” 2、字体大小

[窗体名.[控件名.] |Printer.FontSize[=点数] 3、字体修饰属性

1) 粗体属性 FontBold [窗体名.][控件名.]|Printer.FontBold[=布尔值] 2) 斜体属性 FontItalic [ 窗体名.][控件名.]|Printer.FontItalic[=布尔值] 3) 加删除线 FontStrikethru [窗体名.][控件名.]|Printer.FontStrikethru[=布尔值] 4) 加下划线FontUnderline

[窗体名.][ 控件名.]| Printer.FontUnderline[=布尔值] 5) 重叠显示属性FontTransparent [窗体名.][图片框名.]FontTransparent[=布尔值] 4、颜色控制 1)使用RGB函数

返回一个Long整数,用来表示一个RGB颜色值 RGB(Red, Green, Blue)

Form1.BackColor=RGB(0,0,255) '设定背景为蓝色 2)使用QBColor函数

返回一个Long值,用来表示所对应颜色值的 RGB颜色码 QBColor(Color) 'Color:0~15 3)使用系统定义的颜色常数

vbRed 、vbGreen 、vbBlack 、vbYellow、vbBlue 等 4)直接使用颜色设置值;&HBBGGRR Forml.BackColor=&HFF0000 Ⅲ、小结

本次课我们要掌握MsgBox函数的格式及使用及了解VB对字体的字型和颜色的控制、打印机输出。 Ⅳ、作业

P109一、14 二、1~3,6,7 三、3

- 34 -

第31、32课时

实验三 简单程序设计 一、实验目的:

1、掌握窗体的概念和用途、PRINT方法、INPUTBOX函数、MSGBOX函数的用法。 2、掌握应用程序开发的一般方法 二、实验内容

1、调试课本中的题目

2、使用INPUTBOX函数

题:用INPUTBOX函数输入你的基本情况。 3、使用MSGBOX函数

题:利用MSGBOX函数,输出各种不同的样式。 4、PRINT方法

题:在窗体上显示出一个标签控件的字体变化。

第33~36课时

课题:控件(一) 教学目的:

1、掌握文本控件的属性、事件、方法 2、应用文本控件 教学重难点:

1、标签控件的常用属性

2、文本框控件的常用属性、事件、方法 教学方法: 多媒体教学 教学过程: Ⅰ、引入

控件是组成VB应用程序界面的基本元素,只有掌握了控件的属性、事件、方法,才能编写出界面美观,便于操作的程序。Visual Basic 中的控件分为三类:标准控件(内部控件)、ActiveX 控件(外部控件)、可插入对象,VB工具箱中列有标准控件(20个)。本节课重点讲解文本控件。 Ⅱ、新课 一、文本控件

(一)标签(Label)

标签控件用于显示文本(输出)信息,不能作为输入信息的界面。在程序运行中用户不能编辑或修改标签中显示的文本。 1、基本属性

Name、Height、Width、Top、Left、Enabled、Visible、Font、ForeColor、BackColor等与窗体的使用相同。 2、常用属性 1) Alignment

决定Caption属性值内容的对齐方式。

- 35 -

有三个值可以选择:

0-靠左对齐(默认) 1-靠右对齐 2-居中对齐 2) AutoSize

设置/返回标签控件是否能够自动调整大小以显示所有内容,有两个值: True 标签控件能够自动调整大小。

False 标签控件不能够自动调整大小(默认)

若将该属性设置为False,如果标签控件中的文本太长,则只能显示其中一部分 3)BorderStyle属性

控件周围是否有边框。 0-无(默认) 1-有 4) Caption

该属性用来设置/返回标签控件中显示的文本,是一个字符串。Caption属性允许文本的长度最多为1024字节。

若需要让文本在需要的地方换行,可以在设置标签控件的Caption属性时,在文本中需要换行的地方加上回车换行符号vbCrLf,但只能在运行时才可以,

Label1.Caption=\5)BackStyle

控制控件是否透明。

0-透明,标签后的背景和图形可见 1-不透明(默认),标签后的背景和图形不可见 6)WordWrap

设置/返回标签控件自动调整大小时的方向,有两个值可以选择:

True 标签控件只在垂直方向上调整大小,以显示所有文本。 *有输入汉字才会换行 False 标签控件在水平方向上调整大小,以显示所有文本(默认)。

为了使WordWrap起作用,应把AutoSize属性设置为True。 2、标签控件的事件

标签经常接收的事件有:单击(Click),双击(DblClick)和改变(Change)。但通常标签仅起到在窗体上显示文字作用,因此,一般不需编写事件过程。 例1:标签属性的设置。

默认控件名Name Form1 Label1 Label2 Label3 Label4 Label5 标题Caption 有关属性设置 颜色、对齐、鼠标属性例 MousePointer=99,MouseIcon=zg.ico 左对齐 居中 自动 背景白 前景红 Alignment=0,BorderStyle =1 Alignment=2,BorderStyle =1 AutoSize=True,WordWarp=False,BorderStyle =1 BackColor= &H00FFFFFF&,BorderStyle =0 ForeColor= &H000000FF&,BorderStyle =0

- 36 -

例2:利用两个标签控件,显示具有浮雕效果的文字。

浮雕效果可利用两种颜色的文字错位叠加来实现。为了实现错位,可使两个标签的Left、Top属性值有一点差距。为了避免叠加上去的标签覆盖原来标签显示的文字,要将标签的BackStyle背景样式属性设置为0,即透明的。

(二)文本框

文本框是一个文本编辑区域,用户可以在该区域输入、编辑、修改和显示正文内容。 1、文本框控件的属性 1) MaxLength

指明文本框中能够输入的正文内容的最大长度。 0-任意长字符串(默认);但不能超过32K 非零值-文本框中字符个数的最大值。

注意:在VB中字符长度以字为单位,也就是一个西文字符与一个汉字都是一个字,长度为1。

2) MultiLine

该属性用来设置/返回文本框控件是否可以输入多行文本,有两个值可以选择: True 可以输入多行文本,即在输入过程中可以换行。按Enter键可插入一空行。 False 只能输入单行文本(默认) 3) PasswordChar

设置PasswordChar属性为了掩盖文本框中输入的字符。 该属性的设置只有在MultiLine设为 False才有效 4) ScrollBars

当MultiLine属性为True时,ScrollBars属性才有效。 0(vbNone)无滚动条;

1(vbHorizontal) 加水平滚动条; 2(vbVertical) 加垂直滚动条;

3(vbBoth) 同时加水平和垂直滚动条。

注意:当加入了水平滚动条以后,文本框内的自动换行功能会自动消失,只有按Enter键才能回车换行。

5) SelLength、SelStart、SelText

这三个属性是文本框中对文本的编辑属性。

SelStart:确定在文本框选中文本的起始位置。第一字符 的位置为0。若没有选择文本,则用于返回或设置文本的插入点位置,如果SelStart的值大于文本的长度,则SelStart取当前文本的长度:

SelLength:设置或返回文本框中选定的文本字符串长度(字符个数)。 SelText:设置或返回当前选定文本中的文本字符串。 例:创建一个简单的文本编辑器。 在窗体上建立2个文本框。 Private Sub Form_Click()

- 37 -

Text1.SelStart = 0 Text1.SelLength = 8

Text2.Text = Text1.SelText End Sub 6) Text

文本框无Caption属性,显示的正文内容存放在Text属性中。当程序执行时,用户通过键盘输入、编辑正文。 7) Locked

是否可被编辑属性:

True 文本框控件的内容不允许编辑,相当于标签的作用。 False 文本框控件的内容允许编辑(默认) 2、文本框控件的事件 1)Change事件

当改变文本框的Text属性时会引发该事件。用户每输入一个字符就会引发一次Change事件。

例:在文本框Text1的Change事件编写有如下程序代码: Private Sub Text1_Change() Print Text1.text End Sub

当程序运行后中输入ABCD,则在窗体上在输出结果是? 2)KeyPress事件

当按下并且释放键盘上的一个键时,就会引发焦点所在控件的KeyPress事件,参数KeyAscii指示按键的Ascii码值。

事件中最常用于判断是否输入回车符(KeyAscii的值为13) Private Sub Text1_KeyPress(KeyAscii As Integer) Print KeyAscii, Chr(KeyAscii) End Sub

当程序运行后中输入ABCD,则在窗体上在输出结果是? 3)GotFocus事件

当控件获得焦点时发生。 4)LostFocus事件

当控件失去焦点时发生。 3、文本框控件的方法

文本框最有用的方法是SetFocus,该方法是把光标移到指定的文本框中。当在窗体上建立了多个文本框后,可以用该方法把光标置于所需要的文本框上。其形式如下: [对象.]SetFocus

4、文本框控件的应用

例1:对输入的数据进行合法性检验,过滤不合法的数据。

Private Sub Text2_LostFocus()

- 38 -

If IsNumeric(Text2) Then Text3.Text = \正确!\ Else

Text2.Text = \ '清除输入文本框中的内容 Text2.SetFocus '控制权重新回到输入文本框 Text3.Text = \错误,重新输入!\在显示文本框显示有关 End If End Sub

例2:数据过滤。

Dim score '在窗体层声明 Private Sub Text1_LostFocus() x = Val(Text1.Text)

If x < 0 Or x > 100 Then Beep

Text1.Text = \ Text1.SetFocus

Print \错误,请重新输入!\ Else

score = x End If End Sub

Private Sub Command1_Click() Print score End Sub Ⅲ、小结

本次课主要学习标签控件、文本框控件的属性、事件、方法的使用。 Ⅳ、作业

P151一、1~8 二、1~4

第37~38课时

课题:控件(二) 教学目的:

1、掌握图形图象控件的属性、事件、方法 2、掌握按钮控件的属性、事件、方法 3、应用按钮控件、图形图象控件 教学重难点:

1、图形图象控件的属性、事件、方法 2、按钮控件的属性、事件、方法 3、按钮控件、图形图象控件的应用 教学方法: 多媒体教学 教学过程:

Ⅰ、复习上节内容

- 39 -

1、标签控件的属性

2、文本框控件的属性、事件、方法 Ⅱ、新课

一、图形图象控件

(一)图片框和图像框控件的属性

图片框控件(PictureBox)和图像框控件(ImageBox)主要用于在窗体的指定位置显示图形信息。VB 6.0支持 .bmp、.ico、.wmf、.emf、.jpg、.gif等格式的图形文件 1、CurrentX和CurrentY属性(坐标属性):可用于窗体和图片框,图像框无此属性。 格式:

[对象.]CurrentX=数值 [对象.]CurrentY=数值

功能:将对象的下一次输出的零坐标指定为现在坐标的数值指定处。如果不使用赋值,则返回当前输出的位置。 2、Picture

设置/返回图片框和图像框控件中要显示的图片的路径及文件名信息.可以显示的图片类型包括:位图(*.bmp;*.dib);GIF图像(*.gif);JPEG图像(*.jpg);元文件(*.wmf;*.emf);Icon图标(*.ico;*.cur)。在设计时和运行时都可以通过该属性向图片框和图像框中装入要显示的图片。 3、AutoSize

该属性用于图片框。决定控件是否自动改变大小以显示图像全部内容。缺省值为False,此时保持控件大小不变,超出控件区域的内容被裁减掉;若值为True时,自动改变控件大小以显示图片全部内容(注意:不是图形改变大小)。 4、Stretch用于设置图像是否拉伸

True 图形会根据图像框大小自动拉伸或者压缩,图片可能会变形 False图像框会自动调节大小以适应图像的大小。(默认)

此属性仅用于图像框,图片框不具备该属性,调整图片框控件的大小时,将会对显示的内容执行裁剪

(二)图片框、图像框的区别

(1)图片框控件可以作为其它控件的容器。 (2)图片框可以通过Print方法接收文本,而图像框则不能接收用Print方法输入的信息。 (3)图像框比图片框占用的内存少,显示速度快。 (三)图形文件的装入

1、在设计阶段装入图形文件 1)利用属性窗口

在属性窗口中的Picture属性后面直接输入要装入的图形文件的路径及文件名,或者是

- 40 -

点击Picture属性后面的带“?”符号的按钮,打开“加载图片”对话框,通过浏览找到需要的图形文件。

2)利用Windows的剪切板

将要装入的图形拷贝到Windows的剪切板,然后选中要装入的图片框,执行“粘贴”命令,图片框中就会显示出所要显示的图形。

如果要把图片框中的图形清空(即图片框中不显示任何图形),可以将Picture属性后面的内容清除(delete)。 2、在运行阶段装入图形

使用LoadPicture函数,给对象的Picture属性赋值。 [对象.]picture=LoadPicture(\文件名\[对象1.]Picture=[对象2.]Picture

卸载图片命令:[对象.]Picture=LoadPicture() 例1:

Private Sub Command1_Click()

Picture1.Picture = LoadPicture(App.Path & \ Image1.Picture = LoadPicture(App.Path & \End Sub

Private Sub Command2_Click()

Picture1.Picture = LoadPicture() Image1.Picture = LoadPicture() End Sub

例2:交换两个图片框中的图形。

Picture3.Picture = Picture1.Picture Picture1.Picture = Picture2.Picture Picture2.Picture = Picture3.Picture Picture3.Picture = LoadPicture() 例3:苹果的成长

Private Sub Form_Load() Image1.Stretch = True End Sub

Private Sub Image1_Click()

Image1.Width = Image1.Width + 100 Image1.Height = Image1.Height + 100 End Sub

二、按钮控件

接受用户输入的命令 输入命令可以有三种方式: (1)鼠标单击;

(2)按Tab键焦点跳转到该按钮, 再按回车键; (3) 快捷键(Alt+有下划线的字母) (一)按钮控件的属性 1、Caption: 标题属性——命令按钮显示的内容,可在某字母前加 “&“设置快捷键。例如: &Ok , 显示 Ok

2、Cancel:取消功能属性(逻辑值),当设置为Ture时,程序运行时按Esc键与单击此命令

- 41 -

按钮的效果相同。

注意:在一个窗体只能有一个按钮的Cancel属性设置为Ture 3、Default:确认属性(逻辑值),设置为True时,按Enter键相当于用鼠标单击了该按钮。

注意:在一个窗体只能有一个按钮的Default设置为Ture 4、Style: 确定显示的形式。 0-标准样式。只能显示文字。 1-图形格式。文字、图形均可 。

5、Picture、DownPicture、DisabledPicture

当Style属性设置为1时,这三个属性分别是按钮控件正常、按下和无效时显示的图片的路径及文件名。如果没有设置DownPicture和DisabledPicture属性,则按下和无效时显示的图片与正常时的相同。这三个属性可以在设计时通过属性窗口设置,也可以在运行时通过LoadPicture函数设置。

6、ToolTipText :设置工具提示,与Picture属性同时使用。如果仅用图形作为对象的标签,那么能够使用此属性以较少的文字解释每个对象。 (二)按钮控件的事件

按钮控件常用的事件是鼠标单击事件(Click),但不支持鼠标双击事件(DblClick) (三)按钮控件的方法

常用的方法是SetFocus方法。 (四)应用举例

例1:模拟交通信号灯的切换。 见课本。

例2:建立一个允许剪切、复制和粘贴的简单便笺板程序。

可增加内容:利用MouseMove事件决定命令按钮的有效性, 即当选中内容,“剪切”、“复制”按钮有效,否则无效。

Dim st As String

Private Sub Form_Load() '设置剪切、复制、粘贴按钮无效 cmdcut.Enabled = False cmdcopy.Enabled = False cmdpaste.Enabled = False End Sub

Private Sub cmdCopy_Click()

st = Text1.SelText '将选中的内容存放到st变量中

- 42 -

End Sub

Private Sub cmdCut_Click()

st = Text1.SelText '将选中的内容存放到st变量中 Text1.SelText = \将选中的内容清除,实现了剪切 cmdcopy.Enabled = False cmdcut.Enabled = False cmdpaste.Enabled = True End Sub

Private Sub cmdExit_Click() End End Sub

Private Sub cmdPaste_Click()

' 将st变量中的内容插入到光标所在的位置,实现了粘贴 Text1.SelText = st End Sub

Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Text1.SelText <> \ cmdcut.Enabled = True ' 当拖动鼠标选中要操作的文本后,剪切、复制按钮有效 cmdcopy.Enabled = True cmdpaste.Enabled = False Else

cmdcut.Enabled = False ' 当拖动鼠标未选中文本,剪切、复制按钮无效 cmdcopy.Enabled = False cmdpaste.Enabled = True End If End Sub Ⅲ、小结

本次课主要学习了图形图象控件和命令按钮控件,要会应用图形图像控件的属性、事件、方法,按钮控件的属性、事件、方法。 Ⅳ、作业

P151 一、9,11,12,13 二、5,6,7

第39、40课时

课题:控件(三) 教学目的:

1、掌握单选按钮和复选框的属性、事件、方法 2、掌握列表框控件的属性、事件、方法 3、掌握组合框控件的属性、事件、方法 4、应用列表框控件、组合框控件 教学重难点:

- 43 -

1、单选按钮和复选框的属性、事件、方法 2、列表框控件的属性、事件、方法 3、组合框控件的属性、事件、方法 4、列表框控件、组合框控件的应用 教学方法: 多媒体教学 教学过程:

Ⅰ、复习上节内容

1、图形图像控件的属性、事件 2、按钮控件的属性、事件 Ⅱ、新课 一、选择控件

1、单选按钮和复选框控件的属性 1) Alignment

该属性用来设置/返回单选按钮和复选框控件中文本和按纽的排列方式 0-Left Justify左对齐,按钮在文本左侧(默认) 1-Right Justify右对齐,按钮在文本的右侧 2) Caption

设置/返回单选按钮和复选框控件显示的标题,可以是中英文的任何字符或汉字。在该属性中如果输入了以“&”开头的字符,则按Alt键加该字符键可以执行该控件的单击操作 3)Value

设置/返回单选按钮和复选框控件的值,该值表示单选按钮和复选框的状态。 对于单选按钮来说,有两个值可以选择: True 单选按钮是选中的

False 单选按钮是未被选中的(默认) 对于复选框来说,有三个值可以选择: 0-Unchecked 复选框未被标记(默认) 1-Checked 复选框被标记

2-Grayed 复选框灰色显示(并不是复选框无效) 4)Style

该属性设置/返回该单选按钮和复选框控件的外观是标准的还是图形的,有两个值可以选择: 0-Standard 单选按钮和复选框的外观为标准的(标准的Windows风格)(默认) 1-Graphical 单选按钮和复选框的外观为图形的(带有自定义图片) 5)Picture、DownPicture、DisabledPicture

当Style属性设置为1时,这三个属性分别是单选按钮和复选框控件未选中、选中和无效时显示的图片的路径及文件名。如果没有设置DownPicture和DisabledPicture属性,则按下和无效时显示的图片与正常时的相同。 2、单选按钮和复选框控件的事件

复选框控件没有鼠标双击事件(DblClick)。 3、单选按钮和复选框控件的方法

控件常用的方法是SetFocus方法。 二、列表框控件

1、列表框控件的属性 1) Columns

设置/返回列表框控件中的表项是单列显示还是多列显示 ,为大于等于0的整数

- 44 -

0(默认),内容显示在一列中并垂直滚动

大于0时,列表框中的内容以指定的列数显示, 并水平滚动。 2) List

该属性是一个数组,包含所有的表项,通过下标访问数组中的值(下标从0开始), 即List(0)保存表中的第一个数据项的内容。 3)MultiSelect

设置/返回列表框控件中是否可以进行多项选择 0-None 每次只能选择一项。(默认)

1-Simple 可以同时选多项,可用鼠标键和空格键选择 2-Extended 可用Shift键和Ctrl键连续或不连续选择 4) Sorted

用来设置/返回列表框控件中的表项是否按字符编码顺序进行排序 True 、False (默认) 5) Style

该属性设置列表框控件的外观

0-Standard 列表框控件标准形式(默认) 1-CheckBox 复选框 形式 6) ListCount

返回列表框控件中包含的表项个数,该属性只读。 7) ListIndex

返回列表框控件中最后被选中的表项的索引,范围在0~ListCount-1之间 ,没有表项被选中属性的值为-1 。

如果选择多个表项,listindex只表示最后一次的选择。 8) Text

返回列表框控件中最后被选中的表项的文本,该属性只在运行时使用,并且为只读。 9) Selected

该属性为布尔值数组,对应于List属性中的元素。对于指定的Index值来说,若Selected(Index)为True,则List(Index)中的值被选中,否则未被选中。 10) SelCount

返回列表框控件中被选中的表项的数目 ,以处理所选项目 2、列表框控件的事件 1)单击click 2)双击dblclick 3、列表框控件的方法 1) AddItem

添加格式为:Listx.AddItem 字符串[,索引值] 2) RemoveItem

删除格式为:Listx.RemoveItem 索引值 3) Clear

清除列表框中的全部内容 Listx.Clear 三、组合框控件

1、组合框控件的属性 1)Locked

设置/返回组合框控件的文本框部分是否允许编辑

True 组合框控件的文本框部分不允许编辑也不能从下拉列表中选择

- 45 -

False 组合框控件的文本框部分允许编辑 2)Style

设置/返回组合框控件的类型及列表框部分的行为

0-Dropdown Combo 控件包含一个可编辑的文本框和一个下拉列表。(默认) 1-Simple Combo 控件包含一个可编辑的文本框和一个不下拉的列表。 2-Dropdown List 控件只允许从下拉列表中选择,不允许编辑文本框部分 3)Text

设置/返回组合框控件文本框部分的文本,(从列表框部分选择文本或直接输入) 2、组合框的常用事件 1) Change

当组合框控件的文本框部分的内容改变时,触发该事件,该事件只有在Style属性设置为0-Dropdown Combo或1-Simple Combo时发生 2) Scroll

当拖动列表框部分的垂直滚动条时触发该事件 3、组合框的方法与列表框的方法相同 Ⅲ、小结

本次课主要学习了单选按钮、复选框、列表框、组合框控件,要会应用单选按钮和复选框、列表框和组合框控件的属性、事件、方法。 Ⅳ、作业

P152 一、14~17,19二、10,11,12

第41、42课时

实验四 常用控件的使用 一、实验目的:

1、通过实验进一步掌握VB6.0的控件使用技术。

2、掌握标签、文本框、命令按钮、单选按钮及复选按钮、列表框、组合框的基本用法。 二、实验内容

1、标签和文本框实验

题:利用3个文本框输入学生的学号、姓名和班级,并且在一个标签上显示应该学生的资料,其他3个标签提示用户在各个文本框输入的内容。 2、命令按钮实验 题:利用命令按钮和标签设置一个可以随机产生四位数的模拟开奖器。要求使用多种方法实现(一个命令按钮、多个命令按钮)。

3、单选按钮实验

题:在屏幕上设置:要求选择不同的运算在标签上显示不同的运算结果。 (运算符包括:加、减、乘、除,计算55+29=?,标签显示结果)

4、列表框实验

题:在窗体上添加两个LISTBOX控件和一个COMMANDBUTTON控件,单击命令按钮,将LISTBOX1中选中的东西放入LISTBOX2中。 5、组合框实验

题:在窗体上添加一个COMBOBOX控件,向其中添加一些数据。

- 46 -

第43、44课时

课题:控件(四) 教学目的:

1、掌握滚动条控件的属性、事件、方法 2、掌握时钟控件的属性、事件、方法 3、掌握框架控件的属性、事件、方法 4、应用滚动条控件、时钟控件、框架控件 教学重难点:

1、滚动条控件的属性、事件、方法 2、时钟控件的属性、事件、方法 3、框架控件的属性、事件、方法 教学方法: 多媒体教学 教学过程:

Ⅰ、复习上节内容

1、单选按钮和复选框的属性 2、列表框和组合框的属性 Ⅱ、新课

一、滚动条控件

水平滚动条(HScroll)和垂直滚动条(VScroll)

滚动条控件有三个部件滚动框、滚动箭头和滚动区域,通过鼠标操作来改变它的值。 1、滚动条控件的属性

水平滚动条控件默认名称HScrollx(x为1,2,3,?) 垂直滚动条控件默认名称VScrollx(x为1,2,3,?) 1) Value

设置/返回滚动条控件的值,即滚动框在滚动条上的位置,Value属性的值必须在Min和Max之间 2) Max/ Min

设置/返回Value属性可以设置的最大值,Min 是Value属性可以设置的最小值,范围在-32768—32767之间 3) LargeChange

设置/返回用户单击滚动条区域时滚动条控件的Value属性改变的数值,是一个整型值,范围在1~32767之间 4) SmallChange

设置/返回用户单击滚动条箭头时滚动条控件的Value属性改变的数值,是一个整型值,范围在1~32767之间 2、滚动条控件的事件 1) Change事件

滚动条的Change事件在移动滚动框或通过代码改变其Value属性值时发生。单击滚动条两端的箭头或空白处将引发Change事件。 2) Scroll事件

当滚动框被重新定位,或按水平方向或垂直方向滚动时,Scroll事件发生。拖动滑块时会触发Scroll事件。

Scroll事件与Change事件的区别在于:当滚动条控件滚动时Scroll事件一直发生,而Change事件只是在滚动结束之后才发生一次。

- 47 -

例:利用滚动条改变文本框中所显示文本的字号大小。 程序代码如下:

Private Sub Form_Load() HScroll1.Min = 10 HScroll1.Max = 100 End Sub

Private Sub HScroll1_Change() Label1.Caption = HScroll1.Value Text1.FontSize = HScroll1.Value End Sub 二、计时器 1.用途

计时器(Timer)又称时钟控件、定时器控件,用于有规律地定时执行指定的工作,常常用于编写不需要与用户进行交互就可直接执行的代码,如计时、倒计时、动画等。 在程序运行阶段,计时器不可见。 2.属性

(1)Interval属性

取值范围在0 ~ 65535 ,单位:为毫秒(0.001秒),表示计时间隔。若将Interval属性设置为0或负数,则计时器停止工作。

1000为1秒钟,2000为2秒钟,60000为1分钟,缺省设置为 0 (2)Enabled属性

设置为True,而且Interval属性值大于0,则计时器开始工作(以Interval属性值为间隔,触发Timer事件)。

设置为False可使时钟控件无效,即计时器停止工作。缺省设置为True 3.方法:Timer控件没有方法。 4.事件

计时器只有Timer事件。

当Enabled属性值为True且Interval属性值大于0时,该事件以Interval属性指定的时间间隔发生。

常常将需要定时执行的操作放在Timer事件过程中。 例:倒计时

Dim ztime As Integer Private Sub Form_Load()

ztime = 5 '考试总时间为5秒.

Label1.Caption = \离考试结束还有\秒“\ Label2.Caption = \

Command1.Caption = \开始\End Sub

Private Sub Command1_Click()

If Command1.Caption = \交卷\ Command1.Caption = \交卷\

Timer1.Interval = 1000 '1000为1秒 End Sub

Private Sub Timer1_Timer()

- 48 -

Label2.Caption = Time$ ztime = ztime - 1

Label1.Caption = \离考试结束还有\秒\ If ztime = 0 Then End End Sub 三、框架控件

1、框架控件的属性 1) Caption

该属性用来设置/返回框架控件的标题中的文本,是一个字符串,输入了以“&”开头的字符,则按Alt键加该字符键可以将焦点移到该框架中的控件上 2) BorderStyle

该属性用来设置/返回框架控件的边框样式

0-None 框架控件无边框,此时标题也会消失。 1-Fixed Single框架控件有固定的单线边框。(默认) 2、框架控件的事件

框架控件具有所有的鼠标事件。 3、框架控件的方法

框架控件具有Move和Refresh方法 4.框架控件的应用

1)必须要先画出框架,然后在框架内添加控件

2)框架外画其它的控件 ,需要先选中这些控件,然后执行“剪切”,将光标定位在框架内执行“粘贴” 四、焦点顺序

当对象得到焦点时,会触发GotFocus事件;而当对象失去焦点时,会触发LostFocus事件 。SetFocus方法可以将焦点转移到某个可以接收焦点的对象

焦点只能移动到可视的并且有效的对象上即Enabled和Visible属性都为True 控件属性中与焦点有关的属性 1) TabIndex 2) TabStop Ⅲ、小结

本次课学习了滚动条、时钟、框架控件,要会应用滚动条控件、时钟控件、框架控件的属性、事件、方法。 Ⅳ、作业

P152 一、18 二、8,9,13 三、6

第45、46课时

实验五 常用控件的使用 一、实验目的:

1、通过实验进一步掌握VB6.0的控件使用技术。 2、掌握滚动条、计时器和框架的用法 二、实验内容

1、课本例题、练习上机调试。

2、设计一个计时器,要求一秒一次跳动。 3、利用滚动条来控制一个标签的名称。

- 49 -

第47~50课时

课题:选择控制结构 教学目的:

1、掌握顺序结构的格式与用法 2、掌握选择结构的格式与用法 教学重难点:

1、选择结构的格式与用法

2、选择结构中的if块结构及if嵌套 教学方法: 多媒体教学 教学过程: Ⅰ、引入

VB采用的是结构化程序设计,有三种控制结构:顺序结构 、选择结构、循环结构,本节课讲解顺序结构、选择结构。 Ⅱ、新课 一、顺序结构 1、赋值语句LET

赋值语句的一般格式为: [Let]<名称>=<表达式>

1) “Let”是可选项,完成赋值功能只需“=” 2) “名称”是变量或属性的名称 3) “表达式”可以是算术、字符串、关系或逻辑型表达式,赋值号两边的数据类则必须一致

2、Unload语句

结束应用程序而从内存中卸载窗体 语法格式: Unload 对象名 Unload me 3、End语句

强迫结束一个程序或程序块的执行,可以被放入过程中的任何位置,程序正常结束应该卸载所有的窗体。 二、选择结构

选择结构:当设定条件成立时执行某些语句,条件不成立时则跳过这些语句或执行其它的语句。

选择结构中要使用选择语句,在VB中提供了两种语句:If语句和Select Case语句 1、单行结构条件语句

If 条件 Then 语句部分1 [Else 语句部分2] 简化:If 条件 Then 语句部分

说明:1)条件一般为关系表达式、逻辑表达式,也可以为算术表达式,非0为True,0为False;

2)语句块可以是一句或多句,若多句,语句间需用冒号分隔,而且必须在一行上书写。 3)If...Then 的单行格式不用 End If 语句。 例1:Private Sub Command1_Click() Dim a as integer

a = InputBox(\请输入a=\

If a / 3 = Int(a / 3) Then Print \能被3整除\

- 50 -