delphi 如何比较两个二维数组是否相等


本文整理自网络,侵删。

 一句话: 用 CompareMem 对比内存即可.
--------------------------------------------------------------------------------


{对比静态数组}
procedure TForm1.Button1Click(Sender: TObject);
var
arr1: array[0..3] of AnsiChar;
arr2: array[0..3] of Byte;
begin
arr1[0] := 'A'; arr1[1] := 'B'; arr1[2] := 'C'; arr1[3] := 'D';
arr2[0] := 65; arr2[1] := 66; arr2[2] := 67; arr2[3] := 68;

if CompareMem(@arr1, @arr2, SizeOf(arr1)) then
ShowMessage('arr1 与 arr2 中的数据相同');
end;

{对比动态数组}
procedure TForm1.Button2Click(Sender: TObject);
var
arr1: array of AnsiChar;
arr2: array of Byte;
begin
SetLength(arr1, 4);
SetLength(arr2, 4);
arr1[0] := 'A'; arr1[1] := 'B'; arr1[2] := 'C'; arr1[3] := 'D';
arr2[0] := 65; arr2[1] := 66; arr2[2] := 67; arr2[3] := 68;

if CompareMem(arr1, arr2, SizeOf(arr1)) then
ShowMessage('arr1 与 arr2 中的数据相同');
end;

{多维数组也一样}
procedure TForm1.Button3Click(Sender: TObject);
var
arr1: array[0..1, 0..1] of AnsiChar;
arr2: array[0..1, 0..1] of Byte;
begin
arr1[0,0] := 'A'; arr1[0,1] := 'B'; arr1[1,0] := 'C'; arr1[1,1] := 'D';
arr2[0,0] := 65; arr2[0,1] := 66; arr2[1,0] := 67; arr2[1,1] := 68;

if CompareMem(@arr1, @arr2, SizeOf(arr1)) then
ShowMessage('arr1 与 arr2 中的数据相同');
end;

相关阅读 >>

Delphi检测本机的网络连接状态的三种方法

Delphi of 打坐与普通攻击calll调用

Delphi 10 seattle的android应用程序的主屏幕上创建快捷方式

Delphi汉字与汉字区位码的转换

Delphi判断系统是否64位

Delphi 10.4.1 edgebrowser 模拟操作网页方法

Delphi 解决“richedit line insertion error”错误

Delphi 用wininet 单元实现 post提交数据

Delphi 读取png base64编码文件生成图片

Delphi查找程序坐标 获取鼠标 模拟鼠标

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



打赏

取消

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

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

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

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

评论

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