CompareDWord
Compare 2 memory buffers DWord per DWord
Declaration
Source position: systemh.inc line 883
function CompareDWord(const buf1; const buf2; len: SizeInt) : SizeInt;
Description
CompareDWord compares two memory regions buf1,buf2 on a DWord-per-DWord basis for a total of len DWords. (A DWord is 4 bytes).
The function returns one of the following values:
- -1
- if buf1 and buf2 contain different DWords in the first len DWords, and the first such DWord is smaller in buf1 than the DWord at the same position in buf2.
- 0
- if the first len DWords in buf1 and buf2 are equal.
- 1
- if buf1 and buf2 contain different DWords in the first len DWords, and the first such DWord is larger in buf1 than the DWord at the same position in buf2.
Errors
None.
See also
Name | Description |
---|---|
CompareByte | Compare 2 memory buffers byte per byte |
CompareChar | compare 2 memory buffers character per character |
CompareWord | Compare 2 memory buffers word per word |
Example
Program Example101;
{ Program to demonstrate the CompareDWord function. }
Const
ArraySize = 100;
HalfArraySize = ArraySize Div 2;
Var
Buf1,Buf2 : Array[1..ArraySize] of Dword;
I : longint;
Procedure CheckPos(Len : Longint);
Begin
Write('First ',Len,' DWords are ');
if CompareDWord(Buf1,Buf2,Len)<>0 then
Write('NOT ');
Writeln('equal');
end;
begin
For I:=1 to ArraySize do
begin
Buf1[i]:=I;
If I<=HalfArraySize Then
Buf2[I]:=I
else
Buf2[i]:=HalfArraySize-I;
end;
CheckPos(HalfArraySize div 2);
CheckPos(HalfArraySize);
CheckPos(HalfArraySize+1);
CheckPos(HalfArraySize + HalfArraySize Div 2);
end.