快速业务通道

C++ Builder操纵多媒体数据库

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-29

随着计算机软、硬件技术的日益发展,对多媒体信息的处理能力不断增强,利 用快速开发工具C++ Builder所具有的强大数据库开发功能,使得对多媒体数据 (库)的创建、存、取、显示、播放等控制都非常容易实现。本文将以构建具有5 个字段“编号、姓名、像片、声音、活动影像”的数据库为例,根据 多媒体数据与数据库本身是否共同存储,介绍两种多媒体数据库处理方法,在这 里称为集成法和分离法。

集成法

此方法是将多媒体数据直接存入 数据库中,“编号”和“姓名”字段都取ftString字段类 型,“像片”字段采用ftGraphic字段类型用于存放BMP文件,“ 声音”和“活动影像”字段均采用ftBlob字段类型(其他格式的 多媒体文件均可以采用这种二进制类型存储),分别用于存放WAV和AVI文件,这 样的数据库结构既可以采用C++ Builder提供的“Database Desktop” 创建,也可以用下面的代码创建:

TTable *newTable = new TTable (this);

newTable->Active = false;

newTable- >DatabaseName = “e:\\mydata”;

newTable- >TableName = “example1.db”;

newTable- >TableType = ttParadox;

//定义数据表类型

newTable- >FieldDefs->Clear();

newTable->FieldDefs->Add (“编号”,ftString,8,false); //定义字段、类型、长度等

newTable->FieldDefs->Add(“姓名”,ftString,8 ,false);

newTable->FieldDefs->Add(“像片”, ftGraphic,0,false);

newTable->FieldDefs->Add(“声 音”,ftBlob,0,false);

newTable->FieldDefs->Add (“数字电影”,ftBlob,0,false);

newTable- >CreateTable(); //创建数据表

delete newTable;

由于要 编程实现往数据库中添加记录的功能,因此假定在数据库程序设计阶段数据表 example1

。db已经建好,同时假定所需要的多媒体文件均存放于e: \mydata\media路径之下。

所要完成的程序的功能界面如图1所示:

图 1 操作界面

点击“打开数据库”按钮将打开库文件 example1.db并显示原有记录的相应信息。点击“增加记录”按钮将追 加新的记录,通过数据导航按钮进行记录的移动、修改等操作,在每一时刻,点 击“听听声”按钮可以听到当前记录所对应的声音,点击“看看 影”按钮可以看到当前记录对应的活动影像。这个应用已具备一个多媒体数 据库应用系统的基本功能,以下是主要设计步骤:

1. 组件设置

向 窗体增加一个TTable组件Table1,一个TDataSource组件DataSource1,两个 TDBEdit组件DBEdit1和DBEdit2,一个TDBImage组件DBImage1,一个TDBNavigator 组件DBNavigator1,一个TMediaPlayer组件MediaPlayer1,一个TOleContainer组 件OleContainer1,四个TButton组件和三个TLable组件。这些组件需要设置的部 分属性如下表:

作者:来自:计算机世界网

注: 表中标记 “▲”的几个属性表示只有数据表example1.db已经存在,才能在设计 阶段进行设置。

2. 创建字段变量

双击窗体的Table1组件,在弹出 的 “Form1->Table1” 小窗口的空白处单击鼠标右键,选择 “Add Fields……”菜单命令,然后选中“像片、 声音、活动影像”三个字段,点击OK按钮。回到“Form1- >Table1”小窗口,选中“图片”,将其Name属性修改为 Table1BMPField.类似地将“声音”和“活动影像”的Name 属性分别修改为Table1WAVField和Table1AVI

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号