点击或拖拽改变大小

Functions.BLOBDirectExport 方法

X#
将 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
查看代码

参数

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 文件的根区域中提取一个指针数组,然后使用其中一个指针将图片导出到文件中:
X#
 1FUNCTION PutPix()
 2    LOCAL cPixFile AS STRING
 3    LOCAL nPointer
 4    LOCAL aBLOBPtrs AS ARRAY
 5    cPixFile := "picture.gif"
 6    // 客户数据库,其中每个客户的图片
 7    // 都存储在名为 Pix 的字段中
 8    USE customer NEW VIA "DBFCDX"
 9    // 将数组中的第二个元素
10    // 作为指针
11    aBLOBPtrs := BLOBRootGet()
12    nPointer := aBLOBPtrs[2]
13    // 将 nPointer 指向的图片导出到文件
14    IF !BLOBDirectExport(nPointer, cPixFile, ;
15        BLOB_EXPORT_OVERWRITE)
16            Alert("Export of picture " + cPixFile + ";
17                failed!")
18    ELSE
19        // 在这里添加代码以显示图片
20    ENDIF
参见