创新源于智慧,智慧源于勤奋点击与我进行在线交流

Green1原创空间

海纳百川,有容乃大


公告

四川理工学院信息管理与信息系统专业学生,男,83年5月生。

职业:自由开发者

为人座右铭:做人要厚道

QQ:61951565 

VFP群:4001858(已满员),17966472

E-mail:lugreen@163.com

QQ空间:Greeeeeeeeeeeeeen

本博客文章未经作者同意不得转载


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:Green1Vfp 原创空间
日志总数:35
评论数量:101
留言数量:3
访问次数:443378
建立时间:2004年12月7日




[报表设计]VFP9中显示存储在blob型字段中的图片
原创空间,  软件技术

Green1 发表于 2005/4/8 15:13:49  VFP QQ群:4001858 VFP UC团体:4363524 欢迎您的加入

VFP9中显示存储在blob型字段中的图片 VFP群:4001858 摘要 在vfp9中我们可以使用BLOB型字段存储任何类型的数据,包括ASCII文本,可执行文件(.exe),或字符串,而且对这些数据没有长度限制,当然,不能大于表容量。 存储在BLOB字段中的图片以在报表或表单上打印。 你可以通过使用Picture/OLE Bound控件来打印存储在BLOB字段中图片。这时你必须设置picture/ole bound控件的control source为一个image对象的引用,这个IMAGE对象的pictureval属性要设置为存储图片的blob型字段。 你也可以在表单上显示存储在blob型字段中的图片。这时你只需要将image控件放到表单上并设置image控件的pictureval属性为一个存储图片的blob型字段。 详细说明 在报表上显示图片 第一步 用报表设计器照下图设计一个报表 500)this.width=500'> 图1 其中姓氏,名子域控件的属性设置见图2,图3 500)this.width=500'> 图2 500)this.width=500'> 图3 注意,表达式编辑框中的 reporttemp表是一个临时表。 Picture ole/bound控件的属性设置如下图   500)this.width=500'> 图4 所有的设置完成后以文件名 blobpict.frx保存报表。 第二步 用代码定义一个报表监听器类。代码如下:     Local locdatadir As String&&数据路径 Local lcdir As String lcdir=Addbs(Justpath(Sys(16))) Cd (lcdir)   **创建一个IMAGE控件的实例并这个实例的pictureval属性设置为一个blob字段 orl=Newobject("previewlistener")&&创建一个报表监听器实例 orl.minitimg("reporttemp.图片")&&初始化image控件   lcdataDIR=Home()+'Samples\Tastrade\'   **生成临时表*** Select Cast( Alltrim( First_Name ) As Varchar ( 10 ) ) As '名子', ;      CAST( Alltrim( Last_Name ) As Varchar (10 ) ) As '姓氏', ;      CAST( Filetostr( lcdataDIR + Photo_File ) As Blob ) As '图片' ;      FROM ( lcdataDIR + 'data\Employee.dbf' ) ;      INTO Cursor ReportTemp Select ReportTemp   **运行报表blobpict.frx Report Form blobpict.frx Object orl   **定义报表监听器类** Define Class previewlistener As ReportListener      loima=Null&&自定义属性      lcfil=""&&自定义属性      ListenerType=1      Procedure minitimg(lcfil1 As String)      This.loima=Newobject("image")      This.lcfil=lcfil1      This.loima.PictureVal=This.lcfil      Endproc **为了确保picture ole/bound控件能随时记录的改变正确显示图片,应在报表监听器的beforeband事件中添加 **如下代码      Procedure BeforeBand(nBandObjCode, nFRXRecNo)      If nBandObjCode = 4 && Detail band          This.loima.PictureVal = Evaluate(This.lcfil)&&为image控件实例设置数据源      Endif      Endproc Enddefine        好了,将上页的代码拷贝到一个程序文件中,运行。 效果如下图 500)this.width=500'>   说明: 要在报表中打印blob型字段中的图片,关键是将picture ole/bound控件的control source 属性设置为对image控件的引用。这个image控件的pictureval属性须设置为一个存储图片的blob型字段。在本例中control source属性为orl.loima,orl为对报表监听器的引用。loima是这个报表监听器的一个自定义属性,其值对一个对image控件的引用。


阅读全文(12655) | 回复(6) | 编辑 | 精华点击这里给我发消息

 


回复:VFP9中显示存储在blob型字段中的图片
原创空间,  软件技术

link(游客)发表评论于2008/11/2 15:47:19  VFP QQ群:4001858 VFP UC团体:4363524 欢迎您的加入

 to printer 子句时,图片位置空白.就是说不能打印呀?


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除点击这里给我发消息

 


回复:VFP9中显示存储在blob型字段中的图片
原创空间,  软件技术

kaimi1(游客)发表评论于2008/11/2 15:45:40  VFP QQ群:4001858 VFP UC团体:4363524 欢迎您的加入

 to printer 子句时,图片位置空白.

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除点击这里给我发消息

 


回复:VFP9中显示存储在blob型字段中的图片
原创空间,  软件技术

china666(游客)发表评论于2008/10/12 11:12:41  VFP QQ群:4001858 VFP UC团体:4363524 欢迎您的加入

如何让它不预览而直接打印呢? to printer 不好使不知什么原因

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除点击这里给我发消息

 


回复:VFP9中显示存储在blob型字段中的图片
原创空间,  软件技术

DVD(游客)发表评论于2006/3/29 14:13:49  VFP QQ群:4001858 VFP UC团体:4363524 欢迎您的加入

怎样实现用VFP BLOB型字段转存至SQL数据库中

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除点击这里给我发消息

 


回复:VFP9中显示存储在blob型字段中的图片
原创空间,  软件技术

游客(游客)发表评论于2005/12/1 11:34:17  VFP QQ群:4001858 VFP UC团体:4363524 欢迎您的加入

怎么在vfp6中显示图片啊? 以下为blog主人的回复:   vfp6不支持blob字段类型,不能使用此方法

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除点击这里给我发消息

 


回复:VFP9中显示存储在blob型字段中的图片
原创空间,  软件技术

吴家飞(游客)发表评论于2005/11/24 8:22:28  VFP QQ群:4001858 VFP UC团体:4363524 欢迎您的加入

谁能帮我查一下``钢铁是怎样炼成的资料``我是个中学生!我上课要用``谢谢你们了```!!

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除点击这里给我发消息

 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144790872 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号