* Completed TStringList and TStrListMaker objects

This commit is contained in:
michael 1999-04-10 21:36:56 +00:00
parent ac80a9af26
commit 5cf9365948

View File

@ -2411,6 +2411,11 @@ Errors returned may be those by \seep{TStream.Put} and \var{TStream.Seek}
\section{TStringList}
\label{se:TStringList}
A \var{TStringList} object can be used to read a collection of strings
stored in a stream. If you register this object with the \seep{RegisterType}
function, you cannot register the \var{TStrListMaker} object.
This is the public declaration of the \var{TStringList} object:
\begin{verbatim}
TYPE
TStrIndexRec = Packed RECORD
@ -2428,17 +2433,120 @@ TYPE
PStringList = ^TStringList;
\end{verbatim}
\begin{procedure}{TStringList.Load}
\Declaration
Constructor TstringList.Load (Var S: TStream);
\Description
The \var{Load} constructor reads the \var{TStringList} object from the
stream \var{S}. It also reads the descriptions of the strings from the
stream. The string descriptions are stored as an array of
\var{TstrIndexrec} records, where each record describes a string on the
stream. These records are kept in memory.
\Errors
If an error occurs, a stream error is triggered.
\SeeAlso
\seepl{Done}{TStringList.Done}
\end{procedure}
\begin{procedure}{TStringList.Done}
\Declaration
Destructor TstringList.Done; Virtual;
\Description
The \var{Done} destructor frees the memory occupied by the string
descriptions, and destroys the object.
\Errors
None.
\SeeAlso
\seepl{Load}{TStringList.Load}, \seep{TObject.Done}
\end{procedure}
\begin{function}{TStringList.Get}
\Declaration
Function TStringList.Get (Key: Sw\_Word): String;
\Description
\var{Get} reads the string with key \var{Key} from the list of strings on the
stream, and returns this string. If there is no string with such a key, an
empty string is returned.
\Errors
If no string with key \var{Key} is found, an empty string is returned.
A stream error may result if the stream doesn't contain the needed strings.
\SeeAlso
\seep{TStrListMaker.Put}
\end{function}
\section{TStrListMaker}
\label{se:TStrListMaker}
The \var{TStrListMaker} object can be used to generate a stream with
strings, which can be read with the \var{TStringList} object.
If you register this object with the \seep{RegisterType}
function, you cannot register the \var{TStringList} object.
This is the public declaration of the \var{TStrListMaker} object:
\begin{verbatim}
TYPE
TStrListMaker = OBJECT (TObject)
Constructor Init (AStrSize, AIndexSize: Sw_Word);
Destructor Done; Virtual;
Procedure Put (Key: Sw_Word; S: String);
Procedure Put (Key: SwWord; S: String);
Procedure Store (Var S: TStream);
END;
PStrListMaker = ^TStrListMaker;
\end{verbatim}
\begin{procedure}{TStrListMaker.Init}
\Declaration
Constructor TStrListMaker.Init (AStrSize, AIndexSize: SwWord);
\Description
The \var{Init} constructor creates a new instance of the \var{TstrListMaker}
object. It allocates \var{AStrSize} bytes on the heap to hold all the
strings you wish to store. It also allocates enough room for
\var{AIndexSize} key description entries (of the type \var{TStrIndexrec}).
\var{AStrSize} must be large enough to contain all the strings you wish to
store. If not enough memory is allocated, other memory will be overwritten.
The same is true for \var{AIndexSize} : maximally \var{AIndexSize} strings
can be written to the stream.
\Errors
None.
\SeeAlso
\seep{TObject.Init}, \seepl{Done}{TStrListMaker.Done}
\end{procedure}
\begin{procedure}{TStrListMaker.Done}
\Declaration
Destructor TStrListMaker.Done; Virtual;
\Description
The \var{Done} destructor de-allocates the memory for the index description
records and the string data, and then destroys the object.
\Errors
None.
\SeeAlso
\seep{TObject.Done}, \seepl{Init}{TStrListMaker.Init}
\end{procedure}
\begin{procedure}{TStrListMaker.Put}
\Declaration
Procedure TStrListMaker.Put (Key: Sw\_Word; S: String);
\Description
\var{Put} adds they string \var{S} with key \var{Key} to the collection of
strings. This action doesn't write the string to a stream. To write the
strings to the stream, see the \seepl{Store}{TStrListMaker.Store} method.
\Errors
None.
\SeeAlso
\seepl{Store}{TStrListMaker.Store}.
\end{procedure}
\begin{procedure}{TStrListMaker.Store}
\Declaration
Procedure TStrListMaker.Store (Var S: TStream);
\Description
\var{Store} writes the collection of strings to the stream \var{S}.
The collection can then be read with the \var{TStringList} object.
\Errors
A stream error may occur when writing the strings to the stream.
\SeeAlso
\seep{TStringList.Load}, \seepl{Put}{TStrListMaker.Put}.
\end{procedure}