FoxPro数组操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FoxPro数组操作
2007-07-26 23:12
FoxPro数组操作
数组在FoxPro中有着广泛的应用,例如用它来构造和显示菜单、存储和显示数据库记录等。FoxPro支持一维和二维数组,允许数组元素具有不同的数据类型。数组使用前必须先定义,定义数组用DIMENSION或DECLARE命令。
数组的定义
格式1:DIMENSION <数组名1>(<数值表达式1>[,<数值表达式2>])[,<数组名2>(<数值表达式3>[,<数值表达式4>])]…
格式2:DECLARE <数组名1>(<数值表达式1>[,<数值表达式2>])[,<数组名2>(<数值表达式3>[,<数值表达式4>])]…
说明:
1、两个命令功能相同,都是用来定义数组。
2、一维数组数据个数由数值表达式1的值确定。例如DIMENSION a1(10)定义了一个含有10个元素的名为a1的一维数组。通过下标可以确定各个特定的数组元素,下标从1开始,各元素是顺序排列的。
3、二维数组中的数据按行序排列。行数由数值表达式1的值确定,列数由数值表达式2的值确定。例如DIMENSION a2(2,3)定义了一个含有6个元素的名为a2的二维数组,其数组排列顺序如下表:
4、数组定义以后系统为每个数组元素自动赋予逻辑假值F。
数组元素的赋值
可以用赋值命令对数组元素赋值,也可对整个数组赋值。
格式1:STORE <表达式> TO <数组>
格式2:<数组>=<表达式>
说明:第一个命令是对整个数组赋值,第二个命令是对数组元素赋值。
数组与数据库文件记录间的数据交换
1、数据库文件记录值传送到数组
格式:SCATTER[FIELDS <字段表>] TO <数组> [BLANK]|MEMVAR[BLANK]
功能:把数据库文件当前记录中的数据传送到数组或一组内存变量中。
说明:
①将当前记录字段表中指定字段变量的值,按先后顺序传送给数组的各个元素,数组元素的类型根据记录的字段值决定;若无可选项FIELDS<字段表>,则传送所有字段。
②如数组元素的个数多于字段变量的个数,则剩余那些数组元素的值不受影响;否则系统自动扩大数组的数组的个数。
③若选用TO <数组> BLANK短语,则会自动生成一个数组,其中各个元素与当前数据库文件相应字段的类型和长度完全相同,但数组是空的。
④若选用TO MEMVAR短语,则将当前记录传送到一组内存变量中,这些变量不仅与数据库文件相应字段同名,且类型与长度也相同。
⑤若选用TO MEMVAR BLANK短语,将建立一组具有空值的内存变量。
2、数组中的数据传送到数据库文件
格式:GATHER FROM <数组> | MEMVAR [FIELDS <字段表>]
功能:把数组或内存变量中的数据传送到数据库文件当前记录中。
说明:
①从数组的第一个元素开始,顺序地将其传送到所指定的字段。要求数组元素的类型符合各字段变量的类型。
②如果数组元素的个数少于字段数,则当前记录中其余字段的值不受影响,反之则不考虑其余的那些数组元素。
③如果选用MEMVAR短语,则将若干与字段名相同的内存变量的数据传送到当前的记录中。