20.2.2.1 TWriter對象的屬性和方法
1. Position屬性
聲明:property Position: Longint;
TWriter對象的Position屬性表示相關聯的流中的當前要寫的位置,TReader
對象也有這個屬性,但與TReader對象不同的是TWriter對象的Position的值比流的Position值小,這一點一看屬性實現就清楚了。
2. RootAncesstor屬性
聲明:property RootAncestor: TComponent;
RootAncestor屬性表示的是Root屬性所指的部件的祖先。如果Root
是繼承的窗體,Writer對象將窗體擁有部件與祖先窗體中的相應部件依次比較,然後只寫入那些與祖先中的不同的部件。
3. Write方法
聲明:procedure Write(const Buf; Count: Longint);
Write方法從Buf中往與Writer相關聯的流中寫入Count個字節。
4. WriteListBegin方法
聲明:procedure WriteListBegin;
WriteListBegin方法往Write對象的流中寫入項目列表開始標志,該標志意味著後面存儲有一連串的項目。Reader對象,在讀這一連串項目時先調用ReadListBegin方法讀取該標志位,然後用EndOfList判斷是否列表結束,並用循環語句讀取項目。在調用WriteListBegin方法的後面必須調用WriteListEnd方法寫列表結束標志,相應的在Reader對象中有ReadListEnd方法讀取該結束標志。
5. WriteListEnd方法
聲明:procedure WriteListEnd;
WriteListEnd方法在流中,寫入項目列表結束標志,它是與WriteListBegin相匹配的方法。
6. WriteBoolean方法
聲明:procedure WriteBoolean(Value: Boolean);
WriteBoolean方法將Value傳入的布爾值寫入流中。
7. WriteChar方法
聲明:procedure WriteChar(Value: char);
WriteChar方法將Value中的字符寫入流中。
8. WriteFloat方法
聲明:procedure WriteFloat(Value: Extended);
WriteFloat方法將Value傳入的浮點數寫入流中。
9. WriteInteger方法
聲明:procedure WriteInteger(Value: Longint);
WriteInteger方法將Value中的整數寫入流中。
10. WriteString方法
聲明:procedure WriteString(const Value: string);
WriteString方法將Value中的字符串寫入流中。
11. WriteIdent方法
聲明:procedure WriteIdent(const Ident: string);
WriteIdent方法將Ident傳入的標識符寫入流中。
12. WriteSignature方法
聲明:procedure WriteSignature;
WriteSignature方法將Delphi
Filer對象標簽寫入流中。WriteRootComponent方法在將部件寫入流之前先調用WriteSignature方法寫入Filer標簽。Reader對象在讀部件之前調用ReadSignature方法讀取該標簽以指導讀操作。
13. WritComponent方法
聲明:procedure WriteComponent(Component: TComponent);
WriteComponent方法調用參數Component的WriteState方法將部件寫入流中。在調用WriteState之前,WriteComponent還將Component的ComponetnState屬性置為csWriting。當WriteState返回時再清除csWriting.
14. WriteRootComponent方法
聲明:procedure WriteRootComponent(Root: TComponent);
WriteRootComponent方法將Writer對象Root屬性設為參數Root帶的值,然後調用WriteSignature方法往流中寫入Filer對象標簽,最後調用WriteComponent方法在流中存儲Root部件。