当前位置:洪恩在线 -> 继续教育 -> 计算机考级 -> 二级FOXBASE+语言
 

  计算机考试
 


  FOXBASE+    


  数组

     数组是内存变量的另一种应用方式,在FoxBASE中,把名字相同、用下标区分的内存变量称为数组,数组的每个成员称为数组元素或下标变量。在FoxBASE中使用数组作为内存变量的另一种方式,主要有以下几点特点:

     (1)在FoxBASE中对内存变量的限定是,最多允许256个不同的内存变量名,总字节数不得超过 6000字节。而如果使用了数组,一个数组名只占用一个内存变量名称,因此只要总字节数不超过6000字节,就可以使用更多的内存变量。

     (2)使用数组后可以用下标变量组成内存变量,这样通过对下标的运算,不仅可以控制变量的值,还可以控制对变量的选择,从而提高了应用程序的质量。

     (3)在FoxBASE的同一个数组变量中可以存放不同数据类型的数值,这样就建立一种用内存变量表达数据库文件记录值的一种方法。并且FoxBASE还提供了数据库文件的记录与FoxBASE的数组元素之间的数据传递方法,这在一定程度上弥补了FoxBASE处理不同记录间数据相互运算不方便的缺陷。因此,数组是在FoxBASE的数据管理的一项重要功能。

    一、数组的定义与使用

     1.数组的定义

     在FoxBASE中使用数组时,必须先用DIMENSION语句进行定义,以说明数组的名称、结构和范围。语句格式为:DIMENSION<数组名>(<数值型表达式>[,<数组型表达式>])[,.......]

     在FoxBASE中对数组名称、变量个数、总字节数的规定与简单内存变量的规则相同,只是一个数组名只计算一个内存变量名。

     2.数组的使用

     数组中的每一个成员,用数组名和带括号的下标值来表示,它们称为数组元素或下标变量,每个下标变量与前面所讲简单变量的作用和用法完全相同。它的类型可以是字符型、数值型、日期型、逻辑型、屏幕型,并且同一数组名不同下标变量的类型可以不相同,它们的类型由第一次赋值的值的类型决定。如果仅仅定义了数组名而还没有赋值,数组元素的类型为逻辑型,值为逻辑假(.F.),

    在使用数组和下标变量时,应注意如下问题:

     (1)在程序中一切使用简单内存变量的地方,下标变量均可以便用。包括赋值语句以及INPUT,ACCEPT,WAIT等语句。

     (2)在赋值和输入语句中使用数组名时,表示将同一个值赋给该数组的全部数组元素。

     (3)在同一个运行环境下,数组名不能与简单变量名重复。

     (4)在赋值语句中的表达式位置不能出现数组名。

     (5)二维数组也可以写成一维数组的形式,数组元素的顺序是第二个下标先变。

    二、文件数据与数组数据之间的数据交换

     数据库文件的数据内容是以记录的方式存储和使用的,而数组是把一批数据组织在一起的数据处理方法,为了使它们之间方便地进行数据交换,以利于程序的使用,FoxBASE提供了相互之间数据传递的功能,可以比较方便地完成数据库记录与内存变量之间的数据交换。

    1.文件数据复制成数组数据

    将当前数据库的当前记录的内容复制到数组中,格式是:

    SCATTER[FIELDS<字段名表>]TO<数组名>

    此命令将从指定字段表中的第一个字段内容开始,依次复制到数组元素开始的内存变量中,如果数组元素个数少于字段数,系统自动建立符合复制要求的数组。

    2.数组数据复制成文件记录

    将数组中的一组数据作为一个记录追加到当前打开的数据库文件中。

     GATHER FROM<数组名>[FIELDS<字段名表>]

     从第一个数组元素开始,依次向指定的字段名表中的字段填写数据。有字段名表选项时,向字段名表中的各项依次填写;如果没有字段名表的选项,则依次向全部数据项填写;如果数组元素个数多于记录中字段的个数,则多余部分被忽略。

     这两个命令对于沟通数据库文件中数据与内存变量数据是非常方便的,在后面的程序结构中将看到对它们的应用。

课堂提问:
问题

 


简单举例
例子
基础测试
测试