| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8826 人关注过本帖
标题:在VFP中scatter是什么意思啊
只看楼主 加入收藏
淡淡家的蛋蛋
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-11-17
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
在VFP中scatter是什么意思啊
我在书上看到这样一条命令:
scatter to A memo()
请问scatter具体是什么意思,起什么作用?
搜索更多相关主题的帖子: VFP scatter 
2010-11-17 09:19
pmc1234
Rank: 5Rank: 5
等 级:职业侠客
帖 子:398
专家分:383
注 册:2010-1-6
收藏
得分:10 
从当前记录中复制数据到一组内存变量、一个数组或一个对象。

SCATTER 与 COPY TO ARRAY 作用类似。SCATTER 仅复制单个记录(且是当前记录)到一个数组或一组内存变量中,且如果数组或内存变量不存在,则自动创建它们。而 COPY TO ARRAY 可以复制多条记录到数组。更多的信息,请参见 COPY TO ARRAY 命令。


要将内存变量或数组元素复制到表记录,可使用 GATHER 命令。


 
SCATTER [FIELDS FieldNameList | FIELDS LIKE Skeleton
   | FIELDS EXCEPT Skeleton] [MEMO] [BLANK]
   TO ArrayName | TO ArrayName | MEMVAR
   | NAME ObjectName [ADDITIVE]
 

参数
FIELDS FieldNameList

指定字段,它的值将被复制到内存变量或数组。SCATTER 默认忽略备注字段;但是,可以在 MEMO 关键字后的字段列表中包含备注字段。但是,即使包含了 MEMO 关键字,SCATTER 命令也将忽略通用型字段。省略 FIELDS FieldNameList 时,从所有字段中复制值。
FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton

复制与 Skeleton 匹配或不匹配的字段到内存变量或数组。可以同时包含 LIKE 或 EXCEPT 子句。要复制与 Skeleton 匹配的字段的值到内存变量或数组中,请使用 LIKE Skeleton。要复制与 Skeleton 不匹配的所有字段的值到内存变量或数组,请使用 EXCEPT Skeleton。Skeleton 支持通配符。例如,要从以字母 A 和 P 开头的所有字段中复制值到内存变量或数组,可使用下面的代码行:   复制代码
SCATTER FIELDS LIKE A*,P* TO myArray
 
LIKE 子句可以与 EXCEPT 子句结合使用:  复制代码
SCATTER FIELDS LIKE A*,P* EXCEPT PARTNO* TO myArray
 

MEMO

指定包含一个或多个备注字段的字段列表。注意:
您的计算机必须有足够的内存将很大的备注字段传递到内存变量或数组。如果您的计算机的内存不足,则 Visual FoxPro 将产生一个错误信息。如果某个备注字段太大,内存中装不下,则 SCATTER 不会复制该字段及字段列表中其它备注字段中的数据。如果 SCATTER 没能成功复制备注字段,则对应的内存变量或数组元素的值设置为假(.F.)。
 

TO ArrayName

指定接收记录内容的数组。从第一个字段起,SCATTER 顺序将每个字段的内容复制到对应的数组元素。如果指定数组所包含的元素比字段数量多,则多余的数组元素保持不变。如果指定的数组不存在,或数组所包含的元素比字段数量少,则 SCATTER 自动创建一个新数组。数组元素与对应字段具有相同的大小和数据类型。
TO ArrayName BLANK


创建一个数组,该数组中的元素与表中的字段具有相同大小和数据类型,但没有内容。
MEMVAR

把数据传送到一组内存变量而不是数组中。SCATTER 为表中每个字段创建一个内存变量,并将当前记录中每个字段的内容复制到相应的内存变量中。新创建的内存变量与对应字段具有相同的名称、大小和数据类型。如果 SCATTER 命令中包含字段列表,则为字段列表中的每个字段都创建一个内存变量。要引用与当前表中字段相同名称的内存变量,应在内存变量名前加上 m. 限定符。警告:
不要在带有 MEMVAR 时包含 TO 。如果包含了  TO,Visual FoxPro 将创建一个名为 MEMVAR 的数组。
 
包含 BLANK 关键字来创建一组空值的内存变量。每个变量指定为与字段相同的名称、数据类型和大小。如果包含字段列表,则为字段列表中的每个字段创建一个内存变量。
NAME ObjectName [ADDITIVE]

创建一个具有与表中字段名相同的属性的对象。要复制表中每个字段的值到对象属性,则不要包含 BLANK 关键字。若要保持属性为空,则包含 BLANK 关键字。关于基于相应字段类型的空属性包含了什么内容,请参见 EMPTY( ) 函数。不会为表中的通用型字段创建属性。要用当前记录内容更新 ObjectName 中指定的存在的和有效的 Visual FoxPro 对象而不是 COM 对象的属性值,请包含 ADDITIVE 关键字。如果对象不存在,则 Visual FoxPro 自动创建该对象。不能在不带 NAME 子句时使用 ADDITIVE 关键字。这样做将产生一条错误。使用带有 ADDITIVE 的 BLANK ,将忽略具有相同字段名的已存在的属性值。
2010-11-17 09:20
啸凡
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1356
专家分:885
注 册:2006-2-22
收藏
得分:10 
一个好学好问的却又懒惰到连帮助文件都不想看的家伙!

[ 本帖最后由 啸凡 于 2010-11-17 22:11 编辑 ]

两人行已有我师……
2010-11-17 22:09
淡淡家的蛋蛋
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-11-17
收藏
得分:0 
~~
2010-11-17 22:53
鹤水墨
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2023-7-7
收藏
得分:0 
难蚌,没想到2023年我居然找到了十年前的帖子
2023-07-07 04:32
快速回复:在VFP中scatter是什么意思啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017587 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved