delphi 数组复制利用CopyMemory 最为完美


本文整理自网络,侵删。

 
在各网站的文章里面,见复制数据的方法中,有move的,有system.copy的,而要实际应用中,这两种方法,并不是很完美,会遇到一些问题,比如copy在记录里面的复制时,编译都过不去,而CopyMemory的功能,就相当强大.

要注意如果不是byte时,长度可能需要使用sizeof来参与计算

Buff,BuffCmdCrc16:array of Byte

SetLength(BuffCmdCrc16, 10);

一、复制10byte 

CopyMemory(@BuffCmdCrc16[0],@Buff[0],10)

 

从第11byte位追加,取数从第5个起,取8byte 的长度。

CopyMemory(@BuffCmdCrc16[10],@Buff[5],8);

 

定义在Winapi.Windows中:

procedure CopyMemory(Destination: Pointer; Source: Pointer; Length: NativeUInt);
begin
Move(Source^, Destination^, Length);
end;

从定义看,也是调用了move,但是直接用move,可没这么顺心顺手

https://www.cnblogs.com/zhqian/p/6806866.html

相关阅读 >>

Delphi文件操作所涉及的一些函数 附例子

Delphi 控制台读写

Delphi ios 保持设备开机状态

Delphi流类 遍历读取流中的所有数据

Delphi 判断是否出现滚动条

Delphi 返回程序执行参数的例子

Delphi 利用tidhttp实现文件下载的分块断点续传

Delphi zlib 流压缩解压

Delphi 命令行程序调用单元函数

Delphi firemonkey里触发home按键被按下的事件

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...

    正在狠努力加载,请稍候...