setFieldData 方法设置指定字段的数据内容。
语法
void SetFieldData(
ushort position,
ushort length,
int overwriteProtected,
ref System.Array dbuf,
ref System.Array abuf,
ref System.Array eabuf
)
参数
参数 | 值 |
---|---|
position |
所需字段中字符的屏幕偏移量(从 0 开始)。 |
length |
要复制的数据的长度。 |
overwriteProtected |
如果为 true,则允许将数据写入受保护的文件。 否则,尝试写入受保护的字段将导致错误。 |
dbuf |
要复制到屏幕数据缓冲区数据的数据。 NULL 表示你不想更改屏幕数据。 |
abuf |
要复制到屏幕字符属性缓冲区数据的数据。 NULL 表示不想更改字符属性缓冲区。 |
eabuf |
此方法返回时,包含要复制到屏幕扩展属性缓冲区数据的数据。 NULL 表示不想更改扩展属性缓冲区。 |
返回值
值 | 说明 |
---|---|
S_OK | 该方法已成功完成。 |
C3270_S_TRUNCATED | 副本扩展到字段末尾。 因此,忽略了额外的数据。 |
C3270_E_INVALIDPOS | 指定的屏幕位置大于当前屏幕大小的最大字符位置。 |
C3270_E_INVALIDDATA | 任何非 NULL SAFEARRA 参数的边界都不相同。 |
C3270_E_UNFORMATTED | 屏幕未格式化。 因此,指定的字段不存在。 |
C3270_E_SESSIONBUSY | 3270 会话正忙。 调用 Icom3270.wait 以确定何时允许输入,以便您可以再次调用此方法。 |
C3270_E_SESSIONLOCKED | 由于本地锁定条件,3270 会话已定位。 检查 OIA 缓冲区以确定错误的原因。 此外,在调用此方法或采取任何其他恢复操作之前,还可以发送 RESET 击键以解锁键盘。 |
C3270_E_NOTCONNECTED | com3270 客户端未通过调用 Icom3270.connect 连接到会话。 |
C3270_E_SYSERROR | 方法由于内部错误而失败。 |
例外
备注
不能使用 setFieldData 修改 Field 属性字符。
对于 setFieldData,字段属性字符被视为字段的一部分。 字段属性字符紧接在字段数据之前。