簡體   English   中英

傳遞參數以在過程中寫入

[英]Passing arguments to write within a procedure

如何傳遞參數從我的過程的呼叫write稱為里面?

有點像:

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

如果你想以Write方式使用你的函數和任何數量/類型的參數,比如smth(3, 'aaa', 5.6) - 我不可能知道。 但是,您可以使用array of ...類型的參數來傳遞給過程任意數量的參數。

這是一個例子:

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.

例如:

procedure write( text : string );
begin
    write( text );
end;

但是如果你想覆蓋你的功能。 你必須在這里閱讀該主題。 這將允許您使用更多類型的參數來創建函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM