[Overview][Constants][Types][Classes][Procedures and functions][Variables] Reference for unit 'System' (#rtl)

CompareByte

Compare 2 memory buffers byte per byte

Declaration

Source position: systemh.inc line 382

function CompareByte(

  const buf1;

  const buf2;

  len: SizeInt

):SizeInt;

Description

CompareBytecompares two memory regions buf1,buf2on a byte-per-byte basis for a total of lenbytes.

The function returns one of the following values:

less than 0
if buf1and buf2contain different bytes in the first lenbytes, and the first such byte is smaller in buf1than the byte at the same position in buf2.
0
if the first lenbytes in buf1and buf2are equal. \item [greater than 0] if buf1and buf2contain different bytes in the first lenbytes, and the first such byte is larger in buf1than the byte at the same position in buf2.

Errors

None.

See also

CompareChar

  

ompare 2 memory buffers character per character

CompareWord

  

Compare 2 memory buffers word per word

CompareDWord

  

Compare 2 memory buffers DWord per DWord

Example

Program Example99;

{ Program to demonstrate the CompareByte function. }

Const
  ArraySize     = 100;
  HalfArraySize = ArraySize Div 2;

Var
  Buf1,Buf2 : Array[1..ArraySize] of byte;
  I : longint;

  Procedure CheckPos(Len : Longint);

  Begin
    Write('First ',Len,' positions are ');
    if CompareByte(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.