Las operaciones básicas con strings son: asignación, comparación y concatenación.
6.2.1 Asignación
Es posible asignar una cadena a otra cadena, incluso aunque esta última sea de longitud física más pequeña. En este caso, no se produce ningún error en tiempo de compilación ni en tiempo de ejecución. Se producirá un truncamiento de los datos de la cadena mayor a la longitud física máxima de la cadena más pequeña.
Ejemplo:
Var
Cad1 : string[15];
Begin
Cad1 := `Hola Margarita, cómo estás?´
End.
En este caso se asignará a Cad1 la cadena `Hola Margarita,´. Se producirá un truncamiento de los datos de la cadena mayor a la longitud física máxima de la cadena más pequeña.
6.2.2 Comparaciones
Las comparaciones de cadenas de caracteres se hacen según el orden de los caracteres en el código ASCII y con los operadores de relación.
`0´ < `1´ `1´ < `2´ `8´ < `9´
`A´ < `B´ `C´ < `D´ `M´ > `B´
`a´ < `h´ `m´ > `b´ `p´ < `r´
6.2.3 Concatenación
Otra operación básica que se pueda realizar con cadenas es la concatenación. La operación de concatenación. La concatenación es el proceso de combinar dos o más cadenas en una sola cadena. Turbo Pascal proporciona dos métodos independientes para realizar la concatenación.
a. Mediante el operador de concatenación (+)
Frase := `Perro que ladra´ + `no muerde, ´ +´mientras esté ladrando´
produciría una sola cadena almacenada en la variable Frase:
`Perro que ladra no muerde, mientras esté ladrando´
b. Mediante la función concat
Program union;
Var
Cad1,Cad2,Cad3 : string [40];
Begin
Cad1 := `Programa´;
Cad2 := ` de computadora´;
Cad3 := Concat (Cad1,Cad2);
Write (`La frase completa es `,Cad3);
End.
6.2.4 Otras funciones y procedimientos con cadenas
Las cadenas permiten otras operaciones como las siguientes:
- Función Lenght : Proporciona la longitud lógica de una cadena de caracteres y devuelve un valor entero. La sintaxis es:
Lenght (cadena)
Ejemplo:
Lenght (`Esto es una prueba´);
Esta instrucción devolvería el valor de 16.
- Función Delete : Borra o elimina una subcadena de una cadena. Una subcadena es una cadena contenida dentro de otra de mayor longitud. La sintaxis es:
Delete (cadena,posición,número)
Cadena : Representa la cadena original o fuente
Posición : Representa la posición del primer carácter a suprimir
Número: Es la cantidad de caracteres que se borrarán (debe ser un valor entero)
- Función Insert: Inserta una subcadena en una cadena. La sintaxis es la siguiente:
Insert (Cad1,cadena,posición)
Cad1: Cadena a insertar
Cadena : Cadena donde se insertará
Posición: Carácter a partir del cual se insertará Cad1
Si una vez insertada la nueva cadena el tamaño total excede al límite de la variable, se truncará la cadena hasta su longitud máxima.
- Función Pos (Posición): Esta función permite determinar si una cadena está contenida en otra. En este caso, la función devuelve la posición donde comienza la cadena buscada en la cadena fuente. Si la cadena no existe, se devuelve un resultado de 0. Utiliza la siguiente sintaxis:
Pos (Cadena buscada, Cadena fuente)
- Función Copy (Copiar): Esta función devuelve una cadena de caracteres (subcadena) extraída de una cadena.
Copy (Cadena,Posición, Número)
Cadena : Expresión tipo cadena (fuente)
Posición : Primer caracter a extraer (tipo entero)
Número : Total de caracteres a extraer (tipo entero)
Si la posición es mayor que la longitud de "Cadena", se devuelve una cadena vacía; si el número especifica más caracteres que los indicados desde posición, sólo se devuelve el resto de la cadena.
Ejemplo:
Ch := `Esto es una cadena muy larga´;
Ch2 := Copy (Ch,1,18);
Write (Ch2)
Esto produciría la cadena `Esto es una cadena´.
- Función de conversión a mayúsculas (Upcase)
La función Upcase toma un argumento de tipo char y devuelve la correspondiente equivalencia de la expresión en mayúscula. Si la expresión ya está en mayúscula o no tiene ningún carácter equivalente en mayúscula, se devuelve el carácter sin modificar.
Sintaxis: Upcase (Letra)
Letra es de tipo char. Por ejemplo: Upcase (`a´) devuelve `A´.
- Acceso a posiciones individuales en una cadena
Como las cadenas son arrays, se puede acceder a sus elementos en forma individual. Ejemplo:
Nombre := ´Picapiedra´
Entonces:
Nombre[1] P
Nombre[2] i
Nombre[3] c
Nombre[4] a
Nombre[5] p
Nombre[6] i
Nombre[7] e
Nombre[8] d
Nombre[9] r
Nombre[10] a
Hay 6 opiniones. Opina sobre este curso.
| Cursos | Valoración | Alumnos | Vídeo | |
|---|---|---|---|---|
|
Creación de un microrobot Este es un robot muy sencillo pensado para aquellos que se quieren iniciar en el mundo de la microbótica. La estructura mecánica está realizada con piezas de Lego y como ... [25/02/05] |
|
8.057 | ||
|
HTML. Introducción práctica HTML, este lenguaje para la creación de páginas Web o sitios de Internet, es la base necesaria para introducirse en otros lenguajes Web como el Css, P... [23/07/09] |
|
2.418 | ||
|
Introducción básica a Linux Curso básico de Linux explicando aspectos importantes de Fedora Core, KNOPIX, SuSE y otras distribuciones de Linux. Este curso está recomendado para usuarios que ya h... [14/07/06] |
|
15.985 | ||
Publicar en
del.icio.us
digg
meneame