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

# Indexword

Search for a WORD value in a memory range.

## Declaration

Source position: systemh.inc line 791

`function Indexword(`
`const buf;`
`len: SizeInt;`
`b: Word`
`):SizeInt;`

## Description

IndexWord searches the memory at buf for maximally len positions for the Word W and returns it's position if it found one. If W is not found then -1 is returned.

## Errors

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

## See also

IndexByte |  | Search for a byte in a memory range.
IndexDWord |  | Search for a DWord value in a memory range.
IndexChar |  | Search for a character in a memory range.
CompareWord |  | Compare 2 memory buffers word per word

## Example

    Program Example107;

    { Program to demonstrate the IndexWord function. }

    Const
      ArraySize = 1000;
      MaxValue = 1000;

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

    begin
      Randomize;
      For I:=1 To ArraySize do
        Buffer[I]:=Random(MaxValue);
      For I:=1 to 10 do
        begin
        K:=Random(MaxValue);
        J:=IndexWord(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