El manejo de las cadenas es fundamental
en nuestros programas.
Ya sea para la búsqueda,la
presentación,operaciones,etc.
Gambas nos da muchas posibilidades para
trabajar con ellas.
Tenemos funciones que el propio
lenguaje nos facilita.
Algunas funciones que podemos
encontrar:
- Saber la longitud de una cadena.
- Presentar un texto desde el comienzo,de izquierda a derecha, derecha a izquierda.
- Eliminar los espacios,ya sea por la izquierda o la derecha,todos los espacios.
- Para dividir una cadena en un array de cadena.
- Para cambiar una palabra por otra.
- Para cambiar de mayúsculas a minúsculas o viceversa.
- Para buscar una palabra y que nos diga en que lugar se encuentra. O que existe.
- Para añadir espacios.
Hay muchas más.
Gambas nos da muchas posibilidades con
las funciones propias que incluye.
Longitud de una cadena. Función LEN
Tiene
mucho uso. Acompañado de un bucle FOR – NEXT
encontraremos
muchas posibilidades para nuestro programa.
Averiguaremos
la longitud con la función LEN(variable de cadena)
---código---
DIM
cadena AS STRING
cadena=”candelabro”
PRINT
LEN(cadena)
---código---
Presentar un texto.
Funciones LEFT$,RIGHT$,MID$
Una
manera de darnos cuenta de que un comando o función trabaja con
cadenas
es
que en la propia instrucción suele incluir el carácter “$”
Función LEFT$.
Esta
funcione nos mostrara los caracteres de una cadena comenzando por
su
izquierda.
---código---
DIM
cadena AS STRING
cadena=”candelabro”
PRINT
LEFT$(cadena,3)
---código---
Nos
mostrara desde la izquierda, 3 caracteres que contienen la variable
cadena
Con
la aplicación de los bucles ganamos mucho trabajando con estas
funciones.
Función RIGHT$
Es a
la inversa de la anterior.
---código---
DIM
cadena AS STRING
cadena=”candelabro”
PRINT
RIGHT$(cadena,3)
---código---
Nos
mostrara desde la derecha, 3 caracteres que contienen la variable
cadena
Y la
que creo que es la más potente.
Función MID$
Es
una función capaz de comenzar desde un lugar de la cadena en
concreto
y
decirle cuantos caracteres queremos que nos muestre.
---código---
DIM
cadena AS STRING
cadena=”candelabro”
PRINT
MID$(cadena,3,1)
---código---
Con
esto logramos decirle que queremos que nos muestre desde el comienzo
de la cadena
por
la izquierda, se situé en el carácter que ocupa el “lugar” 3 y
nos muestre una cantidad
de
caracteres. En este caso 1.
Ahora
imaginar lo que podríamos hacer con bucles.
Ejemplo
con LEFT$
---código---
DIM
cadena AS STRING
DIM x
as INTEGER
cadena=”escalera”
FOR
x=1 TO LEN(cadena)
PRINT
LEFT$(cadena,x)
NEXT
---código---
Ejemplo
con RIGHT$
---código---
DIM
cadena AS STRING
DIM x
as INTEGER
cadena=”escalera”
FOR
x=1 TO LEN(cadena)
PRINT
RIGHTS(cadena,x)
NEXT
---código---
Probar
a hacer el bucle FOR a que vaya de mayor a menor usando
estas
dos funciones. ;-)
Y
ahora MID$.
---código---
DIM
cadena AS STRING
DIM x
as INTEGER
cadena=”escalera”
FOR
x=1 TO LEN(cadena)
PRINT
MID$(cadena,x,1)
NEXT
---código---
Ahora
viene lo peculiar. Como veis hemos mostrado una letra de una en una.
Y si
quisiéramos mostrar una a una con una pausa como si escribiéramos
con
una maquina de escribir. :-)
Tendremos
que usar la instrucción WAIT para crear una pausa de x's
milisegundos.
WAIT
0.1 'Añade 100 milisegundos de retraso
WAIT
0.5 'Añade 500 milisegundos de retraso.
Bien.
En el caso de una instrucción PRINT , muestra algo por la consola.
Podemos mostrarla como si fuera una lista o detrás de otro con la ayuda
de
“;”
PRINT
“José ”;
PRINT
“Luis”
También
podemos hacer:
PRINT
“José ”;”Luis”
Naturalmente
queda mas presentable en un componente TextArea
Vamos
al ejemplo. ;-)
---código---
DIM
cadena AS STRING
DIM x
as INTEGER
cadena=”Esto
es un mensaje letra por letra.”
FOR
x=1 TO LEN(cadena)
PRINT
MID$(cadena,x,1);
WAIT
0.2 '
NEXT
---código---
Probar
a cambiar el tiempo en wait. :-)
Continuara....
Os añado una aplicación para que veais ejemplos.
Ejemplo:
Mas información en:
No hay comentarios:
Publicar un comentario