2006/6/7, Alexandre Leclerc <[EMAIL PROTECTED]>:
2006/6/7, Michael Van Canneyt <[EMAIL PROTECTED]>:
>
>
> On Wed, 7 Jun 2006, Alexandre Leclerc wrote:
>
> > 2006/6/7, Michael Van Canneyt <[EMAIL PROTECTED]>:
> >> > 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.
> >>
> >> You can use the file-to-stream bridge. Unit streamio:
> >>
> >> Procedure AssignStream(var F: Textfile; Stream: TStream);
> >> Function GetStream(var F: TTextRec) : TStream;
> >>
> >> usage:
> >>
> >> Var
> >>    M : TStream;
> >>    F : Text;
> >>    l : String;
> >>
> >> begin
> >>    M:=TMyStream.Create;
> >>    Try
> >>      AssignStream(F,M);
> >>      Reset(F);
> >>      // Read your stuff here
> >>      ReadLn(L,F);
> >>      Close(F);
> >>    Finally
> >>      FreeAndNil(M);
> >>    end;
> >> end;
> >>
> >> This will always work.
> >
> > It took me couple minutes to understand. This is very interesting. It
> > still double the data in memory, like a TStringList;
>
> No. There is just a simple 256 byte buffer, that's it.
>
> > but I'm glad to
> > see that. I see that low memory usage equals direct text access with
> > readln/writeln. But I've no time to mess arround with that now.
> >
> > It is in an include file (.inc). how can I use such a file without {$i
> > } ? Like in a use clause?
>
> it's not an include file. streamio.pp is in fcl/inc
> and is compiled and installed by default.

Are there any special directory/settings to change because the
compiler canT' find the unit (nor Lazarus editor)... fcl looks to be
'disconnected' from the paths.

-Fu in project's compiler options.

--
Alexandre Leclerc

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

Reply via email to