Parte 1ª - Tratamiento de cadenas de texto en Lazarus
En Lazarus tenemos un amplio repertorio de funciones para el análisis y manipulación de cadenas de texto. Así que sin más tardar pasemos a detallar algunas de las más importantes
El orden ahora entre cadenas es el siguiente:
Letras > Números
AdjustLineBreaks(const S);
AnsiCompareStr(const S1, const S2) : Integer;
| 
Compara dos cadenas haciendo caso omiso de acentos. Esta comparación devuelve el siguiente resultado: 
La comparación usa dos cadenas de texto (caracter a caracter) y nos dice si son iguales. Tiene en cuenta los caracteres ANSI(caracteres acentuados) y efectúa diferencia entre mayúsculas y minúsculas. 
0 si S1 es igual que S2. Si ambas cadenas son iguales devuelve un 0. 
> 0 si S1 es mayor que S2. Devolverá 1 si S1 es superior a S2  
< 0 si S1 es menor que S2. Devuelve un -1 si S1 es inferior a S2.  
Veamos unas comparaciones: 
AnsiCompareStr( 'HOLA', 'HOLA' ); {devuelve  0} AnsiCompareStr( 'HOLA', 'HOLa' ); {devuelve  1}
AnsiCompareStr( 'HOLa', 'HOLA' ); {devuelve -1}
¿Cuando considera Lazarus que una cadena de texto es superior a otra?, pues el orden es el siguiente: Letras mayúsculas > Letras minúsculas Letras minúsculas > Números Program Comparamos;
{$H+}
Uses sysutils;
Procedure Comprobar(S1, S2 : String);
Var R : Longint;begin
  R := AnsiCompareStr(S1,S2);
  Write ('"',S1,'" is ');
  If R < 0 then
    write ('less than ')
  else     begin      If R = 0 then           Write ('equal to ')
      else Write ('larger than ');    end;  Writeln ('"',S2,'"');
end; 
Begin
  Comprobar('One string','One smaller string');
  Comprobar('One string','one string');
  Comprobar('One string','One string');
  Comprobar('One string','One tall string');
End. | 
AnsiCompareText(const S1, const S2) : Integer;
| 
Es similar a AnsiCompareStr, pero se diferencia en que no distingue entre mayúsculas y minúsculas. | 
Veamos unas comparaciones:AnsiCompareText( 'HOLA', 'HOLA' ); {devuelve 0}AnsiCompareText( 'HOLA', 'HOLa' ); {devuelve 0}AnsiCompareText( 'HOLa', 'HOLA' ); {devuelve 0}AnsiCompareText( 'HOLA', 'HOLLA' ); {devuelve -1}AnsiCompareText( 'HOLLA', 'HOLA' ); {devuelve 1}
El orden ahora entre cadenas es el siguiente:
Letras > Números
AdjustLineBreaks(const S);
Cambiará todas las apariciones de los caracteres #13 y #10 por los caracteres de fin de línea correctos para el sistema operativo en el que se ejecute. Para windows sería #13 y #10. Para linux y Unix sería #10 y para Mac OS es #13.
