コンソール型の関数を使用して配列を返すことはできますが、入力として整数 n を取り、Delphi の VCL 形式で拡張された配列を返す関数を作成しようとしています。どうすればそれができますか?
3 に答える
3
Delphi の最新バージョンでは、汎用配列TArray<T>
. このような:
function Foo(N: Integer): TArray<Extended>;
var
i: Integer;
begin
SetLength(Result, N);
for i := 0 to N-1 do begin
Result[i] := i;
end;
end;
を使用するのは間違いである可能性が高いことを強調しExtended
ます。これはかなり珍しく、パフォーマンスの悪い 10 バイト浮動小数点型です。このタイプは、限られた数のプロセッサでのみ使用できます。ほとんどすべての実世界の浮動小数点計算は、4 バイトおよび 8 バイトの IEEE-754 浮動小数点データ型であるSingle
またはを使用して実行されます。Double
于 2014-06-17T08:23:40.233 に答える
0
関数宣言は作成しているアプリケーションのタイプに依存しないため、これは VCL/コンソールの問題ではありません。
Delphi(または任意の Pascal)関数は、任意の名前付きデータ型を返すことができます。型セクションで配列型が宣言されている限り、関数はそれを処理できます。
例えば。
type
ExtArray : array of extended;
function IntToArray(i:integer):ExtArray;
begin
...
end;
于 2014-06-16T14:51:00.447 に答える