Delphi合併2個動態數組

要點:數組

1.Ptr函數至關於Pointer,強制轉換爲指針函數

2.CopyMemory是內存複製,把第二個參數,賦值到第一個後面spa

 

複製代碼

program MyArray; //數組{$APPTYPE CONSOLE}uses
  SysUtils,Windows;{合併2個動態數組}procedure MyFunc2();var
  arr1,arr2: TBytes;
  len,LastAddr: Integer;begin{設置2個數組長度}
  SetLength(arr1, 3);
  SetLength(arr2, 3);{給2個數組賦值}
  arr1[0] := 65; arr1[1] := 66; arr1[2] := 67;
  arr2[0] := 68; arr2[1] := 69; arr2[2] := 70;{設置數組1的長度爲2個數組長度之和}
  len := Length(arr1);//保存數組1長度
  SetLength(arr1, len + Length(arr2));{把數組2複製到數組1後面}
  LastAddr := DWORD(arr1)+len;//數組1末尾的指針
  CopyMemory(Ptr(LastAddr), arr2, Length(arr2));//把數組2複製到數組1後面
  Writeln(StringOf(arr1)); {ABCDEF}end;{main主函數}begin
 MyFunc2;
 Readln;end.
相關文章
相關標籤/搜索