vfp vfp软件下载

更新时间:2025-06-19  版本:v0619

这篇文章给大家聊聊关于vfp,以及vfp软件下载对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

求vfp高手帮忙

SCATTER命令请参阅

vfp vfp软件下载

ALINES()| APPEND FROM ARRAY| COPY TO ARRAY| DECLARE| DIMENSION| GATHER

[该主题是 beta版的一部分并将在今后的版本中修改.空的主题包含了一个占位符.]

从当前记录中把数据复制到一组内存变量或数组中。

SCATTER [FIELDS FieldNameList| FIELDS LIKE Skeleton

| FIELDS EXCEPT Skeleton] [MEMO]

vfp vfp软件下载

TO ArrayName| TO ArrayName BLANK| MEMVAR| MEMVAR BLANK

| NAME ObjectName [BLANK]

参数

FIELDS FieldNameList

指定字段,命令将其内容传送到内存变量或数组中。如果省略 FIELDS FieldNameList,则传送所有字段。如果在字段列表后放一个关键字 MEMO,则字段列表中可以包含备注字段。SCATTER总是忽略通用和图片字段,即使包括了 MEMO关键字也是如此。

FIELDS LIKE Skeleton| FIELDS EXCEPT Skeleton

通过 LIKE和 EXCEPT子句,有选择地把字段中的内容传送到内存变量或数组中。如果包括 LIKE子句,那么与 Skeleton相匹配的字段被传送到内存变量或数组中。如果包括 EXCEPT Skeleton,那么除了与 Skeleton相匹配的字段外,其他所有字段都传送到内存变量或数组中。

Skeleton支持通配符。例如,如果要把所有以 A和 P字母开头的字段传送到内存变量或数组中去,可以使用如下命令:

SCATTER FIELDS LIKE A*,P* TO myarray

可以同时使用 LIKE和 EXCEPT子句,如:

SCATTER FIELDS LIKE A*,P* EXCEPT PARTNO* TO myarray

MEMO

指定字段列表中包含了备注字段。默认情况下,SCATTER不处理备注字段。

将很大的备注字段传送到内存变量或数组时,必须有足够的内存。如果缺乏足够的内存,Visual FoxPro将产生相应的错误信息。如果某一备注字段太大,内存中装不下,那么该字段及字段列表中的其他备注字段的内容都不会传送。如果没有传送备注字段,那么对应的内存变量或数组元素设置为“假”(.F.)。

TO ArrayName

指定接受记录内容的数组。从第一个字段起,SCATTER按顺序将每个字段的内容复制到数组的每个元素中。

如果指定数组的元素比字段数多,则多余数组元素的内容不发生变化。如果指定数组不存在,或者它的元素个数比字段数少,则系统自动创建一个新数组,数组元素与对应字段具有相同的大小和数据类型。

TO ArrayName BLANK

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

MEMVAR

把数据传送到一组内存变量而不是数组中。SCATTER为表中每个字段创建一个内存变量,并把当前记录中各个字段的内容复制到对应的内存变量中。新创建的内存变量与对应字段具有相同的名称、大小和数据类型。

如果 scatter命令中包括字段列表,则为字段列表中每个字段都创建一个内存变量。

要引用与当前表中字段有相同名称的内存变量,应在内存变量名前加上限定符 M.。

警告不要在使用 MEMVAR时加入 TO。如果加入了 TO, Visual FoxPro创建一个名为 MEMVAR的数组。

MEMVAR BLANK

创建一组空内存变量,每个内存变量与相应的字段有相同的名称、数据类型以及相同的大小。如果 SCATTER中包含一字段列表,则为字段列表中的每一个字段创建一个内存变量。

NAME ObjectName [BLANK] [ADDITIVE]

创建一个具有与表中字段名相同的属性的对象。

若要复制表中各字段的值到各对象属性,不要包括 BLANK关键字。要保持属性为空,包括 BLANK关键字。关于相应的字段类型的空的属性包含了什么内容,参见 EMPTY()函数。对于表中的通用字段不创建属性。

要用当前记录内容更新 ObjectName中指定的存在的和有效的 Visual FoxPro对象而不是 COM对象的属性值,包括 ADDITIVE关键字。如果对象不存在, Visual FoxPro自动创建一个对象。不能在没有 NAME子句时使用 ADDITIVE关键字。这样做会产生错误。

使用带 ADDITIVE的 BLANK忽略具有相同字段名的已存在的属性值。

备注

如果对象不存在具有相同字段名的属性, SCATTER...NAME ADDITIVE自动创建它们。但是,由于有些属性是标记为隐藏的和受保护的所以 SCATTER不会创建所有必须的属性。如果 Visual FoxPro不能创建或设置一个属性,它产生一个错误。例如,你可以有一个字段名匹配一个本地的 Visual FoxPro对象属性名并且字段和属性的数据类型是相同的。但是,如果字段名匹配一个方法,事件或对象名, Visual FoxPro将产生一个错误。

