當前位置:編程學習大全網 - 編程語言 - DELPHI基礎教程:開發Delphi對象式數據管理功能(二)[4]

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

  • 上一篇:--------------------Configuration: az - Win32 Debug-------------------- Compiling... Error spawning
  • 下一篇:湖南高考450分理科能上什麽大學
  • copyright 2024編程學習大全網