2006/6/7, Michael Van Canneyt <[EMAIL PROTECTED]>:


On Wed, 7 Jun 2006, Alexandre Leclerc wrote:

> Well, I tought to improve the function by:
>
> while not WeHaveGotALine
> ReadBufferChunk
> ParseForEol
> - ReadMoreBufferIfRequired
> - SetStreamPositionWhereWeFoundEolToContinueThereLater

You can't do that, because not all streams support positioning
(en-/decoding streams, compression streams, pipes)

> So would that be usefull? Because any-way I must do it; loading a full
> stream inmemory in not memory efficient, and loading it in a
> TStringList has the same issue.

When loading in a stringlist you know that you must copy the whole
stream at once. With readln this is not possible: you don't know how
much you need in advance.

It's simply not possible at the TStream level.

So readln / writeln is not possible with streams. This is a problem.
I'm actually loading a file, but I wanted to use streams internally to
increase flexibility; I might exchange data with memory streams on the
long run.

--
Alexandre Leclerc

_________________________________________________________________
    To unsubscribe: mail [EMAIL PROTECTED] with
               "unsubscribe" as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to