你可以用 SCATTER...NAME创建的对象而不是源自一个 Visual FoxPro类来防止问题。与只带 NAME的 SCATTER不同, Visual FoxPro不复盖已存在的对象来创建新对象。

当不能为表中的字段设置一个只读属性时 SCATTER...NAME ADDITIVE不产生错误。但是,属性值会保持不变。

要引用与打开的表同名的对象属性,应在对象名前加上限定符 M.。下例显示 Customer表中的 Company字段值和 Customer对象的 Company属性值:

USE Customer

SCATTER NAME Customer

? Customer.Company&&返回表中的值

? m.Customer.Company&&返回对象属性值

示例

示例 1

此示例使用了 scatter语句创建了一系列基于 test表中字段的变量。然后为每个字段赋值并向表添加了一个空记录。使用 gather命令将数据复制到表中。

CREATE TABLE Test FREE;

(Object C(10), Color C(16), SqFt n(6,2))

SCATTER MEMVAR BLANK

m.Object="Box"

m.Color="Red"

m.SqFt=12.5

APPEND BLANK

GATHER MEMVAR

BROWSE

示例 2

此示例使用 scatter命令及其后跟着的 name子句创建了一个具有基于表中字段属性的对象。然后为对象的属性赋值并向表添加一个空记录。使用 gather命令及name子句将数据复制到表的新记录中。

CREATE TABLE Test FREE;

(Object C(10), Color C(16), SqFt n(6,2))

SCATTER NAME oTest BLANK

oTest.Object="Box"

oTest.Color="Red"

oTest.SqFt=12.5

APPEND BLANK

GATHER NAME oTest

RELEASE oTest

BROWSE

示例 3

假定你有两个或两个以上的表或游标并想创建一个包含这些游标中的数据的对象。以下示例选择 Customer表并用 SCATTER...NAME来从 Customer表中的字段创建 oCustomer对象和它的属性。SCATTER...NAME...ADDITIVE然后在 oCustomer对象中更新 CreditHistory表中的 ReportDate和 Rating字段值和 MySessionTable表中的 CookieText和 SessionId字段值,或在这些属性不存在时创建这些属性。

SELECT Customer

SCATTER NAME oCustomer

SELECT CreditHistory

SCATTER FIELDS ReportDate, Rating NAME oCustomer ADDITIVE

SELECT MySessionTable

SCATTER FIELDS CookieText, SessionId NAME oCustomer ADDITIVE

--------------------------------------------------------------------

GATHER命令请参阅

APPEND FROM ARRAY| COPY TO ARRAY| DIMENSION| SCATTER

[该主题是 beta版的一部分并将在今后的版本中修改.空的主题包含了一个占位符.]

将当前选定表中当前记录的数据替换为某个数组、内存变量组或对象中的数据。

GATHER FROM ArrayName| MEMVAR| NAME ObjectName

[FIELDS FieldList| FIELDS LIKE Skeleton| FIELDS EXCEPT Skeleton]

[MEMO]

参数

FROM ArrayName

指定一个数组,用它的数据替换当前记录中的数据。从数组的第一个元素起,各元素的内容依次替换记录中相应字段的内容。第一个数组元素的内容替换记录第一个字段的内容,第二个数组元素的内容替换记录第二个字段的内容,依此类推。

如果数组的元素少于表的字段数目,则忽略多余的字段。如果数组的元素多于表的字段数目,则忽略多余的数组元素。

MEMVAR

指定一组内存变量或数组,把其中的数据复制到当前记录中。内存变量的数据将传送给与此内存变量同名的字段。如果没有与某个字段同名的内存变量,则不替换此字段。

提示在 SCATTER命令中包含 MEMVAR或 BLANK子句,可以创建与字段同名的内存变量。

NAME ObjectName

指定某个对象,其属性与表的字段同名。每个字段的内容分别替换为与字段同名的属性的值。如果没有与某个字段同名的属性,则此字段的内容不做替换。

FIELDS FieldList

指定用数组元素或内存变量的内容替换字段的内容。只替换在 FieldList中指定的字段的内容。

FIELDS LIKE Skeleton| FIELDS EXCEPT Skeleton

选用 LIKE子句或 EXCEPT子句,或者同时包含以上两个子句,可以有选择地将字段内容替换为数组元素或内存变量的内容。如果包含 LIKE Skeleton子句,Visual FoxPro将替换与 Skeleton匹配的字段;如果包含 EXCEPT Skeleton子句,Visual FoxPro将替换与 Skeleton不匹配的所有字段。

Skeleton支持通配符(*和?)。例如,要替换所有以字母 A和 P开头的字段,可使用下列命令:

GATHER FROM gamyarray FIELDS LIKE A*,P*

MEMO

指定用数组元素或内存变量的内容替换备注字段的内容。如果省略 MEMO子句,则在用数组或内存变量的内容替换字段内容时, gather命令将跳过备注字段。即使包含了 MEMO关键字,gather命令也忽略通用字段和图片字段。

示例

