Delphi posee un amplio repertorio de funciones para el anlisis y manipulacin de
cadenas de texto que nos harn la vida mucho ms fcil una vez las conozcamos. Comencemos con ellas:
function AnsiCompareStr( const S1, S2: string ): Integer; Esta funcin compara dos cadenas de texto carcter a carcter y nos dice si son iguales (diferencia maysculas y minsculas). Si ambas cadenas son iguales devuelve un cero. Devolver un 1 si la cadena S1 es superior a la cadena S2 y devuelve un -1 si la cadena S1 es inferior a la cadena S2. Veamos un ejemplo: AnsiCompareStr( 'HOLA', 'HOLA' ) devuelve 0 AnsiCompareStr( 'HOLA', 'HOLa' ) devuelve 1 AnsiCompareStr( 'HOLa', 'HOLA' ) devuelve -1
Cuando se considera una cadena de texto superior a otra? Pues el orden es el siguiente: Letras maysculas > Letras minsculas Letras minsculas > Nmeros
function AnsiCompareText( const S1, S2: string ): Integer; Esta funcin es similar a AnsiCompareStr a diferencia de que no distingue entre maysculas y minsculas. En el caso anterior: 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 entre cadenas se define por: Letras > Nmeros
function AnsiContainsStr( const AText, ASubText: string ): Boolean; Comprueba si la cadena ASubText esta dentro de la cadena AText. Por ejemplo: AnsiContainsStr( 'DELPHI AL LIMITE', 'LIMITE' ) devuelve True AnsiContainsStr( 'DELPHI AL LIMITE', 'LIMITe' ) devuelve False
function AnsiContainsText( const AText, ASubText: string ): Boolean; Esta funcin es igual a AnsiConstainsStr salvo que no diferencia maysculas de minsculas. Veamos un ejemplo: AnsiContainsText( 'DELPHI AL LIMITE', 'LIMITE' ) devuelve True AnsiContainsText( 'DELPHI AL LIMITE', 'LIMITe' ) devuelve True AnsiContainsText( 'DELPHI AL LIMITE', 'LIMITES' ) devuelve False
function AnsiEndsStr( const ASubText, AText: string ): Boolean; La funcin nos devuelve True si la cadena AText termina en la cadena ASubText. He aqu un ejemplo: AnsiEndsStr( '.avi', 'C:\Archivos de programa\Emule\Incoming\pelicula.avi' ) devuelve True AnsiEndsStr( '.AVI', 'C:\Archivos de programa\Emule\Incoming\pelicula.avi' ) devuelve False Para este caso es mejor utilizar la funcin:
function AnsiEndsText( const ASubText, AText: string ): Boolean; Esta funcin obtiene el mismo resultado que AnsiEndsStr pero sin diferenciar maysculas de minsculas. En el caso anterior: AnsiEndsText( '.avi', 'C:\Archivos de programa\Emule\Incoming\pelicula.avi' ) devuelve True AnsiEndsText( '.AVI', 'C:\Archivos de programa\Emule\Incoming\pelicula.avi' ) devuelve True Como vemos es ideal para comprobar extensiones de archivos. En el prximo artculo seguiremos con muchas ms funciones.