这个属性决定线的轮廓。 4, Shape的 FillStyle属性 在形状中我们可能更加喜欢实心的样子,这也可以做到。 我们已经了解了窗体,菜单,及十种不同的控件,这正是 Windows的基本元素,再加上 它们的各种属性,就可以画出各式各样的用户界面了! §6&§7总结: Image、 Shape和Line控件有时被称作轻量图形控件。它们需要 较少的系统资源,因此比 Picture Box控件显示得快并且包含 PictureBox中可用的属性、方 法和事件的子集。每一个控件都适用于一个特定的目的。 1、其它控件的容器: Picture Box2、 Printing或 graphics方法: Picture Box3、显示图 片 Image或 PictureBox4、控件显示简单图形元素: Shape或Line控件 第三章编程的基础 在我们设计完用户界面后,我们就将开始了编写指令代码的过程。这是一个相对枯燥但 却是必须的过程。 § I Visual basic编程概述 、事件驱动应用程序 简单地说就是当事件发生时程序才工作,否则程序将等待事件的发生。在事件驱动程序 中,用户的操作或系统事件执行一个事件过程,这样,程序执行的顺序就由哪一个事件的发 生决定,由用户的操作决定。就是用户管理,代码响应 事件过程 用户界面对事件响应的三个部分是 1,窗体 2,控件 3,莱单 编写程序代码的通常过程是: 1,确定哪一个对象(窗体,控件或菜单)做出反应—一单击此对象选中它 2,打开代码窗口一一简单的方法是按 False7键或者双击对象 3,找到响应的事件; 工程1-Form1code) Load Private Sub Form Load O End sub 代码窗口的 Object列表框可以选择对象,旁边的Proc列表框可以选择对象的事件。如 果事件已经有了代码的话,那么在Proc列表框里这个事件名用黑体显示。空的事件代码都 由两行组成,如: Private Sub Form Load
这个属性决定线的轮廓。 4,Shape 的 FillStyle 属性 在形状中我们可能更加喜欢实心的样子,这也可以做到。 我们已经了解了窗体,菜单,及十种不同的控件,这正是 Windows 的基本元素,再加上 它们的各种属性,就可以画出各式各样的用户界面了! §6&§7 总结:Image、Shape 和 Line 控件有时被称作轻量图形控件。它们需要 较少的系统资源,因此比 PictureBox 控件显示得快并且包含 PictureBox 中可用的属性、方 法和事件的子集。每一个控件都适用于一个特定的目的。 1、其它控件的容器: PictureBox 2、Printing 或 graphics 方法: PictureBox 3、显示图 片 Image 或 PictureBox 4、控件显示简单图形元素:Shape 或 Line 控件 第三章 编程的基础 在我们设计完用户界面后,我们就将开始了编写指令代码的过程。这是一个相对枯燥但 却是必须的过程。 §1 Visual Basic 编程概述 一、事件驱动应用程序 简单地说就是当事件发生时程序才工作,否则程序将等待事件的发生。在事件驱动程序 中,用户的操作或系统事件执行一个事件过程,这样,程序执行的顺序就由哪一个事件的发 生决定,由用户的操作决定。就是用户管理,代码响应。 二、事件过程 用户界面对事件响应的三个部分是: 1,窗体 2,控件 3,菜单 编写程序代码的通常过程是: 1,确定哪一个对象(窗体,控件或菜单)做出反应——单击此对象选中它; 2,打开代码窗口——简单的方法是按 False7 键或者双击对象; 3,找到响应的事件; 代码窗口的 Object 列表框可以选择对象,旁边的 Proc 列表框可以选择对象的事件。如 果事件已经有了代码的话,那么在 Proc 列表框里这个事件名用黑体显示。空的事件代码都 由两行组成,如: Private Sub Form_Load()
End Sub 4,编写程序代码。 、变量 程序总是要做三件事: 1,得到数据: 2,处理数据 3,输出数据 在程序运行时,这些数据被储存在变量里,变量可理解为计算机内存条上的一个微观的 东西。一旦关机,变量就消失了。变量在Ⅴ isual Basic里有两种类型 1,程序员建立的变量 2,对象的属性往往也看成变量。 变量必须满足: 1,字母开头 2,不超过40个字; 3,只包括字母,数字,下划线; 4,不是保留字 创建变量的方法: 1,用Dim语句说明它 2,可以省略声明语句而用变量声明字符生成确定类型的变量。在程序执行时若要生成 变量并指定数据类型,可加入下表所示的变量声明字符后缀 符号数据类型举例 AS. message Text$ Population&, color value% Distance Double Exact Distance# 3,把一个值赋给一个名称, Visual basic就把这个名称看成变量。 Dim语句的语法是: ableName As Type 例如 Dim myna As Type部分可以省略,它涉及到我们将要讲的关于数据类型的问题。Dim语句的作用 是声明变量并分配存储空间 赋值语句的语法是: VariableName=alue或Ⅴ ariableNamel= ariableName2 与数学中的等号意义不同,这里等号只表示把后者的值赋给前者,所以,A=A+1 在 Visual basic里是合法的。例如: cmd Exit. Caption=“Exit”(这是一个改变对象属性的例 四、数据类型 变量可以存放数字或字符串等东西,但是MNam变量并不需要存放数字,所以你可以 限制存放的数据类型。你可以规定 MyName只能字符串。 Visual basic提供了七种数据类型 1,整型( Integer) 2字节整数,标识符(同上面的变量声明字符)为百分号(%),范围从-32768到32767, 运算很快。 2,长整型(Long)
| End Sub 4,编写程序代码。 三、变量 程序总是要做三件事: 1,得到数据; 2,处理数据; 3,输出数据。 在程序运行时,这些数据被储存在变量里,变量可理解为计算机内存条上的一个微观的 东西。一旦关机,变量就消失了。变量在 Visual Basic 里有两种类型: 1,程序员建立的变量; 2,对象的属性往往也看成变量。 变量必须满足: 1,字母开头; 2,不超过 40 个字; 3,只包括字母,数字,下划线; 4,不是保留字。 创建变量的方法: 1,用 Dim 语句说明它; 2,可以省略声明语句而用变量声明字符生成确定类型的变量。在程序执行时若要生成 变量并指定数据类型,可加入下表所示的变量声明字符后缀。 符号 数据类型 举例 $ String A$, message Text$ % Integer Counter%, var% & Long Population&,colorValue% ! Single Distance! # Double ExactDistance# 3,把一个值赋给一个名称,Visual Basic 就把这个名称看成变量。 Dim 语句的语法是: Dim VariableName As Type 例如: Dim MyName As Type 部分可以省略,它涉及到我们将要讲的关于数据类型的问题。Dim 语句的作用 是声明变量并分配存储空间。 赋值语句的语法是:VariableName = Value 或 VariableName1 = VariableName2 与数学中的等号意义不同,这里等号只表示把后者的值赋给前者,所以,A = A + 1 在 Visual Basic 里是合法的。例如:cmdExit.Caption = “Exit” (这是一个改变对象属性的例 子) 四、数据类型 变量可以存放数字或字符串等东西,但是 MyName 变量并不需要存放数字,所以你可以 限制存放的数据类型。你可以规定 MyName 只能字符串。Visual Basic 提供了七种数据类型: 1,整型(Integer) 2 字节整数,标识符(同上面的变量声明字符)为百分号(%),范围从-32768 到 32767, 运算很快。 2,长整型(Long)
4字节整数,标识符为&,范围从-2147483648到2147483647,运算很快 3,单精度型( Single) 4字节浮点数,标识符为,范围可达38位数字,前7位可靠,运算比整型和长整型慢。 4,双精度型( Double) 字节浮点数,标识符为#,范围可达300多位,但是可靠的只有前16位数字。 ,字符串型( String) 标识符为$,在32位版本的Ⅴ sual basic40中,字符串可容纳高达200兆字节的内容。 6,货币型( Currency) 8字节定点数,标识符为@,小数点右边4位,左边15位 7,日期型(Date) 用于存放日期,范围从# anuary1,100#到# Decem ber31,999,日期的格式取决于系统的 定,赋值方法是:New=# anuary1,2000。 8,字节型(Byte) Visual basic40新增加的数据类型,用于存放0到255的整数。 9,布尔型( Boolean) 只有True或 False两个值。 10,变体型( Variant) 如果你不告诉Ⅴ isual basic你的变量是什么类型, isual basic就自动把它看成变体型。 变体型的意思就是它没有类型,或者是任何类型。如果声明了 Variant变量而未赋值,则其 值为 Empty 例如: Dim My Name As String 事实上,语句 Dim MyName只是将 MyName变量声明为变体类型罢了,因为变体类型 是 Visual basic的缺省类型。但是,我们使用数据类型的原因是什么 1,使用最小的数据类型可节省内存 2,程序员可以容易地找出每一变量所存放的数据类型; 3,可以防止数据类型存放错误引起的错误 Private Sub Form Load Dim My Name As String MyName=“ DongShan End Sub 变换变量类型 有时需要将一种变量类型变成另一种变量类型,下表列出了进行变量类型转换的函数: 函数说明 函数说明 ol将变元变成布尔值CLng将变元变成长整型值 Byte将变元变成字节值 ng将变元变成单精度值 CCur将变元变成货币型值CStr将变元变成字符串值 CDate将变元变成日期值Cvar将变元变成变体值 CDbl将变元变成双精度值CⅤErr将变元变成错误值 Ct将变元变成整型值 例如要将如下的初始化变量: Dim aas integer
4 字节整数,标识符为&,范围从-2147483648 到 2147483647,运算很快。 3,单精度型(Single) 4 字节浮点数,标识符为!,范围可达 38 位数字,前 7 位可靠,运算比整型和长整型慢。 4,双精度型(Double) 8 字节浮点数,标识符为#,范围可达 300 多位,但是可靠的只有前 16 位数字。 5,字符串型(String) 标识符为$,在 32 位版本的 Visual Basic 4.0 中,字符串可容纳高达 200 兆字节的内容。 6,货币型(Currency) 8 字节定点数,标识符为@,小数点右边 4 位,左边 15 位。 7,日期型(Date) 用于存放日期,范围从#January 1,100#到#December 31,9999#,日期的格式取决于系统的 设定,赋值方法是:New = #January 1,2000# 。 8,字节型(Byte) Visual Basic 4.0 新增加的数据类型,用于存放 0 到 255 的整数。 9,布尔型(Boolean) 只有 True 或 False 两个值。 10,变体型(Variant) 如果你不告诉 Visual Basic 你的变量是什么类型,Visual Basic 就自动把它看成变体型。 变体型的意思就是它没有类型,或者是任何类型。如果声明了 Variant 变量而未赋值,则其 值为 Empty。 例如:Dim MyName As String 事实上,语句 Dim MyName 只是将 MyName 变量声明为变体类型罢了,因为变体类型 是 Visual Basic 的缺省类型。但是,我们使用数据类型的原因是什么呢? 1,使用最小的数据类型可节省内存; 2,程序员可以容易地找出每一变量所存放的数据类型; 3,可以防止数据类型存放错误引起的错误。 例如: Private Sub Form_Load() Dim MyName As String MyName = “DongShan” End Sub 变换变量类型 有时需要将一种变量类型变成另一种变量类型,下表列出了进行变量类型转换的函数: 函数 说明 函数 说明 Cbool 将变元变成布尔值 CLng 将变元变成长整型值 Cbyte 将变元变成字节值 CSng 将变元变成单精度值 CCur 将变元变成货币型值 CStr 将变元变成字符串值 CDate 将变元变成日期值 Cvar 将变元变成变体值 CDbl 将变元变成双精度值 CVErr 将变元变成错误值 CInt 将变元变成整型值 例如要将如下的初始化变量: Dim A As Integer
变成双精度值,可用下列函数: 用户自定义的数据类型记录 保存多个相同或不同类型数值的结构称为记录( record) 在Ⅵ SUAL BASIC中定义记录,用Type语句,其语法如下: Variable As var lype Variable2 As var Type Variablen As var Type End Type 例如定义一个名为 Check Record的记录: Type CheckRecord Check Number as Integer Check Record结构可以像普通变量类型一样使用。要定义这个类型的变量,使用如下语 Dim check1 As Check Record 要对结构的各个字段访问,可使用如下语句 check1 Check Number=123 check1. CheckDate=#08/14/1996# check1 check amount=240. 00 强制的变量声明 Visual basic并不要求变量声明,但对于编写大型应用程序时,变量声明的确很有好处 因此 isual basic提供强制声明的方法,只要在窗体或模块的声明部分加上一条语句 Option Explici 这个语句使编译器检查每个变量的声明,如果要用的变量没有声明,则发出一个错误消 息 数组 单个变量只能存放单个实体,而数组可以存放一组相关的数据。像变量一样,数组有名 称,存放在数组中的数值通过一个索引来访问 数组的定义必须用Dim语句声明,如下 Dim Names(9) As String"“也可以不指定数据类型 Names是保存了10个元素的数组, Names(0)是第一个元素, Names(9)是最后一个元素 数组元素的赋值如下 Names(0)="John 数组的第一个元素的索引可以不是0,可以在Dm语句中指定下限:
变成双精度值,可用下列函数: B=CDbl(A) 用户自定义的数据类型------记录 保存多个相同或不同类型数值的结构称为记录(record)。 在 VISUAL BASIC 中定义记录,用 Type 语句,其语法如下: Type varType Variable1 As varType Variable2 As varType … Variablen As varType End Type 例如定义一个名为 CheckRecord 的记录: Type CheckRecord CheckNumber as Integer CheckDate as Date CheckAmount as Single End Type CheckRecord 结构可以像普通变量类型一样使用。要定义这个类型的变量,使用如下语 句: Dim check1 As CheckRecord 要对结构的各个字段访问,可使用如下语句: check1. CheckNumber=123 check1. CheckDate=#08/14/1996# check1. CheckAmount=240.00 强制的变量声明 Visual Basic 并不要求变量声明,但对于编写大型应用程序时,变量声明的确很有好处。 因此 Visual Basic 提供强制声明的方法,只要在窗体或模块的声明部分加上一条语句: Option Explicit 这个语句使编译器检查每个变量的声明,如果要用的变量没有声明,则发出一个错误消 息! 数组 单个变量只能存放单个实体,而数组可以存放一组相关的数据。像变量一样,数组有名 称,存放在数组中的数值通过一个索引来访问。 数组的定义必须用 Dim 语句声明,如下: Dim Names(9) As String '也可以不指定数据类型 Names 是保存了 10 个元素的数组,Names(0)是第一个元素,Names(9)是最后一个元素。 数组元素的赋值如下: Names(0)="John" Names(1)="Tom" … Names(9)="Xionghui" 数组的第一个元素的索引可以不是 0,可以在 Dim 语句中指定下限:
Dim Names(1 To 16) s(5To16) 动态数组 有时可能不知道需要多大的数组,这时可以生成动态数组,其长度可以在运行程序时 改变。定义动态数组,和平常一样用Dim语句(或 Private和 Public),但不要指定长度(或 维数): Dim DynAray 后面等能确定维数的时候,再用ReDm语句重新确定实际长度(或维数) ReDim Dyn Array(User Count) ReDm语句只能出现在过程之中,它是可执行语句。 但每次执行ReDm语句,数组中原先存放的所有当前值会消失。但有时可能想改变数 组的长度,而不损失原有的数据,幸好Ⅴ isual basic提供了 Preserve关键字,它就能作到! 例如下面语句将数组加大一个元素而不改变原有数据 ReDim Preserve Dyn Array(Ubound(DynArray)+1) 五、变量的使用范围 Visual basic的变量有三种使用范围 1,局部变量 2,模块级变量,也可以叫做窗体级变量,因为窗体和模块是同级的 3,全局变量。 局部变量只存在于说明它的过程里,为说明一个局部变量,应在一个事件过程中说明。 模块级变量可存在于这个窗体或模块中,可以被所有窗体内的事件过程所引用和改变 说明模块级变量的方法是: 1,按F7键打开代码窗口; 2,在 Object列表框中选择( general); 3,在Proc列表框里选择( declarations) 4,用Dim语句说明 全局变量从程序开始时存在至程序结束,不过全局变量的错误也许会导致致命的错误, 你不得不读遍程序来寻找到底在说明地方改变了全局变量。创建全局变量的方法是: 1,从 Insert菜单里选 Module项,这个命令为一个BAS模块文件显示代码窗口 2,在 Object列表框中选择( general); 3,在Proc列表框中选择( declarations) 4,用 Public语句说明全局变量 六、算术,逻辑,比较运算符 1,算术运算 尽管一台上万元的计算机看来很高科技,但它在算术运算方面并不比一个几十元的计算 器强多少 运算符 运算 运算符 运算 加(也是字符串拼接) 整数除 减(也是取负值) 取余数 乘 乘 浮点数除 字符串拼接
Dim Names(1 To 16) Dim Names(5 To 16) 动态数组 有时可能不知道需要多大的数组,这时可以生成动态数组,其长度可以在运行程序时 改变。定义动态数组,和平常一样用 Dim 语句(或 Private 和 Public),但不要指定长度(或 维数): Dim DynArray() 后面等能确定维数的时候,再用 ReDim 语句重新确定实际长度(或维数): ReDim DynArray(UserCount) ReDim 语句只能出现在过程之中,它是可执行语句。 但每次执行 ReDim 语句,数组中原先存放的所有当前值会消失。但有时可能想改变数 组的长度,而不损失原有的数据,幸好 Visual Basic 提供了 Preserve 关键字,它就能作到! 例如下面语句将数组加大一个元素而不改变原有数据: ReDim Preserve DynArray(Ubound(DynArray)+1) 五、变量的使用范围 Visual Basic 的变量有三种使用范围。 1,局部变量; 2,模块级变量,也可以叫做窗体级变量,因为窗体和模块是同级的; 3,全局变量。 局部变量只存在于说明它的过程里,为说明一个局部变量,应在一个事件过程中说明。 模块级变量可存在于这个窗体或模块中,可以被所有窗体内的事件过程所引用和改变, 说明模块级变量的方法是: 1,按 F7 键打开代码窗口; 2,在 Object 列表框中选择(general); 3,在 Proc 列表框里选择(declarations); 4,用 Dim 语句说明。 全局变量从程序开始时存在至程序结束,不过全局变量的错误也许会导致致命的错误, 你不得不读遍程序来寻找到底在说明地方改变了全局变量。创建全局变量的方法是: 1,从 Insert 菜单里选 Module 项,这个命令为一个 BAS 模块文件显示代码窗口; 2,在 Object 列表框中选择(general); 3,在 Proc 列表框中选择(declarations); 4,用 Public 语句说明全局变量。 六、算术,逻辑,比较运算符 1,算术运算 尽管一台上万元的计算机看来很高科技,但它在算术运算方面并不比一个几十元的计算 器强多少。 运算符 运算 运算符 运算 + 加(也是字符串拼接) \ 整数除 - 减(也是取负值) Mod 取余数 * 乘 ^ 乘方 / 浮点数除 & 字符串拼接