[fpc-pascal] Procedures that work like WRITELN()

James Richters james.richters at productionautomation.net
Wed Dec 27 13:40:35 CET 2023


>Writeln() is special. You cannot duplicate it.
That's good to know, I can stop trying.

>What you can do is use WriteStr(), it has the same action as Writeln() but
writes to a string instead of a file.

I was hoping to just replace all existing Writeln()s with my procedure with
a global search and replace.
I think it's probably easiest to make my procedure:

Procedure WriteLog(Filename:String, WriteString:String);
Begin
    Writeln(Filename,WriteString);
    Writeln(WriteString);
End;

Then just fix the call to concatenate everything into a single string:

So if I end up with this:
WriteLog(Myfile,'some text ',MyInteger);

I'll have to change it to this:
WriteLog(Myfile,'some text '+InttoStr(MyInteger));

And if the arguments are really complicated I can just use WriteStr() to
store it into a string and call my procedure with the resulting string.

It will be a little more effort than doing a global search and replace but
at least I know that it's the only way.

Thanks for the help

James





More information about the fpc-pascal mailing list