Functions.AFields 方法 | |
用当前数据库文件的结构填充数组。
注意:
AFields() 是一个兼容性函数,因此不推荐使用。
它已被 DBStruct() 取代,后者不需要在调用前存在任何数组,并返回一个包含当前数据库文件结构的多维数组。
命名空间:
XSharp.RT
程序集:
XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法 FUNCTION AFields(
acFieldNames,
acTypes,
anWidths,
anDecimals
) AS DWORD CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public static uint AFields(
__Usual acFieldNames = default,
__Usual acTypes = default,
__Usual anWidths = default,
__Usual anDecimals = default
)
查看代码参数
- acFieldNames (Optional)
- 类型:__Usual
要用字段名填充的数组。 - acTypes (Optional)
- 类型:__Usual
要用 acFieldNames 中字段类型填充的数组。
- anWidths (Optional)
- 类型:__Usual
要用 acFieldNames 中字段宽度填充的数组。
- anDecimals (Optional)
- 类型:__Usual
要用 acFieldNames 中字段定义的小数位数填充的数组。
如果字段类型不是数值型,系统将 0 赋给 anDecimals。
返回值
类型:
UInt32
字段数量或最短数组参数的长度,以较小者为准。
如果未指定参数,或当前工作区没有使用中的文件,AFields() 返回 0。
备注
AFields() 用当前打开的数据库文件的结构填充一系列数组(结构属性数组),每个数组中每个字段对应一个元素。
AFields() 的工作方式类似于 ADir(),用信息填充一系列现有数组。
要使用 AFields(),你必须首先创建用于保存数据库结构信息的数组,每个数组的元素数量与字段数量相同(即 FCount())。一旦结构属性数组存在,你就可以调用 AFields() 来用每个字段的信息填充它们。
默认情况下,此函数在当前选定的工作区上操作。
可以通过在别名表达式中指定来使其在未选定的工作区上操作。
示例
这个例子使用带别名表达式的 AFields() 来填充数组,其中包含在未选定工作区中打开的 SALES.DBF 的结构:
1PROCEDURE Start()
2 LOCAL acFieldNames, aTypes, aWidths, ;
3 aDecimals AS ARRAY
4 USE sales NEW
5 USE customer NEW
6 acFieldNames := Sales->(ArrayNew(FCount()))
7 acTypes := Sales->(ArrayNew(FCount()))
8 anWidths := Sales->(ArrayNew(FCount()))
9 anDecimals := Sales->(ArrayNew(FCount()))
10 Sales->(AFields(acFieldNames, acTypes, anWidths, anDecimals))
参见