熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

DELPHI基礎教程:開發Delphi對象式數據管理功能(二)[4]

2022-06-13   來源: Delphi編程 

   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游戲開發實踐指南

[]  []  []  []  


From:http://tw.wingwit.com/Article/program/Delphi/201311/25103.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.