您当前的位置:首页 > 互联网教程

关于vfp的函数问题

发布时间:2025-05-21 17:33:52    发布人:远客网络

关于vfp的函数问题

一、关于vfp的函数问题

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

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

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

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

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

为对话框指定选项。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。

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

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

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

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

二、vfp中,count函数的用法

EXCEL: COUNT(value1,value2,...)

Value1, value2,...是包含或引用各种类型数据的参数(1~30个),但只有数字类型的数据才被计数。

函数COUNT在计数时,将把数值型的数字计算进去;但是错误值、空值、逻辑值、日期、文字则被忽略。

如果参数是一个数组或引用,那么只统计数组或引用中的数字;数组中或引用的空单元格、逻辑值、文字或错误值都将忽略。如果要统计逻辑值、文字或错误值,请使用函数COUNTA(COUNTIF按EXCEL的说明也行,但常出毛病)。

1、写成=COUNT(B1,D1),那就是计算机B1和D1两个单元格中有几个数字(不包括C1单元格),

2、但是如果写成=COUNT(B1:D1),注意,中间用冒号了,那就是计算机从B1单元格到D1单元格中数字的个数了,(这就包括C1单元格了)

3、再有,写成=COUNT("B1","D1","123","hello"),那结果就是1,因为只有"123"一个数字,B1和D1因为加了引号,所以是字符了,不是单元格。

4、如果A1为1,A5为3,A7为2,其他均为空,则:

COUNT(A1:A7)等于 3备注:计算出A1到A7中,数字的个数

COUNT(A4:A7)等于 2备注:计算出A4到A7中,数字的个数

COUNT(A1:A7, 2)等于4备注:计算A1到A7单元格和数字2一起,一共是多少个数字(A1到A7中有3个,加上数字2,一共4个)

三、vfp中 found ()意思

1、以下是VFP中对found函数的说明:

2、确定最近执行的 CONTINUE、FIND、LOCATE或 SEEK

3、命令是否成功,或在关系表中的记录指针是否被移动。

4、可以用 FOUND()来确定子表是否有记录与父记录匹配。

5、FOUND([nWorkArea| cTableAlias])

6、指定最近用 CONTINUE、FIND、LOCATE或 SEEK命令调用的表所在的工作区。

7、指定最近用 CONTINUE、FIND、LOCATE或 SEEK命令调用的表的别名。

8、如果所指定的表别名不存在,Visual FoxPro

9、逻辑型。如果最近执行的 CONTINUE、FIND、LOCATE或 SEEK

10、命令成功,则 FOUND()返回“真”(.T.);否则返回“假”(.F.)。如果指定工作区的表没有被打开,FOUND()

11、返回“假”。当 FOUND()遇到可用 EOF()

12、函数测定的文件的末尾,总是返回“假”。

13、如果调用不带参数的 FOUND(),FOUND()

14、的操作对象是当前选定工作区打开的表。

15、在下面的示例中,查找和统计在 Customer表中 Country字段的所有“德国(GERMANY)”客户的数量。CLOSE

16、DATABASES关闭所有数据库,OPEN DATABASE打开 Visual FoxPro示例数据库

17、TestData.dbc。USE打开 Customer表。

18、STORE存储 0到变量 gnCount中。LOCATE搜索 Country字段包含"GERMANY"

19、值的第一条记录。DO WHILE循环每次使变量 gnCount增加 1,并使用 CONTINUE来执行又一个

20、LOCATE操作。当再没有匹配的记录时,就显示客户的合计数。

21、OPEN DATABASE(HOME(2)+'Data\TestData')

22、LOCATE FOR UPPER(Country)='GERMANY'

23、?"Total customers from Germany:"+LTRIM(STR(gnCount))