0

我在远程模式下使用 4D 版本 11.6 (72398) 并尝试从数据库中导出三张图片。如何从工具箱中提取图片?如果可以避免,屏幕截图和编辑是不可接受的。

4

1 回答 1

0

工具箱的图片库区域没有导出功能。但是,以下命令将帮助您导出图片:

PICTURE LIBRARY LIST获取图片名称数组和图片参考 ID 数组

GET PICTURE FROM LIBRARY使用图片参考 ID 将图片从图片库中获取到图片变量中。

WRITE PICTURE FILE将 Picture 变量写入磁盘。

以下代码可用于将图片库中的所有图片作为 PNG 文件导出到磁盘。

C_TEXT($vsPicName;$vsFileName)
C_LONGINT($vlNbPictures;$vlPicture;$vlPicRef)
C_PICTURE($vgPicture)
ARRAY TEXT($asPicName;0)
PICTURE LIBRARY LIST($alPicRef;$asPicName)
$vlNbPictures:=Size of array($alPicRef)
If ($vlNbPictures>0)
    For ($vlPicture;1;$vlNbPictures)
        $vlPicRef:=$alPicRef{$vlPicture}
        $vsPicName:=$asPicName{$vlPicture}
        GET PICTURE FROM LIBRARY($alPicRef{$vlPicture};$vgPicture)
        If (OK=1)
            $vsFileName:=String($vlPicRef)+$vsPicName+".png"
            WRITE PICTURE FILE($vsFileName;$vgPicture;".png")
        End if 
    End for 
Else 
    ALERT("The Picture Library is empty.")
End if 

如果您从单用户或服务器运行上述代码,则文件将放置在结构文件旁边。

如果您从客户端运行上面的代码,文件将被放置到 4D 客户端缓存文件夹中,该文件夹可以使用以下代码快速打开:

SHOW ON DISK(Get 4D folder(4D Client Database Folder);*)
于 2017-09-26T16:21:40.030 回答