Icom3270.setFieldData 方法

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,字段属性字符被视为字段的一部分。 字段属性字符紧接在字段数据之前。