好文档 - 专业文书写作范文服务资料分享网站

VB基础教程

天下 分享 时间: 加入收藏 我要投稿 点赞

3.数组声明

数组必须先声明后使用。声明数组就是让系统在内存中分配一个连续的区域,用来存储数组元素。 声明内容:数组名、类型、维数、数组大小。

一般情况下,数组中各元素类型必须相同,但若数组为Variant时,可包含不同类型的数据。 静态数组:声明时确定了大小的数组。

动态数组: 声明时没有给定数组大小(省略了括号中的下标),使用时需要用ReDim语句重新指出其大小。 使用动态数组的优点是根据用户需要,有效地利用存储空间,它是在程序执行到ReDim语句时才分配存储单元,而静态数组是在程序编译时分配存储单元。 5.3动态数组及声明 1. 动态数组的建立与声明

建立动态数组的方法是:利用Dim、Private、Public语句声明括号内为空的数组,然后在过程中用ReDim语句指明该数组的大小。语法是:

ReDim 数组名(下标1[,下标2…]) [As 类型]

其中下标可以是常量,也可以是有了确定值的变量,类型可以省略,若不省略,必须与Dim中的声明语句保持一致。

例: Dim D() As Single Sub Form_Load() ……

ReDim D(4,6) …… End Sub 2.注意事项

(1)在动态数组ReDim语句中的下标可以是常量,也可以是有了确定值的变量。

(2)在过程中可以多次使用ReDim来改变数组的大小,也可改变数组的维数。

(3)每次使用ReDim语句都会使原来数组中的值丢失,可以在ReDim语句后加Preserve参数来保留数组中的数据,但使用Preserve只能改变最后一维的大小,前面几维大小不能改变。 1. 给数组元素赋初值 (1) 利用循环结构

例:Dim iA(1 To 10) As Integer For i=1 To 10 A(i)=0 Next i

(2) 利用Array函数

例:Dim a As Variant, b As Variant, i% a = Array (1,2,3,4,5) b = Array (\ For i=0 To Ubound (a) Picture1.print a(i);\ Next i

For i=0 To Ubound (b) Picture1.print b(i);\ Next i 2.数组的输入

(1) 通过InputBox函数输入适合输入少量数据。 例:Dim sB(3,4) As singer For i=0 To 3 For j=0 To 4

SB(i,j) =InputBox(\输入\的值\ Next j Next i

(2) 通过文本框控件输入

对大批量的数据输入,采用文本框和函数split()\\join()进行处理,效率更高。

3.数组的赋值

在VB6.0中可以直接将一个数组的值赋值给另一个数组: Dim a(3) as integer, b() as integer A(0)=2: A(1)=5: A(2)=-2: A(3)=2 b=a

在早期的VB中,这需要用循环语句才可以实现: ReDim b(UBound(a)) For I=0 to UBound(a) b(I)=a(I) Next i

注意:(1)赋值号两边的数据类型必须一致;

(2)如果赋值号左边的是一个动态数组,则赋值时系统自动将动态数组ReDim成右边相同大小的数组;

(3)如果赋值号左边的是一个大小固定的数组,则数组赋值出错。 4.数组的输出

用For……Next循环语句输出。

5.求数组中最大元素和所在下标及各元素之和

求数组中最大元素及下标,一般假设第一个元素及下标为最大,然后将该数与数组中的其他元素逐一比较,若有比其大的就替换,同时替换下标。 6.交换数组中各元素

交换的要求是将数组第一个元素与最后一个交换,第二个与倒数第二个交换,依次类推。

5.5控件数组 1.控件数组的概念

控件数组是由一组相同类型的控件组成的,它们共用一个控件名,具有相同的数组。控件数组适用于若干个控件执行的操作相似的场合,控件组共享同样的事件过程。控件数组通过索引号(属性中的Index)来标识各控件,第一个下标是0 。如:Text1(0)、Text1(1)、Text1(2)、Text1(3)…… 2.控件数组的建立 (1)在设计时建立

步骤:1)在窗体上画出某控件,并进行属性设置。

2)选中该控件进行“复制”和“粘贴”操作,系统提示“是否建立控件数组”,选择是即可。多次粘贴就可以创建多个控件元素。

