Re: [fpc-pascal] Default value for an open array

2012-06-01 Thread kyan
> However, given a declaration of that form, is it possible to define a
> default parameter of [] so that  OutputWriteF('Test, no params\n')  is
> valid?

Not for open arrays, but you can write an overloaded version without
the open array argument that calls the version with the open array
parameter passing an empty array, or an array initialised with
whatever "default" values you want:

interface

procedure OutputWriteF(const str: widestring); overload;
procedure OutputWriteF(const str: widestring; values: array of const); overload;

implementation

procedure OutputWriteF(const str: widestring);
begin
  OutputWriteF(str, [clBlack, clDefault]);
end;

procedure OutputWriteF(const str: widestring; values: array of const);
begin
 ...
end;

HTH

Constantine.
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Default value for an open array

2012-06-01 Thread Mark Morgan Lloyd

kyan wrote:

However, given a declaration of that form, is it possible to define a
default parameter of [] so that  OutputWriteF('Test, no params\n')  is
valid?


Not for open arrays, but you can write an overloaded version without
the open array argument that calls the version with the open array
parameter passing an empty array, or an array initialised with
whatever "default" values you want:


Thanks, good point and adequate workaround.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal