有谁知道怎样用RichEdit控件读取Blob字段中的带图片的格式化文本信息!如果此控件不能读取,有什么控件还能够读取!
在线待待!急用!谢谢!高分相送!
解决方案 »
- 读取DB数据库的问题
- Q币作答谢——已知一程序中的DBgrid控件的句柄,另一程序如何获取它里面的数据
- 如何在函数中写提示信息?是否可以?
- 怎样用SQLDMO.Application取得指定SQL服务器中的所有数据库
- Delphi7中用Rave做出的报表是英文的界面。有没有办法变成中文的?
- 为一个表,增加一个布尔类型的虚拟字段,用来判定某条记录是否被选择?
- 请问用ADOconnection对SQL服务器 建立连接,然后断开,这是SQL服务器的内存是一直累加的吗?
- 有关group分组的问题!!!
- 这句话有什么错误?不明白
- delphi中的可执行文件如何带参数启动?
- 有关TList的资源释放?
- problem 2 about print
给你推荐一个能支持图片的
到DELPHI深度历险找RichEdit98控件
在RXRichED单元中重载TConversion类(本来在ComCtrls中),修改它的两个方
法。
这两个方法中的Buffer是rtf的二进制文件。经过观察,
发现rtf的图片都是用{}包括起来的,并且有'\pict\'的关键字,因而可以从此入
手,将全部{}的内容替换为你要的字符(注意rtf中中英文字符的表示方法)。
先设一个变量DPict: string,值是图片在rtf中的数据。可以将该图片保存
成rtf后提取。然后将文件原样保存(不作变换)为rtf格式,在rtf文件中进行字符
串替换。(在TConversion的ConvertWriteStream方法中不能进行,因为图片数据
可能被截断).
var
pjpg:tjpegimage;
pic:TMemoryStream;
begin
pjpg:=tjpegimage.Create;
pjpg.LoadFromFile(F:\JPG.jpg);
pic:=TMemoryStream.Create;
pjpg.SaveToStream(pic);
pic.Position:=0;
TBlobField(dataset.FieldByName('Img')).LoadFromStream(pic);
dataset.post;
pic.Free;
pjpg.free;
end;
从数据库取出
var
pjpg:tjpegimage;
pic:TMemoryStream;
begin
pjpg:=tjpegimage.Create;
pic:=TMemoryStream.Create;
TBlobField(dataset.FieldByName('Img')).savetoStream(pic);
pic.positon:=0;
pjpeg.LoadFromStream(pic);
image.graphi.bmp.assign(pjpeg);
end;end;