TIdStream is a
TStream descendant that implements additional functionality for input/output operations. TIdStream is often used to cast a TStream instance to TIdStream to allow access to the additional methods for stream-based input and output.
Note: TIdStream cannot contain new data members; when TStream is cast to a TIdStream instance, the new data members would not contain valid values.
TIdStream implements ReadLn and WriteLn to provide support for line-oriented input and output. TIdStream also reimplements the Write method to support String-based input parameters and additional error checking before writing input values.