日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 編程 > Delphi > 正文

Delphi的組件讀寫機制(一)

2019-11-18 18:35:23
字體:
來源:轉載
供稿:網友
 

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.endoflist do //注意TReader的一個方法:endoflist
  Begin
    Memo1.lines.add(myreader.readstring); //把讀出的字符串加到Memo1組件中
  End;
  Myreader.readlistend; //把寫入的列表結束標志讀出來
  Myreader.free;  //釋放Myreader對象
  FileStream.free; //釋放FileStream對象
End;
 上面兩個過程,一個為寫過程,另一個為讀過程。寫過程通過TWriter,利用TFilestream把一個Memo中的內容(文本信息)存為一個保存在磁盤上的二進制文件。讀過程剛好和寫過程相反,通過TReader,利用TFilestream把二進制文件中的內容轉換為文本信息并顯示在Memo中。運行程序可以看到,讀過程忠實的把寫過程所保存的信息進行了還原。
 下圖描述了數據對象(包括對象和組件)、流式對象和讀寫對象之間的關系。
 
         圖(一)

 值得注意的是,讀寫對象如TFiler對象、TReader對象和TWriter對象等很少由應用程序編寫者進行直接的調用,它通常用來讀寫組件的狀態,它在讀寫組件機制中扮演著非常重要的角色。
對于流式對象Stream,很多參考資料上都有很詳細的介紹,而TFiler對象、TReader對象和TWriter對象特別是組件讀寫機制的參考資料則很少見,本文將通過對VCL原代碼的跟蹤而對組件讀寫機制進行剖析。

二、讀寫對象(Filer)與組件讀寫機制
 Filer對象主要用于存取Delphi的窗體文件和窗體文件中的組件,所以要清楚地理解Filer對象就要清楚Delphi 窗體文件(DFM文件)的結構。
  DFM文件是用于Delphi存儲窗體的。窗體是Delphi可視化程序設計的核心。窗體對應Delphi應用程序中的窗口,窗體中的可視組件對應窗口中的界面元素,非可視組件如TTimer和TOpenDialog,對應Delphi應用程序的某項功能。Delphi應用程序的設計實際上是以窗體的設計為中心。因此,DFM文件在Delphi應用設計中也占很重要的位置。窗體中的所有元素包括窗體自身的屬性都包含在DFM文件中。
  在Delphi應用程序窗口中,界面元素是按擁有關系相互聯系的,因此樹狀結構是最自然的表達形式;相應地,窗體中的組件也是按樹狀結構組織;對應在DFM文件中,也要表達這種關系。DFM文件在物理上,是以文本方式存儲的(在Delphi2.0版本以前是存儲為二進制文件的),在邏輯上則是以樹狀結構安排各組件的關系。從該文本中可以看清窗體的樹狀結構。下面是DFM文件的內容:
object Form1: TForm1
  Left = 197
  Top = 124
  ……
  PixelsPerInch = 96
  TextHeight = 13
  object Button1: TButton
    Left = 272
    ……
    Caption = 'Button1'
    TabOrder = 0
  end
  object Panel1: TPanel
    Left = 120
    ……
    Caption = 'Panel1'
    TabOrder = 1
    object CheckBox1: TCheckBox
      Left = 104
      ……
   Caption = 'CheckBox1'
      TabOrder = 0
    end
  end
end
 這個DFM文件就是TWriter通過流式對象Stream來生成的,當然這里還有一個二進制文件到文本信息文件的轉換過程,這個轉換過程不是本文要研究的對象,所以忽略這樣的一個過程。
 在程序開始運行的時候,TReader通過流式對象Stream來讀取窗體及組件,因為Delphi在編譯程序的時候,利用編譯指令{$R *.dfm}已經把DFM文件信息編譯到可執行文件中,因此TReader讀取的內容實際上是被編譯到可執行文件中的有關窗體和組件的信息。
 TReader和TWriter不僅能夠讀取和寫入Object Pascal中絕大部分標準數據類型,而且能夠讀寫List、Variant等高級類型,甚至能夠讀寫Perperties和Component。不過,TReader、TWriter自身實際上提供的功能很有限,大部分實際的工作是由TStream這個非常強大的類來完成的。也就是說TReader、TWriter實際上只是一個工具,它只是負責怎么去讀寫組件,至于具體的讀寫操作是由TStream來完成的。
 由于TFiler是TReader和TWriter的公共祖先類,因為要了解TReader和TWriter,還是先從TFiler開始。



