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

# IndexChar

Search for a character in a memory range.

## Declaration

Source position: systemh.inc line 542

`function IndexChar(`
`const buf;`
`len: SizeInt;`
`b: Char`
`):SizeInt;`

## Description

IndexChar searches the memory at buf for maximally len positions for the character b and returns it's position if it found one. If b is not found then -1 is returned. The position is zero-based. The IndexChar0 variant stops looking if a null character is found, and returns -1 in that case.

## 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.
IndexWord |  | Search for a WORD value in a memory range.
CompareChar |  | ompare 2 memory buffers character per character

## Example

    Program Example108;

    { Program to demonstrate the IndexChar function. }

    Const
      ArraySize = 1000;
      MaxValue = 26;

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

    begin
      Randomize;
      For I:=1 To ArraySize do
        Buffer[I]:=chr(Ord('A')+Random(MaxValue));
      For I:=1 to 10 do
        begin
        K:=chr(Ord('A')+Random(MaxValue));
        J:=IndexChar(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: Feb 26 2014