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

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

2022-06-13   來源: Delphi編程 

  WriteChar方法用於寫入字符

  procedure TWriterWriteChar(Value: Char)

  begin

  WriteString(Value)

  end;

  字符類型的讀寫是用讀寫字符串的方法在讀的時候判斷字節數為則為字符型

  ⑶ 部件的寫入

  TWriter對象中與寫入部件有關的方法有WriteSignatureWritePrefixWriteComponentWriteDescendant和WriteRootComponent

  WriteSignature方法用於往流中寫入Filer對象標簽

  procedure TWriterWriteSignature;

  begin

  Write(FilerSignature SizeOf(FilerSignature))

  end;

  FilerStgnature是字符串常量其值為TPF代表對象標簽

  WritePrefix方法用於在寫入部件前寫入ffInherited和ffChildPos標志這些標志表示部件的繼承特征和創建序值特征

  procedure TWriterWritePrefix(Flags: TFilerFlags; AChildPos: Integer)

  var

  Prefix: Byte;

  begin

  if Flags <> [] then

  begin

  Prefix := $F or Byte(Flags)

  Write(Prefix SizeOf(Prefix))

  if ffChildPos in Flags then WriteInteger(AChildPos)

  end;

  end;

  如果ffChildPos置位則存入部件在Owner中的創建序值更詳細的信息請參閱TReader的ReadPrefix方法

  WriteComponent方法往流中寫入部件

  procedure TWriterWriteComponent(Component: TComponent)

  function FindAncestor(const Name: string) TComponent;

  begin

  …

  end;

  begin

  Include(ComponentFComponentState csWriting)

  if Assigned(FAncestorList) then

  Ancestor := FindAncestor(ComponentName)

  ComponentWriteState(Self)

  Exclude(ComponentFComponentState csWriting)

  end;

  方法中用Component的WritState方法寫入部件的屬性在寫入之前將ComponentFComponentState置為csWriting寫入完後再將csWriting復位

  WriteDescendant是根據祖先AAncestor的情況寫入部件Root

  procedure TWriterWriteDescendent(Root: TComponent; AAncestor: TComponent)

  begin

  FRootAncestor := AAncestor;

  FAncestor := AAncestor;

  FRoot := Root;

  WriteSignature;

  WriteComponent(Root)

  end;

  方法先調用WriteSignature方法寫入Filer對象標簽然後調用WriteComponent將部件Root寫入流

  WriteRootComponent方法則是調用WriteDescendant方法寫入部件只是將後者的Ancestor參數以nil值傳入

  procedure TWriterWriteRootComponent(Root: TComponent)

  begin

  WriteDescendent(Root nil)

  end;

  返回目錄DELPHI基礎教程

       編輯推薦

       Java程序設計培訓視頻教程

       JEE高級框架實戰培訓視頻教程

  Visual C++音頻/視頻技術開發與實戰

  Oracle索引技術

  ORACLEG數據庫開發優化指南

  Java程序性能優化讓你的Java程序更快更穩定

  C嵌入式編程設計模式

  Android游戲開發實踐指南

[]  []  []  []  


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