程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi的組件讀寫機制

Delphi的組件讀寫機制

編輯:Delphi

Delphi的組件讀寫機制(一)

一、流式對象(Stream)和讀寫對象(Filer)的介紹
   在面向對象程序設計中,對象式數據管理占有很重要的地位。在Delphi中,對對象式數據管理的支持方式是其一大特色。
   Delphi是一個面向對象的可視化設計與面向對象的語言相結合的集成開發環境。Delphi的核心是組件。組件是對象的一種。Delphi應用程序完全是由組件來構造的,因此開發高性能的Delphi應用程序必然會涉及對象式數據管理技術。

   對象式數據管理包括兩方面的內容:
  ● 用對象來管理數據
  ● 對各類數據對象(包括對象和組件)的管理

   Delphi將對象式數據管理類歸結為Stream對象(Stream)和Filer對象(Filer),並將它們應用於可視組件類庫(VCL)的方方面面。它們提供了豐富的在內存、外存和Windows資源中管理對象的功能,
   Stream對象,又稱流式對象,是TStream、THandleStream、TFileStream、TMemoryStream、TResourceStream和TBlobStream等的統稱。它們分別代表了在各種媒介上存儲數據的能力,它們將各種數據類型(包括對象和組件) 在內存、外存和數據庫字段中的管理操作抽象為對象方法,並且充分利用了面向對象技術的優點,應用程序可以相當容易地在各種Stream對象中拷貝數據。
   讀寫對象(Filer)包括TFiler對象、TReader對象和TWriter對象。TFiler對象是文件讀寫的基礎對象,在應用程序中使用的主要是TReader和TWriter。TReader和TWriter對象都直接從TFiler對象繼承。TFiler對象定義了Filer對象的基本屬性和方法。
  Filer對象主要完成兩大功能:
  ● 存取窗體文件和窗體文件中的組件
  ● 提供數據緩沖,加快數據讀寫操作

   為了對流式對象和讀寫對象有一個感性的認識,先來看一個例子。
  a)寫文件
  procedure TFomr1.WriteData (Sender: TObject); r;
  Var
    FileStream:TFilestream;
    Mywriter:TWriter;
    i: integer
  Begin
    FileStream:=TFilestream.create(‘c:Test.txt’,fmopenwrite);//創建文件流對象
    Mywriter:=TWriter.create(FileStream,1024); //把Mywriter和FileStream聯系起來
    Mywriter. writelistbegin;  //寫入列表開始標志
    For i:=0 to Memo1.lines.count-1 do   
      Mywriter.writestring(memo1.lines[i]); //保存Memo組件中文本信息到文件中
    Mywriter.writelistend;    //寫入列表結束標志
    FileStream.seek(0,sofrombeginning); //文件流對象指針移到流起始位置
    Mywriter.free; //釋放Mywriter對象
    FileStream.free; //釋放FileStream對象
  End;
   
  b)讀文件
  procedure TForm1.ReadData(Sender: TObject);
  Var
    FileStream:TFilestream;
    Myreader:TReader;
  Begin
    FileStream:=TFilestream.create(‘c:Test.txt’,fmopenread);
    Myreader:=TRreader.create(FileStream,1024); //把Myreader和FileStream聯系起來
    Myreader.readlistbegin;  //把寫入的列表開始標志讀出來
    Memo1.lines.clear;  //清除Memo1組件的文本內容
    While not myreader

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一頁  >> 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved