图2
1.保存image字段
在执行查询时读取所有image字段,并保存到客户机硬盘。
begin
......// 略去查询语句
filename:=‘d: emp’; //初始化临时文件路径
mydbimage:=tdbimage.create(self);//创建dbimage
mydbimage.parent:=self;
mydbimage.datasource:=datasource1;
mydbimage .datafield:=‘描述’;//指定为“描述”字段
index:=1;
while not clientdata.eof do begin //读数据库
s:=inttostr(index);
filename1:=filename+s;
filename1:=filename1+‘.bmp’;
//保存临时文件
mydbimage .picture .bitmap .savetofile(filename1) ; grid .cells[0,index]:=clientdata.fieldbyname(‘零件编号’).asstring;
grid.cells[1,index]:=‘’;
//填写表格
grid.cells[2,index]:=clientdata.fieldbyname(‘实测数据’).asstring;
clientdata.next;
index:=index+1;
end;
mydbimage.destroy(); //释放dbimage
end;
2.拷贝图形
设置ondrawcell事件,读取临时文件,并将图形拷贝到表格的指定列:
if ((acol=1)and(arow>0) and (grid.colcount>2)) then begin
//表格至少需要两列
filename:=‘d: emp’;
s:=inttostr(arow);
filename:=filename+s;
filename:=filename+‘.bmp’;
myimage:=timage.create(self);//创建image控件
myimage.parent:= self;
//读临时文件
myimage.picture.bitmap.loadfromfile(filename);
//拷贝图形
grid.canvas.draw(rect.left,rect.top,myimage.
picture.graphic);
myimage.destroy(); //释放image控件
end;