其他语言

位置:IT落伍者 >> 其他语言 >> 浏览文章

DELPHI基础教程:开发Delphi对象式数据管理功能(二)[4]


发布日期:2018年08月16日
 
DELPHI基础教程:开发Delphi对象式数据管理功能(二)[4]

Truncate方法

该方法是通过调用BDE API函数实现的其实现如下

procedure TBlobStreamTruncate;

begin

if FOpened then

begin

Check(DbiTruncateBlob(FDataSetHandle 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对象和TWriter对象TFiler对象是文件读写的基础对象在应用程序中使用的主要是TReader和TWriterTReader和TWriter对象都直接从TFiler对象继承TFiler对象定义了Filer对象的基本属性和方法

Filer对象主要完成两大功能

● 存取窗体文件和窗体文件中的部件

● 提供数据缓沖加快数据读写操作

TFiler对象

TFiler对象是TReader和TWriter的抽象类定义了用于部件存储的基本属性和方法它定义了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程序设计培训视频教程

JEE高级框架实战培训视频教程

Visual C++音频/视频技术开发与实战

Oracle索引技术

ORACLEG数据库开发优化指南

Java程序性能优化让你的Java程序更快更稳定

C嵌入式编程设计模式

Android游戏开发实践指南

[] [] [] []

               

上一篇:DELPHI基础教程:开发Delphi对象式数据管理功能(一)[1]

下一篇:DELPHI基础教程:开发Delphi对象式数据管理功能(二)[3]