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

# AnsiCompareStr

Compare 2 ansistrings, case sensitive, ignoring accents characters.

## Declaration

Source position: sysstrh.inc line 90

`function AnsiCompareStr(`
`const S1: String;`
`const S2: String`
`):Integer;`

## Description

AnsiCompareStr compares two strings and returns the following result:

< 0
  if S1<S2.
0
  if S1=S2.
> 0
  if S1>S2.

The comparision takes into account Ansi characters, i.e. it takes care of strange accented characters. Contrary to AnsiCompareText, the comparision is case sensitive.

Remark: | A widestring manager must be installed in order for this function to work correctly with various character sets.

## Errors

None.

## See also

AdjustLineBreaks |  | Convert possible line-endings to the currently valid line ending.
AnsiCompareText |  | Compare 2 ansistrings, case insensitive, ignoring accents characters.

## Example

    Program Example49;

    { This program demonstrates the AnsiCompareStr function }
    {$H+}

    Uses sysutils;

    Procedure TestIt (S1,S2 : String);

    Var R : Longint;

    begin
      R:=AnsiCompareStr(S1,S2);
      Write ('"',S1,'" is ');
      If R<0 then
        write ('less than ')
      else If R=0 then
        Write ('equal to ')
      else
        Write ('larger than ');
      Writeln ('"',S2,'"');
    end;

    Begin
      Testit('One string','One smaller string');
      Testit('One string','one string');
      Testit('One string','One string');
      Testit('One string','One tall string');
    End.

The latest version of this document can be found at lazarus-ccr.sourceforge.net.