Foxpro 数组的应用

发表于:2007-07-02来源:作者:点击数: 标签:
数组实际上就是一组变量,它们有同样的名称,但有不同的下标,也可以叫编号,比如:a(1)、a(2)、a(3)……,这些变量叫做数组的元素。 这些变量可以同一般变量一样使用,比如: a(1)=@#庄稼@# replace 姓名 with a(1) 那么用数组有什么好处呢?当我们要对一组

数组实际上就是一组变量,它们有同样的名称,但有不同的下标,也可以叫编号,比如:a(1)、a(2)、a(3)……,这些变量叫做数组的元素。

这些变量可以同一般变量一样使用,比如:

a(1)=@#庄稼@#

replace 姓名 with a(1)

那么用数组有什么好处呢?当我们要对一组变量进行处理时,就会体现出它的好处了,比如我们想将某个数据表中连续的若干记录中某个字段的内容放入变量,如果不用数组程序就会是这样

a1=姓名
skip
a2=姓名
skip
a3=姓名
skip
...

显然这是很麻烦的,尤其需要的变量很多时,而最主要的是,如果变量的个数是不定的,那就几乎难以实现。

而用数组就可以解决问题,假设需要100个变量,程序就可以是这样:

dimension a(100) &&定义数组的个数
for counter=1 to 100
a(counter)=姓名
skip
endfor
*counter 根据循环从1到100,即完成 a(1)=姓名、a(2)=姓名、……、a(100)=姓名。
*并且每循环一次记录向下跳一个,也就将连续100个记录的“姓名”字段的内容赋给了100个变量。

而代表数组个数的100也可以用变量,即:

dimension a(ac) &&定义数组的个数
for counter=1 to ac
a(counter)=姓名
skip
endfor

这样只要在每次定义数组个数前给 ac 不同的值就可以实现数组个数是可变的了。

注意

从上面的程序中可以看出,数组在使用之前必须定义,且要说明数组中元素的个数。定义的命令是:

DIMENSION 数组名1 ( 元素个数 ), 数组名2 ( 元素个数 ),...

二维数组

我们上面讲到的是一维数组,即一个元素由一个下标来确定,那么二维数组就是由两个下标来确定一个元素,比如:a(1,1)、a(1,2)、a(1,2)、a(2,1)、a(2,2)……。

二维数组有什么好处呢?比如还是上面的例子,但我们需要把“姓名”和“电话”都放到变量中,我们就可以这样来做:

dimension a(100,2) &&定义数组的个数
for counter=1 to 100
a(counter,1)=姓名
a(counter,2)=电话
skip
endfor

如果不用二维数组而用一维数组,那做起来会很麻烦,不信您自己试试看,另外后面使用起来也很不方便。

实际上上面这个二维数组就相当于一个具有2列、100行的表,a(1,1) 是第一个人的姓名、a(1,2) 是第一个人的电话、a(2,1) 是第二个人的姓名、……,使用起来非常直观。

多学一招

二维数组也可以当一维数组来用,对于一个2列、100行的二维数组,即:

a(1,1) 可看作是 a(1),a(1,2)=a(2)、a(2,1)=a(3)、a(2,2)=a(4)、a(3,1)=a(5)、……

数组相关命令

数组相关函数

原文转自:http://www.ltesting.net