请教:table中图形字段如何使用?急!急!急! ( 积分: 100 )

  • 主题发起人 主题发起人 hytc_73
  • 开始时间 开始时间
H

hytc_73

Unregistered / Unconfirmed
GUEST, unregistred user!
向大虾们请教:如何将一bmp文件存入table的图形字段中?然后,再将图形字段中图片,放在报表中打印,是问如何将图形字段给报表中的图片控件附值?因时间紧,麻烦各位直接给出语句。我在此恭候了!
 
你是用什么报表空件啊,如果是fastreport ,你可以设图片控件的值为记录集中的图片字段!
 
我在报表中用的是QRimage控件
 
我用的是db2 7.2+delphi6开发环境,怎么没人理我呀[:(]!
 
//带压缩的存储
var
SS:TStream;
begin
FieldByName('wjm').AsString:=PCFileName;
SS:=CreateCompressStreamFromFile(PCFile);
TBLOBField(Table1.FieldByName('files')).LoadFromStream(SS);
SS.Free;
end;
//////////////////////////////////////////////////////////////
unit ClientUtils;

interface
uses SysUtils, Classes, DB, ZLib;

function CreateCompressStreamFromFile(FileName:String):TStream;
function CreateDecompressStreamFromField(Field:TBLOBField):TMemoryStream;

implementation

function CreateCompressStreamFromFile(FileName:String):TStream;
var
CS:TCompressionStream;
FS:TFileStream;
Size:Integer;
begin
Result:=TMemoryStream.Create;
FS:=TFileStream.Create(FileName,fmOpenRead or fmShareDenyNone);
Size:=FS.Size;
Result.Write(Size,SizeOf(Size));
CS:=TCompressionStream.Create(clFastest,Result);
try
CS.CopyFrom(FS,FS.Size)
finally
CS.Free;
FS.Free;
end;
Result.Position:=0;
end;

function CreateDecompressStreamFromField(Field:TBLOBField):TMemoryStream;
var
DS:TDecompressionStream;
SS:TMemoryStream;
Size:Integer;
begin
Result:=TMemoryStream.Create;
SS:=TMemoryStream.Create;
try
Field.SaveToStream(SS);
SS.Position:=0;
if SS.Size>0 then
begin
SS.Read(Size,SizeOf(Size));
if Size>0 then
begin
Result.Size:=Size;
DecompressToUserBuf(Pointer(INteger(SS.Memory)+SizeOf(Size)),SS.Size-SizeOf(Size),Result.Memory,Size);
{
DS:=TDecompressionStream.Create(SS);
try
Result.CopyFrom(DS,Size);
finally
DS.Free;
end;
}
end;
end;
finally
SS.Free;
end;
//Result.Position:=0;
end;

end.
 
Dstom,民工助理谢谢你们,我感觉你们提供给我的答案,不是我想要的!我是问如何将数据库中的GRAPHIC型字段给Quickreport中的QRimage控件附值,不过还是要表示感谢!
 
后退
顶部