向VFP通用字段中嵌入大量对象
作者:
--------------------------------------------------------------------------------
Visual FoxPro中的通用字段gen可以把图形、照片等信息存储到数据库中,这对某些需要实物图形或照片的软件的编制开发很有意义。比如开发学生学籍、人事档案
软件,需要将学生或人事照片存放到对应的记录中,用gen字段能够非常简单地实现我们的目的。
通常情况下,向Visual FoxPro的表单或表的通用字段中嵌入(或链接)OLE对象时,需要在浏览窗口中双击“gen”字段,打开编辑窗口,再使用“编辑→插入对象”命令,然后选择插入对象的对象类型和路径才能完成。这种方法的优点是简单直观、操作性强,缺点是操作步骤繁多,不适合大量或批量对象的嵌入。如将某一的所有学生的照片插入到表的记录中去,如果逐个插入,是不是太麻烦了?显然用这种方法是不现实的。
指令Append General可以帮助我们将大量的OLE对象嵌入到表中去。比如在学生学籍软件开发时,因为一般情况下,大量的
计算机外部照片或图形的获取往往是通过数码相机或扫描仪来得到的,并且获取的文件名常常有一定的规律可遵循,这就为我们通过使用Append General指令来大量插入对象提供了可能。
例如:已知表D:\my\stu.dbf中存放有90个学生记录信息,其通用字段名为ZP,在D:\zhao下存放有学生照片,文件名依次为pc001.jpg、pc002.jpg、pc003.jpg……pc090.jpg(通过数码相机或扫描仪获取时,生成的文件名是有规律的),并且文件名顺序与表中学生记录顺序一致,即pc001.jpg是表中第1个学生照片,依此类推。
在命令窗口中使用命令的格式为:
use D:\my\stu.dbf
brow
tx=bh+".jpg" &;&;&;&; 先获取当前人员的图像文件名(人员编号+图像格式)
再调用格式:Append General From
即Append General zp from (tx)
如要直接显示通用字段的图像数据,则:
@x,y SAY STU1.zp ISOMETRIC SIZE n1,n2
其中STU1是数据库表的别名,zp是通用数据类型的照片字段名,x、y是图像显示的起始行、列位置,修改SIZE中的n1、n2参数可对图像进行缩小、放大显示。如果要直接输出到打印机,则必须先运行set device to printer命令。
利用VFP的通用字段通过OLE还可以对PCX、JPG等其他各种格式的图像文件进行管理,显示速度也非常快,但都必须在Windows环境下才能运行。而且图像文件嵌入数据库后,需通过剪贴板的形式手工操作才能还原成原图像格式的文件,如果成批地进行还原,一般需通过其他编程才能实现,从而使图像数据的重新剪接、备份、传输等变得十分困难。所以,应用这种数据类型管理图像文件,需要视具体
情况而定。
--------------------------------------------------------
在VF的窗体中,image控件怎么调用表中的通用字段?
[ 标签:窗体,image控件,通用字段 ] 在VF中,窗体上用image控件怎么直接调用表里面的通用字段,前提是通用字段里面存储的是照片的内容
像下面这样 写是错误的
thisform.image1.pinture=aa.照片
如何来调用通用字段的照片并且把它赋值给image1这个对象啊?知道的速度回答一下~
问题补充 2009-04-14 23:14
VFP程序中,将图形文件存入自由表(temp)中的通用型字段(photo)中,但在表单中用image控件调用通用型字段中的图形文件时,始终不成功,总是提示有误:对于通用字段此操作无效。如何才能在image控件中调用显示数据库中保存的图形文件?表已打开,用的命令为:thisform.image1.picture=temp.photo 请问错在何方?我不想用图形文件的路径做为picture的属性。
------------------------------------------------------------
表的通用型字段和备注型字段初步认识(2009-11-2