主题:VFP报表中能否显示并打印出照片
guitarist
[专家分:820] 发布于 2008-04-07 13:18:00
大家好:
最近我做了一个人事部门用的小软件,在表单中显示个人各种信息,同时在表单中也显示照片,目前有一个想法,就是在打印报表的时候,能否连照片一同打印出来?
注:照片并不是存放在数据表的某个字段中,而在软件目录下的一个子文件夹里,也是在该论坛中,经朋友指点,用姓名字段连接文件夹中照片名称,然后在表单中显示出来的。这样可以减少数据表的容量。
回复列表 (共21个回复)
沙发
jinlonggao [专家分:17130] 发布于 2008-04-07 13:48:00
经朋友指点,用姓名字段连接文件夹中照片名称,然后在表单中显示出来的。这样可以减少数据表的容量。
------------------------------------------------------------
吉它手说的朋友是不是指我?
你可以在报表中设置一个域,其取值表达式用:
filetostr("<文件夹>"+alltr(姓名)+'.jpg') && 假如你的照片是jpg格式的
我没试过,你可以偿试一下,如果不行,再说!
板凳
cbl518 [专家分:57140] 发布于 2008-04-07 14:10:00
在报表中添加 邦定的 ole 控件即可!
3 楼
guitarist [专家分:820] 发布于 2008-04-09 10:37:00
一楼、二楼两位老师,您们的方法均未成功。
一楼高老师,之前在表单中显示照片的方法就是您指点的。这次报表的问题按照您的方法,在报表预览时,域里显示为乱码;
二楼老师,您给出的方法,"图片来源"如果按字段,好像只支持通用型字段;若按“文件”,仅能显示一个人的照片,当下一条记录时,图片不能与人员同步改变。我的照片都存放在子目录里。
我会继续研究,并等待和老师们继续探讨
4 楼
jinlonggao [专家分:17130] 发布于 2008-04-09 12:32:00
请按chible老师的方法做,然后,请查收你电子邮件!
5 楼
guitarist [专家分:820] 发布于 2008-04-10 11:47:00
高老师,按照您的方法仍未能完全成功。首先,我用的是8.0中文版本,ole控件的属性窗口与您发来的图片窗口样式不同。另外,在图片源中,若去掉iif(file(..)...)..,仅以“e:\.....+".jpg"”则可以显示照片,但就像您说的,一旦遇到某些没有照片的记录时就会出错,但按您的代码操作,提示为“无效的路径或文件名”。
OLD属性窗口截图:
[img]F:\ole属性窗口.bmp[/img]
6 楼
jinlonggao [专家分:17130] 发布于 2008-04-10 12:37:00
vfp8与vfp9的OLD属性窗口样式虽不同,但有关的项目应是相同的,就是OLD显示的图片源是以什么形式表示?有三种选择:1,按通用字段方式, 2,按照片文件方式, 3,按表达式方式.
从你贴子所说的情况看,你选择的是 第2种方式,所以 IIF()语句没法用.换句话说,你如果选择第3种方式,iif()语句就可用了,而iif()正是为了避免有些记录无对应照片时出错.
7 楼
guitarist [专家分:820] 发布于 2008-04-10 13:55:00
其实我在心底是非常感谢高老师的,因为已经不只一次帮过我,真的给我解决了好多问题,让我有了很大的进步(虽然还差得很远)。
然而这次打分,虽然先是10分,再10分,但最终一定再30分。可能是我考虑不周全,没想到这样打分的过程其实并不符合打分的意义。所以之前的分数不代表我对回贴的评价。希望老师别介意,我一定要改正。在本次回贴中,我对回贴的老师说声谢谢,同时说声抱歉!
8 楼
guitarist [专家分:820] 发布于 2008-04-10 16:06:00
高教师:我到底还是没有找到您说的那三个形式的选项,不知道是V9新增的功能,还是V8的选项不在其这个属性窗口中,我真的找不到。我已经将窗口图片发送到您的邮件中,这里上传的图片有时看不到。
9 楼
jinlonggao [专家分:17130] 发布于 2008-04-10 17:16:00
你的图我看到了,的确没有"表达式"一项可选,但你可以在"打印条件"里设置条件:
当file(...)时,即将我在iif(...)中file()放在其中即可.
10 楼
cbl518 [专家分:57140] 发布于 2008-04-12 05:08:00
vfp 8 更容易利用,数据表字段中的,路径\文件名,只是你没动脑筋!
我来回复