当前位置:七道奇文章资讯编程技术Delphi编程
日期: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编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 怎样ASP.NET MVC调用Delphi开辟的Web报表
  • delphi反汇编初探
  • 怎样在vc、delphi中利用mysql(mysql odbc驱动的利用)
  • 怎样在vc、delphi中利用mysql
  • 利用Delphi6的DBExpress组件衔接远程的Mysql数据库
  • Delphi中的Access本领集
  • 在Java与Delphi间交互实现Zlib压缩算法
  • 在C++Builder中利用Delphi文件
  • BCB6/Delphi7下完善调用CHM帮忙
  • BCB及Delphi工程文件扩大名一览
  • 在C++Builder中利用Delphi控件
  • 在Delphi与C++之间实现函数与对象同享
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .