[fpc-pascal] How to initialize a "Text" variable?
Michael Van Canneyt
michael at freepascal.org
Sun Mar 16 12:37:58 CET 2008
On Sun, 16 Mar 2008, Felipe Monteiro de Carvalho wrote:
> On Sun, Mar 16, 2008 at 8:16 AM, Michael Van Canneyt
> <michael at freepascal.org> wrote:
> > Assign yyoutput to a dummy stream, which simply skips output.
>
> Could you explain better how can this be implemented?
>
> The only think I know about streams is TStream.
Exactly:
-----------------------------------------------------------------------
uses lexlib, Classes, StreamIO;
Type
TNullStream = Class(TStream)
function Read(var Buffer; Count : LongInt) : Longint; override;
function Write(const Buffer; Count : LongInt) : LongInt; override;
function Seek(Offset: Longint; Origin: Word): Longint; override;
end;
Function TNullStream.Read(var Buffer; Count : LongInt) : Longint;
begin
Result:=Count;
end;
Function TNullStream.Write(const Buffer; Count : LongInt) : LongInt;
begin
Result:=Count;
end;
function TNullStream.Seek(Offset: Longint; Origin: Word): Longint;
begin
Result:=0;
end;
Var
Null : TNullStream;
begin
Null:=TNullstream.Create;
assignstream(yyoutput,Null);
// blah blah
FreeAndNil(Null);
end.
-----------------------------------------------------------------------
That's it. Come to think of it,I may add TNullStream to the streamex unit or so.
Michael.
More information about the fpc-pascal
mailing list