I think he wants to define his own procedure. The nearest thing that comes into my mind is using ARRAY OF CONST, but the call requires square brackets, then:
procedure myproc (x: string; y: array of const); begin ... end; myproc ('Hello world', ['Number 1', 'Number 2', 3, 4.0]); ----- Original Message ----- From: Michael Van Canneyt via fpc-pascal <fpc-pascal@lists.freepascal.org> To: ja...@productionautomation.net <ja...@productionautomation.net> Sent: Wednesday, December 27, 2023, 12:40:24 Subject: [fpc-pascal] Procedures that work like WRITELN() On Wed, 27 Dec 2023, James Richters via fpc-pascal wrote: > I wanted to write what I thought should be a simple procedure, just instead > of calling WRITELN() with some arguments, > call WRITELOG() with the same arguments that you would use to write to a > file, but my WRITELOG() procedure would > write to the screen and the file.. but I can't figure out how to pass all > the arguments to the two WRTIELNs. > So.. > Procedure WriteLog(Filename:String, AllOtherAurguments:????); > Begin > Writeln(Filename,AllOtherAurguments); > Writeln(AllOtherAurguments); > End; > How can I make this work? Since WRITELN can take any number of many kinds > of arguments, > how can I get them all and pass them along without knowing how many or what > types they are? > How does WRITELN even work when you don't know this information? > I'm guessing there should be some way to do this, because WRITELN itself > works, but how it could > possibly work is not within my experience. > The only way I could think of would be if there were versions of WRITELN > with every combination > of possible arguments, but that seems completely unmanageable and > ridiculous, > so there must be something more advanced going on, but maybe WRTELN is > special and not something I can duplicate? Writeln() is special. You cannot duplicate it. What you can do is use WriteStr(), it has the same action as Writeln() but writes to a string instead of a file. https://www.freepascal.org/docs-html/current/rtl/system/writestr.html Michael. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal