Você está na página 1de 4

Operaciones con cadenas de Letras (I)

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.

Você também pode gostar