3)进行事件过程的编程。 (2)运行时添加控件数组

方法:1)在窗体上画出某控件,设置该控件的Index值为0,表示该控件为数组。

2)在编程时通过Load方法添加其余若干个元素,也可以通过Unload删除某个添加的元素。 3)每个添加的控件数组通过Left 和Top属性,确定其在窗体上的位置,并将Visible设置为True。 使用示例:建立一个类似国际象棋的棋盘,要求黑白交替,运行时单击某个棋格,会改变颜色并显示其序号。

5.6自定义数据类型

1. 自定义数据类型的定义

是指由若干标准数据类型组成的一种复合类型,也称为记录类型。

(1)定义方式:

Type 自定义类型名

元素名[(下标)] As 类型名 ……

元素名[(下标)] As 类型名 End Type

元素名:表示自定义类型中的一个成员

下标(可选):表示是数组

类型名:为标准类型

例:定义一个学生信息的自定义类型: Type studtype

No As Integer ’ 定义学号 Name As String*10 ’ 定义姓名 Sex As String*2 ’ 定义性别

Mark(1 TO 4) As Single ’ 定义4门课程的成绩 Total As Single ’ 定义总分 End Type

(2)注意事项

1)自定义类型一般在标准模块(.bas)中定义,默认是Public

2)自定义类型中的元素可以是字符串,但应是定长字符串

3) 不可把自定义类型名与该类型的变量名混淆

4) 注意自定义类型变量与数组的差别:它们都由若干元素组成,前者的元素代表不同性质、不同类型的数据,以元素名表示不同的元素;后者存放的是同种性质、同种类型的数据,以下标表示不同元素。

2. 自定义型变量的声明和使用

使用形式: Dim 变量名 As 自定义类型名

例如: Dim student As studtype, mystud As studtype

自定义类型中元素的表示方法是:变量名 . 元素名 如:student.name student.mark(4) 为了简单起见,可以用With …… End With 语句进行简化。 例: With student .no=99001 .name=\

.sex=\ .total=0 for I=1 to 4

.mark(I)=int(rnd*101) ’随机产生0 - 100之间的分数 .total=.total+.may(I) next I End With

Mystud=student ’ 同种自定义类型变量可以直接赋值

3.自定义类型数组的使用

自定义类型数组就是数组中的每个元素都是自定义类型。

例如:自定义一个由学生姓名、成绩组成的学生记录类型,用来存放100个学生的记录。

6.1VB的过程设计及子过程(Sub)的定义与调用

1.什么是过程

在程序设计中,为各个相对独立的功能模块所编写的一段程序称之为过程。 2.VB中的自定义过程分类

(1)以“Sub”保留字开始的子程序过程 (包括事件过程和通用过程),不返回值; (2)以“Function” 保留字开始的函数过程,返回一个值;

(3)以“Property” 保留字开始的属性过程,可以返回和设置窗体、标准模块以及类模块的属性值,也可以设置对象的值。 3. 事件过程 (1)窗体事件过程

语法:Private Sub Form_事件名([参数列表]) [局部变量和常数声明] 语句块 End Sub 注意:

1)窗体事件过程名由Form_事件名组成,多文档窗体用MDIForm_事件名;

2)每个窗体事件过程名前都有一个Private的前缀,表示该事件过程不能在它自己的窗体模块之外被调用;

VB基础教程

3.数组声明数组必须先声明后使用。声明数组就是让系统在内存中分配一个连续的区域,用来存储数组元素。声明内容:数组名、类型、维数、数组大小。一般情况下,数组中各元素类型必须相同,但若数组为Variant时,可包含不同类型的数据。静态数组:声明时确定了大小的数组。动态数组:声明时没有给定
推荐度:
点击下载文档文档为doc格式
3aksb9m87w9sc9l3qd1j
领取福利

微信扫码领取福利

微信扫码分享