Operaciones Con Strings Delphi
Operaciones Con Strings Delphi
Esta función devuelve la cadena AText repetida tantas veces como se indique en ACount.
Por ejemplo:
DupeString( 'HOLA ', 3 ) devuelve HOLA HOLA HOLA
function High( X );
Devuelve el valor más alto de un tipo de variable. Vamos a ver un ejemplo que utiliza esta
función con distintos tipos de variable y muestra el resultado en un Memo:
var
Numeros: array[1..4] of Integer;
begin
Memo.Lines.Add( 'High( Char )=' + IntToStr( Ord( High( Char ) ) ) );
Memo.Lines.Add( 'High( Integer )=' + IntToStr( High( Integer ) ) );
Memo.Lines.Add( 'High( Word )=' + IntToStr( High( Word ) ) );
Memo.Lines.Add( 'High( DWord )=' + IntToStr( High( DWord ) ) );
Memo.Lines.Add( 'High( Boolean )=' + BoolToStr( High( Boolean ), True )
);
Numeros[1] := 13;
Numeros[2] := 6;
Numeros[3] := 16;
Numeros[4] := 5;
Memo.Lines.Add( 'High( Numeros )=' + IntToStr( High( Numeros ) ) );
end;
El resultado que muestra sería:
High( Char )=255
High( Integer )=2147483647
High( Word )=65535
High( DWord )=4294967295
High( Boolean )=True
High( Numeros )=4
Como vemos en el último caso, nos devuelve el último índice del del array Numeros.
Este procedimiento inserta dentro de la cadena S (pasada como variable) la cadena Source
en la posición Index. Por ejemplo:
var
sTexto: String;
begin
sTexto := 'AMPLIANDO TEXTO';
Insert( ' UNA CADENA DE', sTexto, 10 );
end;
Esta función nos devuelve la posición del último delimitador determinado por Delimiters
que encuentre en la cadena S. Con unos ejemplos se ve mas claro:
LastDelimiter( ',', 'PABLO,JUAN,MARIA,MARCOS' ) devuelve 17
LastDelimiter( '.', '1.2.3.4.5' ) devuelve 8
LastDelimiter( '-:', 'A:1-B:2-C:3' ) devuelve 10
En el último ejemplo hemos utilizado dos delimitadores. Esta función sería muy interesante
para crear un parser de código fuente HTML buscando delimitadores <>.
Este procedimiento (que debería llamarse quizás Copy) copia la cantidad de bytes Count
de Source a la variable Dest. Por ejemplo:
var
sOrigen, sDestino: String;
begin
sOrigen := 'COPIANDO TEXTO';
sDestino := '--------------';
Move( sOrigen[10], sDestino[3], 5 );
end;
procedure ProcessPath( const EditText: string; var Drive: Char; var DirPart: string;
var FilePart: string );
Este interesante procedimiento divide la cadena EditText la cual se supone que es una ruta
como:
C:\Archivos de programa\MSN Messenger\msnmsgr.exe
El resultado sería:
sUnidad=C
sDirectorio=\Archivos de programa\MSN Messenger
sArchivo=msnmsgr.exe
Nota: para que funcione esta función la ruta que le pasemos debe ser real, en caso contrario
da un error.
https://delphiallimite.blogspot.com/2007/08/operaciones-con-cadenas-de-texto-iv.html?m=1
Puedes usar
sintaxis
copy(cadena_de_la_que_extraes,posicion_desde_la_cual_empezaras_a_extraer,cantidad_de_cara
cteres_a_extraer_a_partir_de_la_posicion_anteriormente_especificada)
por ejemplo:
procedure
var
a,b:string;
begin
a:=editt1.text;
b:=copy(a,1,2);
end
Para extraer caracteres de una cadena vale lo anterior o simplemente acediendo a ello haciendo
referencia al posición del caracter
sCadena := 'Hola';
sCadena[0] equivaldria a la H
Realiza una comparación entre las cadenas S1 y S2. Dicha comparación diferencia las
mayúsculas de las minúsculas, por lo que la cadena 'Abc' no será la misma que la cadena
'abc'.
Hace lo mismo que la función anterior, con una pequeña diferencia: no distingue entre
mayúsculas y minúsculas, por lo que las cadenas 'Abc' y 'abc' serán iguales para esta
función, con lo que nos devolvería el valor 0.
Devuelve una subcadena de la cadena pasada como argumento, S. Toma como posición
inicial dentro de S la dada por Inicio, y a partir de ahí toma CuantosCar caracteres. Si
Inicio es mayor que la longitud de la cadena, devuelve cadena vacía. Si a partir de
Inicio, CuantosCar excede el número de caracteres que haya en la cadena, sólo devuelve
hasta el final de la cadena. Vamos a ver algunos ejemplos para terminar de aclararnos:
Cadena = 'Esto_es_una_cadena_larga_para_hacer_pruebas';
Borra de la cadena pasada como argumento los caracteres comprendidos entre la posición
inicial dada por el argumento Inicio, y borra CuantosCar. Al igual que con la función
Copy, si Inicio es mayor que la longitud de la cadena, no borrará nada, y si a partir de
Inicio, CuantosCar excede el número de caracteres que haya en la cadena, sólo borrará
hasta el final de la cadena. Vamos a ver también ejemplos. Para ello, supongamos que
tenemos tres variables de tipo String, llamadas s1, s2 y s3, cuyo contenido sea el mismo,
concretamente, la cadena de los ejemplos para Copy. Así, tendríamos lo siguiente:
Este procedimiento nos fusiona una cadena en otra comenzando en la posición dada por
Indice. La cadena resultado será almacenada en S1, y se copiará la cadena S dentro de S1 a
partir de la posición Indice. Vamos a ver algunos ejemplos, suponiendo que tenemos los
valores siguientes para las variables: S := 'Cadena_Inicial', S1 := 'Otro_texto'
Esta función nos devuelve una cadena que resulta de convertir el número que pasamos en
Valor a hexadecimal. La variable Digitos nos dice el número mínimo de dígitos
hexadecimales a devolver. Por ejemplo:
Simplemente, nos devuelve la representación del número pasado en la variable Valor como
una cadena.
Esta función busca la subcadena SubC dentro de la cadena C. Devuelve un valor entero que
resulta ser el índice del primer carácter de SubC dentro de C. Si no encuentra la subcadena,
devuelve el valor 0. Por ejemplo, supongamos que tenemos tres variables de tipo String,
S1 := 'Cadena', S2 := 'de', S3 := 'algo'. Tendríamos los resultados:
Devuelve una cadena que resulta de eliminar los espacios y caracteres de control existentes
en S tanto al principio como al final. Por ejemplo:
Devuelve una cadena que resulta de eliminar los espacios y caracteres de control existentes
en S sólo al principio.
FUNCTION TrimRight(S: String): String;
Devuelve una cadena que resulta de eliminar los espacios y caracteres de control existentes
en S sólo al final.
Devuelve una cadena que resulta de convertir a mayúsculas la cadena pasada como
argumento.
http://www.formauri.es/arrobamasmas/Cursos/index.php?apdo=0402&curso=4_02_03#Length