Functions.BLOBDirectExport 方法 | |
将 binary large object (BLOB) 指针的内容导出到文件中。注意:
BLOB 文件 (.DBV 或 .FPT) 用于存储备忘录字段信息,作为替代标准 .DBT 文件机制的方法,支持一些 RDDs。
它是一个更为强大和高效的机制,用于存储和检索大量数据,而不是使用 .DBT 文件。 X# 提供了 DBFCDX 驱动程序,它默认使用 BLOB 文件存储机制,并且提供了 DBFBLOB 驱动程序,您可以将其作为继承的驱动程序用于其他 RDDs。
命名空间:
XSharp.RT
程序集:
XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法 FUNCTION BLOBDirectExport(
nPointer,
cTargetFile,
kMode
) AS LOGIC CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public static bool BLOBDirectExport(
__Usual nPointer = default,
__Usual cTargetFile = default,
__Usual kMode = default
)
查看代码参数
- nPointer (Optional)
- 类型:__Usual
一个指向 BLOB 数据的指针。
可以使用 BLOBDirectPut()、BLOBDirectExport() 或 DBFieldInfo(DBS_BLOB_POINTER, nFieldPos) 获取该指针。
- cTargetFile (Optional)
- 类型:__Usual
目标文件的名称,包括可选的驱动器、目录和扩展名。 请参阅 SetDefault() 和 SetPath(),以了解文件搜索和创建规则。 如果省略扩展名,将不会添加默认扩展名。
如果 cTargetFile 不存在,将创建该文件。
如果它存在,则该函数将尝试以独占模式打开该文件,并在成功时将数据写入该文件,而不发出警告或错误。
如果访问被拒绝,因为例如另一个进程正在使用该文件,NetErr() 将被设置为 TRUE。
- kMode (Optional)
- 类型:__Usual
一个常量,定义复制模式,如下表所示:
常量描述BLOB_EXPORT_APPEND将数据追加到文件BLOB_EXPORT_OVERWRITE覆盖文件 —— 这是默认值
返回值
类型:
Boolean
如果成功,则返回 TRUE;否则,返回 FALSE。
备注
默认情况下,此函数在当前选定的工作区上操作。
可以通过在别名表达式中指定来使其在未选定的工作区上操作。
示例
该示例从 BLOB 文件的根区域中提取一个指针数组,然后使用其中一个指针将图片导出到文件中:
1FUNCTION PutPix()
2 LOCAL cPixFile AS STRING
3 LOCAL nPointer
4 LOCAL aBLOBPtrs AS ARRAY
5 cPixFile := "picture.gif"
6
7
8 USE customer NEW VIA "DBFCDX"
9
10
11 aBLOBPtrs := BLOBRootGet()
12 nPointer := aBLOBPtrs[2]
13
14 IF !BLOBDirectExport(nPointer, cPixFile, ;
15 BLOB_EXPORT_OVERWRITE)
16 Alert("Export of picture " + cPixFile + ";
17 failed!")
18 ELSE
19
20 ENDIF
参见