上一篇:delphi一句話幫助

下一篇:Delphi的組件讀寫機制(三)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

日韩在线不卡一区| 一区免费视频| 亚洲制服一区| 欧美一级日韩一级| 亚洲欧洲一区二区天堂久久| 999精品网| 欧美一级日韩一级| 中文在线日韩| 国产wwww| 日韩中文字幕在线视频观看| 国产主播中文字幕| 久久精品蜜桃| 国产在线第一页| 天堂在线中文资源| 91精品在线观看入口| 国产绿帽一区二区三区| 午夜亚洲一区| 亚洲欧洲综合另类| 亚洲成年人影院在线| 亚洲国产91精品在线观看| 国产视频一区三区| 欧美日韩国产一二| 免费在线观看国产黄| 日韩三级视频在线| 玖玖在线免费视频| 国产一卡2卡3卡四卡网站| 久久99久久99精品中文字幕| 欧美日韩视频免费播放| 日韩中文字幕二区| 中文字幕亚洲一区在线观看| 一本久久a久久精品亚洲| 久久手机免费观看| 国产亚洲一级| 国产主播中文字幕| 国产亚洲一区字幕| 精品国产不卡一区二区| 中文字幕 乱码 中文乱码91| 精品日韩在线观看| 欧美亚洲综合视频| 精品福利一区二区三区| 国产黄色在线免费观看| 精品日韩av| 精品国产欧美成人夜夜嗨| 日韩视频一区二区在线观看| 欧美日韩国产观看视频| 国产九九在线| 日韩欧美一卡二卡| 国产欧美日韩视频在线| 国产中文在线观看| 日韩午夜高潮| 久久91精品国产91久久小草 | 亚洲福利在线看| 亚洲小说春色综合另类网蜜桃| 成人禁用看黄a在线| 老司机久久99久久精品播放免费| 国产香蕉精品视频| 国产主播中文字幕| 免费国产h视频在线观看86| 国产黄色在线免费观看| 日本xxxwww免费视频| 最近免费中文字幕在线第一页| 精品国自产在线观看| 正在播放日韩精品| 日本亚洲欧美三级| 中文字幕精品国产| av中文资源在线| 91精品在线观看入口| 影音先锋中文字幕在线观看| 国产黄色在线看| 国产三级视频网站| 国产资源在线观看入口av| 99热最新网址| 91精品在线看V| 国产成人精品三级| 日韩三级视频在线| 欧美日韩激情一区二区三区| 日韩精品视频网站| 亚洲成年人在线播放| 欧美乱大交xxxxx免费| a天堂中文在线官网在线| 久久99精品久久久久久青青日本| 久久91精品久久久久久秒播| 国产一区不卡精品| 亚洲.国产.中文慕字在线| 国产欧美中文字幕| 国产最顶级的黄色片在线免费观看| 伊人永久在线| 国产成人精品综合久久久| 91精品国产全国免费观看| 日韩视频中文| 最新日韩中文字幕| 欧美熟妇乱码在线一区| 日韩中文字幕在线观看视频| 国产高清大尺度一区二区不卡| 先锋男人资源站| 欧美一级日韩一级| 中文字幕成人乱码在线电影| 不卡在线一区二区| 日韩欧美高清在线视频| 一区二区欧美国产| av免费不卡国产观看| 日韩久久久精品| 精品午夜av| 亚洲国产午夜精品| 91麻豆精品国产91久久久使用方法 | 亚洲免费中文字幕| 欧美中文字幕视频| 欧美日韩国产第一页| 国产福利一区二区| 日本视频久久久| 日韩精品久久久| 一区二区三区精品在线观看| 亚洲福利精品| 中文字幕高清在线播放| 国产区视频在线观看| 黄色片免费看| 国产日韩亚洲欧美| 日韩1区在线| 欧美日韩在线播放三区四区| 在线观看av的网站| 日韩视频在线一区二区| 久久久久久91| 伊人网站在线| 日本不卡视频一区| 久久99蜜桃精品| 日韩色在线观看| 在线视频亚洲| 亚洲.国产.中文慕字在线| 国产日韩精品在线观看| 日韩欧美一级精品久久| 91精品国产91综合久久蜜臀| 韩国v欧美v日本v亚洲| 日韩高清在线一区二区| 91精品国产自产在线观看永久∴| 国产在线欧美| 欧美久久在线| 日韩欧美综合在线视频| 999在线视频| 99中文字幕一区| 日韩一级精品| 国产网站av| 国产区视频在线观看| 久久视频www| 日韩一级精品| 亚洲欧洲日韩在线| 国产午夜在线观看| 日韩精品国产欧美| 国产乱一区二区| 日本精品福利视频| 欧美日韩在线精品成人综合网| 在线视频一区二区三区在线播放| 午夜国产视频 | 欧美黄页在线免费观看| 欧美国产日韩综合| 国产欧美日韩在线视频| 亚洲一区精品在线| 免费视频中文字幕| 欧美在线日韩在线| 午夜视频在线观看一区| 亚洲第一视频| a视频在线播放| 中文字幕在线观看亚洲| 午夜国产福利在线观看| 欧美日韩精品在线| 久久久久久99精品| 日韩午夜黄色| 国产日韩电影| 91九色在线看| 中文在线不卡视频| 亚洲黄色片在线观看| 深夜福利一区| 国产视频2区| 日韩精品免费观看视频| 欧美日韩国产高清| 中文不卡在线| 一区二区三区精品在线| 国内精品99| 一区二区三区精品99久久| 亚洲人成欧美中文字幕| 一本一道久久a久久精品综合蜜臀| 日韩欧美在线视频| 日韩中文字幕综合| 尤物av一区二区| 久久久精品99| 国产成人精品日本亚洲专区61| 欧洲精品在线一区| 欧美日韩久久不卡| 日韩激情一区| 久草中文在线观看| 91精品国产91久久久久| 国产成人精品999在线观看| 免费视频最近日韩| 日韩视频第二页| 综合激情国产一区| 日韩中文欧美在线| 亚洲视频在线观看日本a| 日韩视频精品在线| 亚洲v中文字幕| 日韩久久精品成人| 亚洲电影中文字幕在线观看| 激情综合色综合久久| av亚洲免费| 亚洲永久免费视频| 一区三区二区视频| 一区二区三区免费看视频| 亚洲福利精品在线| 伊人亚洲视频| 日韩欧美在线精品| 亚洲人成欧美中文字幕| 日韩欧美国产不卡| 91精品网站| 亚洲丝袜一区| 欧美一级日韩不卡播放免费| 亚洲免费在线视频一区 二区| 精品亚洲永久免费| 日韩中文字幕综合| 欧美久久在线观看| 日韩精品在线网站| 亚洲高清在线免费| 国产专区中文字幕| 久久久99久久精品欧美| 日韩欧美一二三区| 亚洲成av人片| 中文字幕亚洲二区 | 国产一区久久久| 91久久精品国产| 日本精品在线播放| 欧美日韩综合高清一区二区 | 最近中文字幕在线中文高清版| 中文网丁香综合网| av免费在线播放| 亚洲高清视频一区| 91精品视频免费在线观看| 日韩国产91| 亚洲成av人片在线| 91精品久久久久久久久| 91精品国产91| 在线视频观看日韩| 精品视频三区| 亚洲制服丝袜一区| 一级片在线播放| 国产h片在线观看| 亚洲欧洲三级| 亚洲一区在线观看视频| 欧美高清一级片在线| 亚洲欧美中文字幕在线一区| 欧美日韩中文国产| 久草中文在线观看| 日韩在线小视频| 色屁屁一区二区| 成人a在线观看| 亚洲欧美伊人| 日韩不卡高清视频| 国产一区不卡精品| 中文字幕第一页在线| 欧美日韩视频在线| 99中文字幕一区| 日韩中文字幕网| 国产亚洲一区字幕| 免费高清在线一区| 精品久久蜜桃| 国产视频97| wwwav在线播放| 国产成人精品av久久| 国产 欧美 在线| 午夜一区二区视频| 中文字幕第一页在线播放| 久久久91精品国产| 亚洲第一福利视频在线| 国产不卡在线| 中文在线中文字幕| 国产在成人精品线拍偷自揄拍| 亚洲免费精品视频| 91日韩欧美| 在线不卡日本| 亚洲高清视频一区| 国产激情久久| 精品成人久久久| 国产亚洲欧美中文| 欧美日韩激情在线一区二区三区 | 亚洲视频资源在线| 欧美日韩午夜在线视频| 欧美中日韩在线| 日韩精品乱码av一区二区| 日韩一级中文字幕| 久久精品在线观看| 国产黄色一区| 一级片免费在线播放| 精品色蜜蜜精品视频在线观看| 久本草在线中文字幕亚洲欧美| 国产一区在线不卡| 中文字幕亚洲一区二区av在线| 精品在线观看一区| 欧美日韩在线观看一区| 久久99蜜桃精品| 国产视频1区2区| 九一久久久久久| 国产免费一级| 国产中文在线播放| 在线视频亚洲| 精品视频1区2区3区| 日本免费在线视频不卡一不卡二| 一区二区不卡视频| 亚洲一区精品在线| 国产日韩中文在线| 国产小视频免费在线观看| 国产一级片网站| 国产黄色在线| 一本一道综合狠狠老| 视频一区不卡| 欧美日韩亚洲国产综合| 精品人妻一区二区免费视频| 美女在线视频一区| 日韩欧美亚洲国产| 国产福利不卡| 国产午夜精品久久| 精品国内自产拍在线视频| 成人xxxx| av免费看在线| 一区二区高清视频| 91欧美日韩在线| 国产在线黄色| 99精品在线播放| 日韩不卡在线播放| 精品日韩一区二区三区免费视频| 日本一欧美一欧美一亚洲视频| 亚洲三级欧美| 国产欧美日韩高清| 国产福利久久久| 久久91精品久久久久久秒播| 久久网站免费观看| 91精品国产全国免费观看 | 亚洲天堂国产视频| 极品久久久久久| 欧美日韩国产免费观看视频| 中文欧美日韩| 欧美三级日韩三级国产三级| 色屁屁一区二区| 中文精品在线| 亚洲欧洲综合另类| 在线视频一区二区三区在线播放| 粉嫩喷白浆久久| 91精品网站| 老司机久久99久久精品播放免费| 99精品在线播放| 一区免费视频| 日本不卡视频一区| 欧美日韩三级视频| 激情综合色综合久久| 日韩欧美中文在线视频| 99国内精品| 91亚洲国产高清| 亚洲va久久久噜噜噜久久| 国产欧美日韩成人| 婷婷中文字幕在线观看| 999精品网| 国产婷婷在线观看| 中文字幕第一页在线播放| av最新网址| 亚洲丝袜一区| 欧美亚洲免费高清在线观看| 美女在线视频一区| 欧美日韩高清一区二区| 欧美国产日韩综合| 精品亚洲综合| 亚洲欧美99| 免费高清在线一区| 一区二区在线观| 97久久精品| 99精品在线播放| 亚洲欧美久久久| 婷婷中文字幕一区三区| 午夜私人影院在线观看| 伊人网站在线| 在线资源av| 国产成人精品免费网站| 日韩精品在线免费看| 亚洲国内精品视频| 国产黄色在线免费观看| 欧美日韩国产免费| 日韩中文欧美在线| 日韩精品一页| 999视频精品| 精品一性一色一乱农村| 亚洲 国产 欧美 日韩| 中文字幕欧美人妻精品一区蜜臀| 欧美 亚洲 精品 三区| 91xxx在线观看| 日韩中文字幕视频网| а√天堂8资源中文在线| 欧美日韩精品在线视频| 日韩精品在线播放| 久久久精品国产99久久精品芒果| 国产视频一区三区| 国产永久在线观看| 国产91欧美| 欧美三级在线播放| 不卡在线视频| 欧美日韩精品不卡| 欧美久久久网站|