delphi 數組復制利用CopyMemory 最為完美
阿新 • • 發佈:2018-06-21
實際應用 memory DC 記錄 需要 利用 IV nat 參與
在各網站的文章裏面,見復制數據的方法中,有move的,有system.copy的,而要實際應用中,這兩種方法,並不是很完美,會遇到一些問題,比如copy在記錄裏面的復制時,編譯都過不去,而CopyMemory的功能,就相當強大.
要註意如果不是byte時,長度可能需要使用sizeof來參與計算
Buff,BuffCmdCrc16:array of Byte
SetLength(BuffCmdCrc16, 10);
一、復制10個byte
CopyMemory(@BuffCmdCrc16[0],@Buff[0],10);
從第11個 byte位追加,取數從第5個起,取8個byte 的長度。
CopyMemory(@BuffCmdCrc16[10],@Buff[5],8);
定義在Winapi.Windows中:
procedure CopyMemory(Destination: Pointer; Source: Pointer; Length: NativeUInt);
begin
Move(Source^, Destination^, Length);
end;
從定義看,也是調用了move,但是直接用move,可沒這麽順心順手
delphi 數組復制利用CopyMemory 最為完美