点击或拖拽改变大小

Functions.FieldBlock 方法

X#
返回一个用于通过名称标识的字段的设置-获取代码块。

命名空间:  XSharp.RT
程序集:  XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法
 FUNCTION FieldBlock(
	cFieldName AS STRING
) AS Codeblock
查看代码

参数

cFieldName
类型:String
设置-获取块将引用的字段名称。当带参数执行时,此函数创建的代码块将参数的值赋给 cFieldName
如果省略参数,代码块将获取 cFieldName 的值。

返回值

类型:Codeblock
一个运行时代码块(实现为对象),当求值时,设置(赋值)或获取(检索)给定字段的值。
如果 cFieldName 在当前工作区不存在,FieldBlock() 返回 NULL_OBJECT。
备注
默认情况下,此函数在当前选定的工作区上操作。
可以通过在别名表达式中指定来使其在未选定的工作区上操作。
注意,指定的字段变量在创建代码块时不必存在,但必须在执行代码块之前存在。
提示 提示:
工作区:
FieldBlock() 返回的代码块在运行时设置或获取当前工作区中指定字段的值。
例如,给定工作区1和2,都包含字段FName:
X#
1DBSetSelect(1)
2_FIELD->FName := "Kate"
3DBSetSelect(2)
4_FIELD->FName := "Cindy"
5cbFName := FieldBlock("FName")
6DBSetSelect(1)
7? EVAL(cbFName)                    // "Kate"
8DBSetSelect(2)
9? EVAL(cbFName)                    // "Cindy"
使用 FieldWBlock() 为特定工作区的字段提供设置-获取块。
示例
此示例比较了 FieldBlock() 与使用宏运算符创建的代码块。注意,使用 FieldBlock() 避免了宏运算符的速度和大小开销:
X#
1// 使用宏运算符定义的设置-获取块
2cbSetGet := &("{|SetVal| If(SetVal == NIL,;
3                     FName, FName := SetVal)}")
4// 使用 FieldBlock() 定义的设置-获取块
5// 这里创建的 cbSetGet 在功能上
6// 等同于上面的 cbSetGet
7cbSetGet := FieldBlock("FName")
参见