2006/6/7, Mattias Gaertner <[EMAIL PROTECTED]>:
On Wed, 7 Jun 2006 11:00:09 -0400
"Alexandre Leclerc" <[EMAIL PROTECTED]> wrote:

> 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.

The IDE searches .pp/.pas files in the FPC sources, so you should never need
to add the paths yourself.
You can force a search with Environment -> Rescan FPC source directory

If you add the -Fu option for .pp files in the FPC sources, it can happen,
that the compiler will rebuild some units. Always try to avoid that.

It is in: fpcsrc/inc/
Is it supposed to recurse sub folders?

Even if I try that, this is not working. I must add
-Fu$(LazarusDir)\fpcsrc\fcl\inc\ in Project -> 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