DELPHI基础教程:开发Delphi对象式数据管理功能(二)[4]
Truncate方法
该方法是通过调用BDE API函数实现的 其实现如下
procedure TBlobStream Truncate;
begin
if FOpened then
begin
Check(DbiTruncateBlob(FDataSet Handle FRecord FFieldNo FPosition))
FModified := True;
end;
end;
该方法从BLOB流的当前位置起删除所有数据 并设置修改标志FModified为True 在Delphi VCL中许多部件特别是数据库应用方面的部件都用BDE API函数完成对数据库的访问 如Data Access和Data Control部件 各种数据库部件都是BDE API函数外层的包装简化了对数据库的访问操作 BDE API中还提供了避开BDE配置工具在程序中直接处理Alias(建立 修改 删除等)的函数支持 这也是部件所没有提供的 在Delphi数据库应用安装程序中 这些Alias操作函数无疑是相当重要的 有关BDE API函数的详细介绍 可阅读Delphi Client/Server Suite所带的BDE API 帮助文件
读写对象的实现原理和应用
读写对象(Filer)包括TFiler对象 TReader对象和riter对象 TFiler对象是文件读写的基础对象 在应用程序中使用的主要是TReader和riter TReader和riter对象都直接从TFiler对象继承 TFiler对象定义了Filer对象的基本属性和方法
Filer对象主要完成两大功能
● 存取窗体文件和窗体文件中的部件
● 提供数据缓冲 加快数据读写操作
TFiler对象
TFiler对象是TReader和riter的抽象类 定义了用于部件存储的基本属性和方法 它定义了Root属性 Root指明了所读或写的部件的根对象 它的Create方法将Stream对象作为传入参数以建立与Stream对象的联系 Filer对象的具体读写操作都是由Stream对象完成 因此 只要是Stream对象所能访问的媒介都能由Filer对象存取部件 TFiler 对象还提供了两个定义属性的方法 DefineProperty和DefineBinaryProperty 这两个方法使对象能读写不在部件published部分定义的属性
因为Filer对象主要用于存取Delphi的窗体文件和窗体文件中的部件 所以要清楚地理解Filer对象就要清楚Delphi 窗体文件(DFM文件)的结构
DFM文件是用于Delphi存储窗体的 窗体是Delphi可视化程序设计的核心 窗体对应Delphi应用程序中的窗口 窗体中的可视部件对应窗口中的界面元素 非可视部件如TTable和TOpenDialog 对应Delphi应用程序的某项功能 Delphi应用程序的设计实际上是以窗体的设计为中心 因此 DFM文件在Delphi应用设计中也占很重要的位置 窗体中的所有元素包括窗体自身的属性都包含在DFM文件中
在Delphi应用程序窗口 界面元素是按拥有关系相互联系的 因此树状结构是最自然的表达形式 相应地 窗体中的部件也是按树状结构组织 对应在DFM文件中 也要表达这种关系 DFM文件在物理上 是以二进制方式存储的 在逻辑上则是以树状结构安排各部件的关系 Delphi编辑窗口支持以文本方式显示DFM文件 从该文本中可以看清窗体的树状结构 下面是DFM文件的文本显示
Object Form : TForm
Left =
Top =
ActiveControl = DBIMage
…
Object Panell: TPanel
Left =
…
Object DBLabel : TDBText
…
end
Object DBImage : TDBImage
…
end
end
Object Panel : TPanel
Left =
…
Object Label : TLable
…
end
end
Object Panel : TPanel
Left =
…
Object DBLabel : TDBText
…
end
end
end
关于DFM文件中存储属性值的规则 请参见自定义部件开发这一章
对照TFiler对象的属性 Root属性就表示部件树的根──窗体 Filer对象的许多方法都是读从根起始的树中所有的部件 Ancestor属性表示根的祖先对象 IgnoreChildren属性则是读部件时忽略根的子结点
下面介绍Filer对象的属性和方法
返回目录 DELPHI基础教程
编辑推荐
Java程序设计培训视频教程
J EE高级框架实战培训视频教程
Visual C++音频/视频技术开发与实战
Oracle索引技术
ORACLE G数据库开发优化指南
Java程序性能优化 让你的Java程序更快 更稳定
C嵌入式编程设计模式
Android游戏开发实践指南
lishixinzhi/Article/program/Delphi/201311/25103