[fpc-pascal] Where is the 'write' function defined and how is it different from 'writeln'?

vfclists . vfclists at gmail.com
Fri Mar 20 21:18:09 CET 2015


On 20 March 2015 at 19:34, Sven Barth <pascaldragon at googlemail.com> wrote:

> Am 20.03.2015 19:19 schrieb "vfclists ." <vfclists at gmail.com>:
>
> >
> >
> >
> > On 20 March 2015 at 18:01, leledumbo <leledumbo_cool at yahoo.co.id> wrote:
> >>
> >> > Where is the 'write'  function defined and how is it different from
> >> 'writeln'?
> >> >
> >> > I can see a lot of fpc_writeXXX and other xxxxWrite functions, but no
> >> > 'write' itself
> >>
> >> those fpc_writeXXX ARE the actual write. Write(Ln) is NOT a function as
> like
> >> others whose implementation you can clearly see. It's rather a command
> for
> >> the compiler to translate to the correct fpc_writeXXX call. So, if you:
> >>
> >> WriteLn(123,' is an integer');
> >>
> >> the compiler will translate it to:
> >>
> >> fpc_write_text_shortint(123);
> >> fpc_write_text_shortstring('is an integer');
> >> fpc_writeln_end;
> >>
> >> The same case applies to Read(Ln). AFAIK Pascal's I/O is part of the
> >> language, not the RTL.
> >>
> >>
> >
> > Where does the output go? Is it for stdout, strderr  or the console?
>
> It depends.
>
> Write('foobar');
>
> Will write to whatever Textfile is contained in Output and
>
> Write(xyz, 'foobar');
>
> Will write to the xyz Textfile. And these Textfiles can basically be
> anything. By default Output simply writes to StdOut (there's also a
> variable for StdErr, but I have forgotten how it's called...), but you
> could also use an implementation that writes to a TStream or one which uses
> sockets. It's quite flexible...
>
> Regards,
> Sven
>
> How do you ensure own implementation overrides the system's
implementation, does the compiler take care of that automatically, or will
you have to name your function differently?

-- 
Frank Church

=======================
http://devblog.brahmancreations.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20150320/547df8a0/attachment.html>


More information about the fpc-pascal mailing list