传递参数以在过程中写入

如何将我的过程中的参数传递给内部调用的调用?

有点像:

procedure smth (args: alltypes);
begin
    write(args);
end;

最佳答案 如果你想以Write方式使用你的函数和任何数量/类型的参数,比如smth(3,’aaa’,5.6) – 我不可能知道.但是,您可以使用…类型的参数来传递给过程任意数量的参数.

这是一个例子:

program wrt;

{$mode objfpc}{$H+}

uses
    sysutils, variants;

procedure test1(args: array of Variant);
var
    i: Integer;
begin
    for i := Low(args) to High(args) do
        Write(args[i]);
    Writeln;
end;

procedure test2(fmt: string; args: array of const);
begin
    Writeln(Format(fmt, args));
end;

begin
    test1([1, 'aaa', 3.5, False]);
    test2('%d %s %g, %s', [1, 'aaa', 3.5, BoolToStr(False, True)]);
end.
点赞