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

IndexByte

Search for a byte in a memory range.

Declaration

Source position: systemh.inc line 790

function IndexByte(

  const buf;

  len: SizeInt;

  b: Byte

):SizeInt;

Description

IndexByte searches the memory at buf for maximally len positions for the byte b and returns it's position if it found one. If b is not found then -1 is returned. The position is zero-based.

Errors

Buf and Len are not checked to see if they are valid values.

See also

IndexChar

  

Search for a character in a memory range.

IndexDWord

  

Search for a DWord value in a memory range.

IndexWord

  

Search for a WORD value in a memory range.

CompareByte

  

Compare 2 memory buffers byte per byte

Example

Program Example105;

{ Program to demonstrate the IndexByte function. }

Const
  ArraySize = 256;
  MaxValue = 256;

Var
  Buffer : Array[1..ArraySize] of Byte;
  I,J : longint;
  K : Byte;

begin
  Randomize;
  For I:=1 To ArraySize do
    Buffer[I]:=Random(MaxValue);
  For I:=1 to 10 do
    begin
    K:=Random(MaxValue);
    J:=IndexByte(Buffer,ArraySize,K);
    if J=-1 then
      Writeln('Value ',K,' was not found in buffer.')
    else
      Writeln('Found ',K,' at position ',J,' in buffer');
    end;
end.

Documentation generated on: May 14 2021