function AnsiCompareStr( const S1, S2: string ): Integer;
Esta función compara dos cadenas de texto carácter a carácter y nos dice si son iguales (diferencia mayúsculas y minúsculas). 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 mayúsculas > Letras minúsculas
Letras minúsculas > Números
function AnsiCompareText( const S1, S2: string ): Integer;
Esta función es similar a AnsiCompareStr a diferencia de que no distingue entre mayúsculas y minúsculas. 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 > Números
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 función es igual a AnsiConstainsStr salvo que no diferencia mayúsculas de minúsculas. 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 función 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 función:
function AnsiEndsText( const ASubText, AText: string ): Boolean;
Esta función obtiene el mismo resultado que AnsiEndsStr pero sin diferenciar mayúsculas de minúsculas. 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 próximo artículo seguiremos con muchas más funciones.
Pruebas realizadas en Delphi 7.
2 comentarios:
Excelente aporte!
zalv-2
Gracias, no conocia la ultima, me has ayudado mucho (Y)
Publicar un comentario