此示例使用 gather命令将数据复制到表的新记录中。在创建 test之后,使用scatter命令创建一套基于表中字段的变量。然后对每个字段赋值并向表中添加一个空记录。

CREATE TABLE Test FREE;

(Object C(10), Color C(16), SqFt n(6,2))

SCATTER MEMVAR BLANK

m.Object="Box"

m.Color="Red"

m.SqFt=12.5

APPEND BLANK

GATHER MEMVAR

BROWSE

此示例使用了 gather命令及 name子句将数据复制到表的新记录。在创建表 test之后,使用 scatter命令创建具有基于表中字段属性的对象。然后为对象的属性赋值并向表添加一个空记录。

CREATE TABLE Test FREE;

(Object C(10), Color C(16), SqFt n(6,2))

SCATTER NAME oTest BLANK

oTest.Object="Box"

oTest.Color="Red"

oTest.SqFt=12.5

APPEND BLANK

GATHER NAME oTest

RELEASE oTest

BROWSE

计算机vfp是什么

计算机VFP,即Visual FoxPro,为微软开发的数据库程序设计语言及集成开发环境(IDE)。源自Fox Software开发的FoxPro,于1992年被微软收购,支持面向对象编程,拥有强大数据库管理功能。

历史背景始于1988年发布的FoxPro,基于Xbase语言,后者源自dbase II。随着时间推移,Visual FoxPro增强GUI支持,引入面向对象编程特性。

其主要特点包括:数据库管理能力、面向对象编程支持、集成开发环境、图形用户界面及多种数据访问接口。

应用于企业级应用开发,特别在数据库管理和业务逻辑处理领域,因其功能强大、灵活,成为众多企业和组织的核心工具。

尽管2007年停止开发,Visual FoxPro仍广泛应用于现有应用程序,微软提供了向.NET framework的迁移路径,鼓励开发者进行升级。其稳定性与效率使其在企业中继续使用。

总体而言,Visual FoxPro是具有强大数据库管理和面向对象编程能力的程序设计语言及IDE,其影响力和在企业应用中持续至今。

关于vfp的函数问题

这是VFP8.0对getdir()函数的说明

GETDIR([cDirectory [, cText [, cCaption [, nFlags [, lRootOnly]]]]])

返回值

字符型

参数

cDirectory

指定在“选择目录”对话框中初始显示的目录或文件夹。如果不指定 cDirectory,“选择目录”对话框打开时,将显示 Visual FoxPro默认目录或文件夹。

cText

指定显示在对话框中目录列列上的文本。

cCaption

指定对话框的标题。默认为"选择目录"。

nFlags

为对话框指定选项。nFlags可以包含 0或额外的值的组合。下表包括一些更常见的选项。详细信息,参见 MSDN中的 SHBrowseForFolder。 nFlag值描述

1 BIF_RETURNONLYFSDIRS只返回文件系统目录(物理位置)。如果用户选择的文件夹不是文件系统的一部分,确定按钮是灰色的。

2 BIF_DONTGOBELOWDOMAIN不包括网络文件夹下面的域名级在 tree view控件中(例如, My Computer和 My Networks).

8 BIF_RETURNFSANCESTORS只返回文件系统的祖先。如果用户选择了任何其它非文件系统的祖先,确定按钮是灰色的。

16 BIF_EDITBOX浏览对话框包括一个编辑控件让用户可以打入一个项的名称。Windows 98及以上版本,或 Internet Explorer 4.0及以上(假定选定了 shell integration选项)可用。要求 4.71版的 shell32.dll。

32 BIF_VALIDATE验证 editbox内容。如果使用了 editbox,就需要验证用户输入的内容。如果用户在编辑框中输入了一个非法的名称,取消按钮变成唯一可选。该标记在 BIF_EDITBOX未指定时被忽略。

64 BIF_NEWDIALOGSTYLE使用新的用户界面。设置该标记为用户提供一种较大的,可调整大小的对话框。其它功能包括:在对话框中的拖放能力,重排序,上下文相关菜单,新建文件夹,删除,和其它上下文相关菜单命令。仅支持 Windows 2000及以上。要求 5.00版的 shell32.dll。

16384 BIF_BROWSEINCLUDEFILES浏览器对话框将文件夹。Windows 98及以上版本,或 Internet Explorer 4.0或以上(假定选定了 shell integration选项)可用。要求 4.71版的 shell32.dll。

lRootOnly

指定只显示 cDirectory及其子目录。该参数防止向上定位到要文件夹目录。如果没有指定 cDirectory,就使用默认目录。

备注

getdir()函数返回字符串,其内容为选定目录或文件夹的名称。

如果没有选择目录或文件夹(选择“取消”、按 ESC键或从控件菜单上选择“关闭”),getdir()函数将返回空字符串。

自 Visual FoxPro 7开始, GETDIR()支持两种不同的对话框。如果你提供少于三个参数, GETDIR()返回早期版本的对话框。如果提供大于两个参数, Visual FoxPro使用 Win32 API中的 SHBrowseForFolder例程来显示对话框。