第 7章 数 组第 7章 数 组
7.1 数组的概念
7.2 使用数组
7.3 对象数组第 7章 数 组
7.1 数组的概念
7.1.1 数组与数组元素数组是用一个统一的名称表示的,顺序排列的一组变量 。 数组中的变量称为数组元素,用数字 ( 下标 ) 来标识它们,因此数组元素又称为下标变量 。
可以用数组名及下标唯一地识别一个数组的元素,
比如 x(2)表示名称为 x的数组中顺序号(下标)为 2的那个数组元素(变量)。
第 7章 数 组
7.1.2 数组的维数如果一个数组的元素只有一个下标,则称这个数组为一维数组 。 例如,数组 a有 10个元素,a(1),a(2)、
a(3),…,a(10),依次保存 10个学生的一门功课的成绩,
则 a为一维数组 。
有两个下标的数组称为二维数组,其中的数组元素称为双下标变量 。
在 VFP中允许定义一维或二维数组。
第 7章 数 组
7.2 使用数组
7.2.1 数组的定义
1,声明数组数组在使用前必须先声明 。 声明数组的语法格式为:
{DIMENSION | DECLEAR}〈 数组名 〉 (〈 行数 〉 [,〈 列数 〉 ] )
如,DIMENSION x(2,5) 表示创建一个名为 x、具有 2
行 5列的私有数组,只能在命令所在的过程及其所调用的过程中使用。
第 7章 数 组说明:
(1) 全局变量数组在整个 VFP工作期中可以被任何程序访问,声明全局数组的格式为:
PUBLIC 〈 数组名 〉 (〈 行数 〉 [,〈 列数 〉 ] )
(2) 局部变量数组只能在创建它们的过程或函数中使用和更改,不能被高层或低层的程序访问,声明局部数组的格式为:
LOCAL 〈 数组名 〉 (〈 行数 〉 [,〈 列数 〉 ] )
第 7章 数 组
2,数组的赋值数组在声明之后,每个元素被默认地赋予,F.值 。 可以单独为某一个数组元素赋值 。 如:
x(2,3)= 28 && 将数组 x中第 2行第 3列的元素赋值为 28
也可以用一个命令为一个数组的所有元素赋相同的值 。 如:
x = 100 && 将数组 x中的每一个元素的值都赋值为 10
第 7章 数 组
7.2.2 数组的使用
1,重新定义数组的维数重新执行 DIMENSION命令可以改变数组的维数和大小 。 数组的大小可以增加或减少,一维数组可以转换为二维数组,二维数组可以降低为一维数组 。
如果数组中元素的数目增加了,就将原数组中所有元素的内容复制到重新调整过的数组中,增加的数组元素初始化为“假”(,F.)。
第 7章 数 组
2,释放数组变量使用 RELEASE命令可以从内存中释放变量和数组 。 其语法是:
RELEASE {〈 变量列表 〉 |〈 数组名列表 〉 }
第 7章 数 组
3,二维数组表示为一维数组利用下面公式,可以将二维数组表示法转换成一维数组表示法:
序号 ( 一维数组 ) =( 行数 – 1) *列数 + 列数或使用 AELEMENT( )函数,也能取得一维数组表示法的元素位置,即:
序号(一维数组) = AELEMENT(数组名,行数,
列数)
第 7章 数 组
7.2.3 数组数据的处理
1,处理数组元素的函数数组提供了一种快速排序数据的方法 。 如果数据保存在数组中,就可以很方便地对其进行检索,排序或其他各种操作 。 可以使用如下函数来处理数组元素:
(1) 数组元素的排序 —— ASORT( )。
(2) 数组元素的搜索 —— ASCAN( )。
(3) 数组元素的删除 —— ADEL( )。
(4) 数组元素的插入 —— AINS( )。
(5) 数组元素的个数 —— ALEN( )。
第 7章 数 组
2,数组元素的排序
3,数组元素的搜索第 7章 数 组
7.3 对象数组对象数组是指引用对象的数组,即数组中保存的是对象。
7.3.1 对象的引用与释放将对象赋值给变量,就可以在代码中引用对象。
将变量赋值为 0,即可释放对象的引用。
第 7章 数 组
7.3.2 运行时创建对象使用 AddObject方法可以在程序的运行中向容器添加对象,其语法格式为:
〈 容器对象名 〉,AddObject(〈 对象名 〉,〈 类名 〉 )
说明:
(1)〈 容器对象名 〉 是接受对象的容器名,〈 对象名 〉
是新创建的对象名称,〈 类名 〉 是新创建对象所在的类名 。
(2) 当用 AddObject方法向容器中添加对象时,对象的
Visible属性被设置为“假”(,F.),如果需要显示该对象,
就要在代码中将其设为,T.。
第 7章 数 组
7.3.3 程序举例对于同类的多个对象,使用数组来引用多个对象,
可以使代码更加清晰 。
WITH… ENDWITH命令提供了一种简便的,指定单个对象的多个属性的方法 。 其语法格式为:
WITH 〈 对象名 〉
[.〈 属性 〉 =〈 值 〉 ]
ENDWITH
7.1 数组的概念
7.2 使用数组
7.3 对象数组第 7章 数 组
7.1 数组的概念
7.1.1 数组与数组元素数组是用一个统一的名称表示的,顺序排列的一组变量 。 数组中的变量称为数组元素,用数字 ( 下标 ) 来标识它们,因此数组元素又称为下标变量 。
可以用数组名及下标唯一地识别一个数组的元素,
比如 x(2)表示名称为 x的数组中顺序号(下标)为 2的那个数组元素(变量)。
第 7章 数 组
7.1.2 数组的维数如果一个数组的元素只有一个下标,则称这个数组为一维数组 。 例如,数组 a有 10个元素,a(1),a(2)、
a(3),…,a(10),依次保存 10个学生的一门功课的成绩,
则 a为一维数组 。
有两个下标的数组称为二维数组,其中的数组元素称为双下标变量 。
在 VFP中允许定义一维或二维数组。
第 7章 数 组
7.2 使用数组
7.2.1 数组的定义
1,声明数组数组在使用前必须先声明 。 声明数组的语法格式为:
{DIMENSION | DECLEAR}〈 数组名 〉 (〈 行数 〉 [,〈 列数 〉 ] )
如,DIMENSION x(2,5) 表示创建一个名为 x、具有 2
行 5列的私有数组,只能在命令所在的过程及其所调用的过程中使用。
第 7章 数 组说明:
(1) 全局变量数组在整个 VFP工作期中可以被任何程序访问,声明全局数组的格式为:
PUBLIC 〈 数组名 〉 (〈 行数 〉 [,〈 列数 〉 ] )
(2) 局部变量数组只能在创建它们的过程或函数中使用和更改,不能被高层或低层的程序访问,声明局部数组的格式为:
LOCAL 〈 数组名 〉 (〈 行数 〉 [,〈 列数 〉 ] )
第 7章 数 组
2,数组的赋值数组在声明之后,每个元素被默认地赋予,F.值 。 可以单独为某一个数组元素赋值 。 如:
x(2,3)= 28 && 将数组 x中第 2行第 3列的元素赋值为 28
也可以用一个命令为一个数组的所有元素赋相同的值 。 如:
x = 100 && 将数组 x中的每一个元素的值都赋值为 10
第 7章 数 组
7.2.2 数组的使用
1,重新定义数组的维数重新执行 DIMENSION命令可以改变数组的维数和大小 。 数组的大小可以增加或减少,一维数组可以转换为二维数组,二维数组可以降低为一维数组 。
如果数组中元素的数目增加了,就将原数组中所有元素的内容复制到重新调整过的数组中,增加的数组元素初始化为“假”(,F.)。
第 7章 数 组
2,释放数组变量使用 RELEASE命令可以从内存中释放变量和数组 。 其语法是:
RELEASE {〈 变量列表 〉 |〈 数组名列表 〉 }
第 7章 数 组
3,二维数组表示为一维数组利用下面公式,可以将二维数组表示法转换成一维数组表示法:
序号 ( 一维数组 ) =( 行数 – 1) *列数 + 列数或使用 AELEMENT( )函数,也能取得一维数组表示法的元素位置,即:
序号(一维数组) = AELEMENT(数组名,行数,
列数)
第 7章 数 组
7.2.3 数组数据的处理
1,处理数组元素的函数数组提供了一种快速排序数据的方法 。 如果数据保存在数组中,就可以很方便地对其进行检索,排序或其他各种操作 。 可以使用如下函数来处理数组元素:
(1) 数组元素的排序 —— ASORT( )。
(2) 数组元素的搜索 —— ASCAN( )。
(3) 数组元素的删除 —— ADEL( )。
(4) 数组元素的插入 —— AINS( )。
(5) 数组元素的个数 —— ALEN( )。
第 7章 数 组
2,数组元素的排序
3,数组元素的搜索第 7章 数 组
7.3 对象数组对象数组是指引用对象的数组,即数组中保存的是对象。
7.3.1 对象的引用与释放将对象赋值给变量,就可以在代码中引用对象。
将变量赋值为 0,即可释放对象的引用。
第 7章 数 组
7.3.2 运行时创建对象使用 AddObject方法可以在程序的运行中向容器添加对象,其语法格式为:
〈 容器对象名 〉,AddObject(〈 对象名 〉,〈 类名 〉 )
说明:
(1)〈 容器对象名 〉 是接受对象的容器名,〈 对象名 〉
是新创建的对象名称,〈 类名 〉 是新创建对象所在的类名 。
(2) 当用 AddObject方法向容器中添加对象时,对象的
Visible属性被设置为“假”(,F.),如果需要显示该对象,
就要在代码中将其设为,T.。
第 7章 数 组
7.3.3 程序举例对于同类的多个对象,使用数组来引用多个对象,
可以使代码更加清晰 。
WITH… ENDWITH命令提供了一种简便的,指定单个对象的多个属性的方法 。 其语法格式为:
WITH 〈 对象名 〉
[.〈 属性 〉 =〈 值 〉 ]
ENDWITH