日期:2011-03-20 18:14:00 来源:本站整理
Delphi实目前数据库中存取图象[Delphi编程]
本文“Delphi实目前数据库中存取图象[Delphi编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
本实例演示如安在数据库中存取图象文件.
向窗体上增添一个TListBox组件、一个TImage组件和一个TTable组件,计划完成的主界面如图1所示.
图1 主界面 |
本系统中需求计划一个新的基于Paradox 7的数据库Image.db,图2为计划完成的Image.db数据库.
图2 计划完成的数据库 |
为了便利测试程序,Image.db数据库存储在实例程序所在的途径下.
设置TTable组件的TableName属性为Image.db,Active属性为True.
在程序运行早期,首先会判断Image.db数据库中能否存在记录,假如没有记录存在,那么就履行以下代码向Image.db数据库中增添"鸟.bmp"文件:
procedure TForm1.FormCreate(Sender: TObject); var mem:TMemoryStream; begin if Table1.Eof and Table1.Bof then begin with Table1 do begin Insert; FieldByName(’Name’).AsString:=’鸟’; mem:=TMemoryStream.Create(); mem.LoadFromFile(’鸟.bmp’); TBlobField(FieldByName(’Data’)).LoadFromStream(mem); Post; end; end; end; |
然后按照相同的方法次序向Image.db数据库中增添"样品.wav"、"叶子.wav"和"荷花"图象文件.
最后通过下面的代码把Image.db数据库中存储的文件名字增添到窗体的TListBox组件中:
with Table1 do begin First; while not Eof do begin ListBox1.Items.Add(FieldByName(’Name’).AsString); Next; end; end; |
在程序运行历程中,假如用户在窗体的TListBox组件中挑选了图象文件,程序会通过TTable组件的First办法把数据表中的第1条记录作为当前记录,然后通过一个循环来遍历数据库中的记录.假如某条记录中Name字段的内容和用户的挑选相同,那么就把该记录中Data字段中的图象信息读取出来,并且把图象显示在窗体上的TImage组件上.代码以下:
procedure TForm1.ListBox1Click(Sender: TObject); var mem:TStream; bmp:TBitmap; begin with Table1 do begin First; while not Eof do begin if FieldByName(’Name’).AsString=ListBox1.Items[ListBox1.ItemIndex] then break; Next; end; bmp:=TBitmap.Create; mem:=CreateBlobStream(FieldByName(’Data’),bmRead); mem.Position:=0; bmp.LoadFromStream(mem); self.Image1.Picture.Assign(bmp); bmp.Free; mem.Free; end; end; |
以上是“Delphi实目前数据库中存取图象[Delphi编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论