回 帖 发 新 帖 刷新版面

主题:VFP报表中能否显示并打印出照片

大家好:

    最近我做了一个人事部门用的小软件,在表单中显示个人各种信息,同时在表单中也显示照片,目前有一个想法,就是在打印报表的时候,能否连照片一同打印出来?

注:照片并不是存放在数据表的某个字段中,而在软件目录下的一个子文件夹里,也是在该论坛中,经朋友指点,用姓名字段连接文件夹中照片名称,然后在表单中显示出来的。这样可以减少数据表的容量。

回复列表 (共21个回复)

沙发

经朋友指点,用姓名字段连接文件夹中照片名称,然后在表单中显示出来的。这样可以减少数据表的容量。
------------------------------------------------------------
吉它手说的朋友是不是指我?

你可以在报表中设置一个域,其取值表达式用:
filetostr("<文件夹>"+alltr(姓名)+'.jpg')  && 假如你的照片是jpg格式的

我没试过,你可以偿试一下,如果不行,再说!

板凳

在报表中添加 邦定的 ole 控件即可!

3 楼

一楼、二楼两位老师,您们的方法均未成功。
一楼高老师,之前在表单中显示照片的方法就是您指点的。这次报表的问题按照您的方法,在报表预览时,域里显示为乱码;
二楼老师,您给出的方法,"图片来源"如果按字段,好像只支持通用型字段;若按“文件”,仅能显示一个人的照片,当下一条记录时,图片不能与人员同步改变。我的照片都存放在子目录里。
我会继续研究,并等待和老师们继续探讨

4 楼

请按chible老师的方法做,然后,请查收你电子邮件!

5 楼

高老师,按照您的方法仍未能完全成功。首先,我用的是8.0中文版本,ole控件的属性窗口与您发来的图片窗口样式不同。另外,在图片源中,若去掉iif(file(..)...)..,仅以“e:\.....+".jpg"”则可以显示照片,但就像您说的,一旦遇到某些没有照片的记录时就会出错,但按您的代码操作,提示为“无效的路径或文件名”。

OLD属性窗口截图:


[img]F:\ole属性窗口.bmp[/img]

6 楼

vfp8与vfp9的OLD属性窗口样式虽不同,但有关的项目应是相同的,就是OLD显示的图片源是以什么形式表示?有三种选择:1,按通用字段方式, 2,按照片文件方式, 3,按表达式方式.
从你贴子所说的情况看,你选择的是 第2种方式,所以 IIF()语句没法用.换句话说,你如果选择第3种方式,iif()语句就可用了,而iif()正是为了避免有些记录无对应照片时出错.

7 楼

其实我在心底是非常感谢高老师的,因为已经不只一次帮过我,真的给我解决了好多问题,让我有了很大的进步(虽然还差得很远)。
然而这次打分,虽然先是10分,再10分,但最终一定再30分。可能是我考虑不周全,没想到这样打分的过程其实并不符合打分的意义。所以之前的分数不代表我对回贴的评价。希望老师别介意,我一定要改正。在本次回贴中,我对回贴的老师说声谢谢,同时说声抱歉!

8 楼

高教师:我到底还是没有找到您说的那三个形式的选项,不知道是V9新增的功能,还是V8的选项不在其这个属性窗口中,我真的找不到。我已经将窗口图片发送到您的邮件中,这里上传的图片有时看不到。

9 楼

你的图我看到了,的确没有"表达式"一项可选,但你可以在"打印条件"里设置条件:
当file(...)时,即将我在iif(...)中file()放在其中即可.

10 楼

vfp 8 更容易利用,数据表字段中的,路径\文件名,只是你没动脑筋!

我来回复

您尚未登录,请登录后再回复。点此登录或注册