静的配列→動的配列
にCopy関数は使えない。
だからループで回した。
本来はポインタの出番なのだろう。
以下はテストコードと実行結果
//NOTE ==============================================
// Title : TEST_COPY_ARRAY
//==================================================
// License : MIT
// Author : Penguin-Works
// Make : 2013/07/08
// Finish : 2013/07/08
// LastSave : 2013/07/08
//==================================================
// Abstruct :
// 静的配列から、動的配列のコピー
//==================================================
program TEST_COPY_ARRAY;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils;
var
array_origin: array [ 0 .. 3 ] of Integer = ( 1, 2, 3, 4 ); // コピー元
array_copy : array of Integer; // コピー先
i: Integer;
begin
try
// 要素数の割り当て
SetLength( array_copy, length( array_origin ) );
// コンソールのヘッダ
Writeln( 'Origin:Copy' );
Writeln( '-----------' );
// 要素数の確認
Writeln( 'length' );
Writeln( IntToStr( length( array_origin ) ) + ':' + IntToStr( length( array_copy ) ) );
Writeln( '-----------' );
for i := 0 to length( array_copy ) - 1 do
begin
// ループで配列をコピー
array_copy[ i ] := array_origin[ i ];
// アウトプット
Writeln( IntToStr( array_origin[ i ] ) + ' : ' + IntToStr( array_copy[ i ] ) );
end;
finally
Readln;
end;
end.
Origin:Copy
-----------
length
4:4
-----------
1 : 1
2 : 2
3 : 3
4 : 4