VFP6与VFP9函数对比
VFP6与VFP9函数对比(不包含未公开或系统保留的函数),对比了VFP6和VFP9的函数,出它们的不同并作出简要说明,在此贴出以供各位狐友参考。
为了方便从VFP6开始学习的狐友,顺利学习VFP9,笔者依据两个版本的帮助文件(不包含未公开或系统保留的函数),对比了VFP6和VFP9的函数,出它们的不同并作出简要说明,以供各位狐友参考。由于时间仓促,难免有所疏漏或错误,敬请指正或补充完善。
ADDPROPERTY( ) 函数
VFP9: ADDPROPERTY(oObjectName, cPropertyName, [, eNewValue ])
VFP6: 无
说明: ADDPROPERTY( ) 函数用于在运行时刻向一个对象添加一个新属性。
VFP9: ADDPROPERTY(oObjectName, cPropertyName, [, eNewValue ])
VFP6: 无
说明: ADDPROPERTY( ) 函数用于在运行时刻向一个对象添加一个新属性。
ADIR( ) 函数
VFP9: ADIR(ArrayName [, cFileSkeleton [, cAttribute [, nFlag]]])
VFP6: ADIR(ArrayName [, cFileSkeleton [, cAttribute [, cCreatorType]]])
说明: VFP6中该函数的参数cCreatorType仅适用于FoxPro for Macintosh。在VFP9中增加参数nFlag,用于设置数组中文件(夹)名格式: 0— (默认)以大写方式显示完整的路径名,1—以原始的大小写方式,2—按 DOS 8+3 命名约定(大写)
建议: 该函数很有用,应掌握。例如: 利用该函数,可以遍历文件夹(或路径)。
说明: VFP6中该函数的参数cCreatorType仅适用于FoxPro for Macintosh。在VFP9中增加参数nFlag,用于设置数组中文件(夹)名格式: 0— (默认)以大写方式显示完整的路径名,1—以原始的大小写方式,2—按 DOS 8+3 命名约定(大写)
建议: 该函数很有用,应掌握。例如: 利用该函数,可以遍历文件夹(或路径)。
ADLLS( ) 函数
VFP9: ADLLS(ArrayName)
VFP6: 无
说明: 把由 DECLARE DLL 命令载入的函数名放入数组,并返回其数目。
ADOCKSTATE( ) 函数
VFP9: ADOCKSTATE( ArrayName [, nType | nExtended])
VFP6: 无
说明: 获取所有可停靠的表单、集成开发环境(IDE)窗口 或工具栏的停靠状态。针对表单,可以使用GetDockState 方法程序. ADOCKSTATE( ) 在运行时刻可用。
AEVENTS( ) 函数
VFP9: AEVENTS( ArrayName [, 0 | 1 | oEventObject ] )
VFP6: 无
说明: 可以用 AEVENTS() 函数来获取已存在的事件绑定数。
AFONT( ) 函数
VFP9: AFONT(ArrayName [, cFontName [, nFontSize | nFontCharSet [, nFlags]]])
VFP6: AFONT(ArrayName [, cFontName [, nFontSize]])
说明: VFP9中,对该函数的功能进行了增强,参数nFlags用来决定传递给函数的第三个参数是字体大小还是字符集。
ALANGUAGE( ) 函数
VFP9: ALANGUAGE(ArrayName, nType)
VFP6: 无
说明: ALANGUAGE( ) 函数返回一个包含所有可用的 Visual FoxPro 命令, 函数,基本类或数据库事件的数组。
VFP9: ALANGUAGE(ArrayName, nType)
VFP6: 无
说明: ALANGUAGE( ) 函数返回一个包含所有可用的 Visual FoxPro 命令, 函数,基本类或数据库事件的数组。
ALINES( ) 函数
VFP9: ALINES(ArrayName, cexpression_r [, nFlags] [, cParseChar [, cParseChar2 [, ...]]])
VFP6: ALINES(ArrayName,cexpression_r [,lTrim])
说明: 事实上,VFP9中同样兼容VFP6中该函数的语法。在VFP9中,该函数生成的数组(元素)中,可以不包含空行,可以包含分隔字符;更为重要的是,可以指定一个或多个分隔字符(或字符串),不再固定为chr(10)和chr(13)。
建议: 该函数十分有用,应掌握。
应用举例:
*-----------------------------------------------------------------
* TAlines.prg
* [功能] 将从Excel表格中复制的单元格打印出来
*-----------------------------------------------------------------
LOCAL ARRAY aExcelLine[1], aCells[1]
LOCAL i, j
IF LEN(_CLIPTEXT) > 0 AND ALINES(aExcelLine, _CLIPTEXT) > 0
FOR i = 1 TO ALEN(aExcelLine)
IF ALINES(aCells, aExcelLine, CHR(9)) > 0
FOR j = 1 TO ALEN(aCells)
?? aCells[j] + CHR(9)
ENDFOR
?
ELSE
? aExcelLine
ENDIF
* [功能] 将从Excel表格中复制的单元格打印出来
*-----------------------------------------------------------------
LOCAL ARRAY aExcelLine[1], aCells[1]
LOCAL i, j
IF LEN(_CLIPTEXT) > 0 AND ALINES(aExcelLine, _CLIPTEXT) > 0
FOR i = 1 TO ALEN(aExcelLine)
IF ALINES(aCells, aExcelLine, CHR(9)) > 0
FOR j = 1 TO ALEN(aCells)
?? aCells[j] + CHR(9)
ENDFOR
?
ELSE
? aExcelLine
ENDIF
ENDFOR
ELSE
MESSAGEBOX('请从Excel中复制有数据的单元格后再运行本程序!', 16, '提示')
ENDIF
ELSE
MESSAGEBOX('请从Excel中复制有数据的单元格后再运行本程序!', 16, '提示')
ENDIF
ALLTRIM( ) 函数
VFP9: ALLTRIM(expression_r [, nFlags] [, cParseChar [, cParseChar2 [, ...]]])
VFP6: ALLTRIM(cexpression_r)
说明: 在VFP9中,ALLTRIM()函数不再是只能去除空格的东东!通过指定参数cParseChar和nFlags,它可以去除表达式前后的任意字符(串),甚至可以忽略大小写。
链接: LTRIM( )、RTRIM( )和TRIM( )函数也作出了类似的改进,在下面这些函数将不再介绍。
建议: 这些函数十分有用,应掌握。
应用举例:
VFP9: ALLTRIM(expression_r [, nFlags] [, cParseChar [, cParseChar2 [, ...]]])
VFP6: ALLTRIM(cexpression_r)
说明: 在VFP9中,ALLTRIM()函数不再是只能去除空格的东东!通过指定参数cParseChar和nFlags,它可以去除表达式前后的任意字符(串),甚至可以忽略大小写。
链接: LTRIM( )、RTRIM( )和TRIM( )函数也作出了类似的改进,在下面这些函数将不再介绍。
建议: 这些函数十分有用,应掌握。
应用举例:
*-----------------------------------------------------------------
* [功能] 将STR()函数生成的字符串小数点后的零去除
*-----------------------------------------------------------------
FOR i = 1 TO 3
lcNum = ALLTRIM(STR(i / 3, 15, 6), 0, '0') && 去除小数点后的零
lcNum = LTRIM(lcNum) && 去除字符串左边的空格
IF RIGHT(lcNum, 1) = '.' && 对于整数, 去除小数点
lcNum = LEFT(lcNum, LEN(lcNum) - 1)
ENDIF
? lcNum
ENDFOR
* [功能] 将STR()函数生成的字符串小数点后的零去除
*-----------------------------------------------------------------
FOR i = 1 TO 3
lcNum = ALLTRIM(STR(i / 3, 15, 6), 0, '0') && 去除小数点后的零
lcNum = LTRIM(lcNum) && 去除字符串左边的空格
IF RIGHT(lcNum, 1) = '.' && 对于整数, 去除小数点
lcNum = LEFT(lcNum, LEN(lcNum) - 1)
ENDIF
? lcNum
ENDFOR
AMEMBERS( ) 函数
VFP9: AMEMBERS(ArrayName, oObjectName | cClassName [, nArrayContentsID] [, cFla
VFP9: AMEMBERS(ArrayName, oObjectName | cClassName [, nArrayContentsID] [, cFla
gs])
VFP6: AMEMBERS(ArrayName, ObjectName | cClassName [, 1 | 2])
说明: 在VFP9中该函数得到了增强。例如指定cFlags参数,可以把用户定义 (外来的) 属性, 方法或事件放入数组。
VFP6: AMEMBERS(ArrayName, ObjectName | cClassName [, 1 | 2])
说明: 在VFP9中该函数得到了增强。例如指定cFlags参数,可以把用户定义 (外来的) 属性, 方法或事件放入数组。
APRINTERS( ) 函数
VFP9: APRINTERS(ArrayName [, nValue])
VFP6: APRINTERS(ArrayName)
说明: 在VFP9中,如果指定nValue参数值为 1,数组中包含 5 列(VFP6中为 2 列)打印机信息,增加了打印机驱动程序名称、打印机注释和打印机位置。
APROCINFO( ) 函数
VFP9: APROCINFO(ArrayName, cFileName [, nType])
VFP6: 无
说明: 该函数创建一个在一个程序文件中所包含的 Visual FoxPro 语言元素(如类、过程)的数组。
ASCAN( ) 函数
VFP9: ASCAN(ArrayName, eexpression_r [, nStartElement [, nElementsSearched [, nSearchColumn [, nFlags ]]]])
VFP6: ASCAN(ArrayName, eexpression_r [, nStartElement [, nElementsSearched]])
说明: VFP9中增加了参数nSearchColumn,可以指定要搜索的列;增加了参数nFlags,可以决定扫描数组元素时,是否区分大小写、是否严格匹配。
建议: resultset 遍历掌握该函数。
ASELOBJ( ) 函数
VFP9: ASELOBJ( ArrayName, [ 1 | 2 | 3 ] )
VFP6: ASELOBJ(ArrayName, [1 | 2])
说明: 指定第2个参数值为 3 时,函数创建包含三个元素的数组,保存当前活动的代码编辑窗口的信息: 容器对象的对象引用,.scx 或 .vcx 文件完整的路径及文件名,可用的#INCLUDE 文件的完整路径及文件名。
ASESSIONS( ) 函数
VFP9: ASESSIONS(ArrayName)
VFP6: 无
说明: 该函数创建一个已存在的数据工作期的 ID 数组。
ASORT( ) 函数
VFP9: ASORT(ArrayName [, nStartElement [, nNumberSorted [, nSortOrder [, nFlags]]])
VFP6: ASORT(ArrayName [, nStartElement [, nNumberSorted [, nSortOrder]]])
说明: 指定nFlags参数,决定是否大小写敏感。nFlags 参数仅在当前比较序列是大小写敏感 (如 "MACHINE"), 而你想执行一个非大小写敏感排序才是有用的。
ASQLHANDLES( ) 函数
VFP9: ASQLHANDLES(ArrayName [, nStatementHandle])
VFP6: 无
说明: 该函数将所有活动的 SQL 连接状态句柄的数值引用存储到数组中。
ASTACKINFO( ) 函数
VFP9: ASTACKINFO(ArrayName)
VFP6: 无
说明: 该函数创建一个数组,数组中保存当前堆栈调用的状态信息。
ATAGINFO( ) 函数
VFP9: ATAGINFO(ArrayName [,cCDXName [, nWorkArea | cTableAlias]])
VFP6: 无
说明: 该函数创建一个包含索引文件信息的数组
AUSED( ) 函数
VFP9: AUSED(ArrayName [, nDataSessionNumber [, cTableName]])
VFP6: AUSED(ArrayName [, nDataSessionNumber])
说明: 在VFP中如果使用参数cTableName,则数组中仅包含由 cTableName 指定的表的别名。
BINDEVENT( ) 函数
VFP9: BINDEVENT(oEventSource, cEvent, oEventHandler, cDelegate [, nFlags])
或者 BINDEVENT(hWnd | 0, nMessage, oEventHandler, cDelegate [, nFlags])
VFP6: 无
说明: 该函数提供当一个事件发生时执行用户代码(一个对象的方法)的能力。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论