|
|
Objetivos |
- Aprender a realizar operaciones con cadenas de texto en Gambas.
|
|
Fuentes de información |
- http://www.gambas-es.org
- Libro “GAMBAS, programación visual con Software Libre”, de la
editorial EDIT LIN EDITORIAL S.L., cuyos autores son Daniel Campos
Fernández y José Luis Redrejo.
- Libro “Fundamentos de programación”, de la editorial Univ.
Politécnica de Valencia, cuyos autores son Mª Alpuente Fresnedo y otros.
|
|
|
|
1. Operadores de cadenas de texto
Una de las tareas más habituales en los programas informáticos es el
uso de cadenas de texto, tanto si se trata de aplicaciones de bases de
datos, como para la simple salida de mensajes en pantalla. En Gambas se
han implementado todas las funciones de cadenas de texto del BASIC
estándar más las que están presentes en Visual Basic.
Antes de proceder a su listado, destacar que existe un "operador" de
cadenas de texto que permite concatenarlas directamente, se trata del
símbolo &. Veamos un ejemplo de su uso:
La salida en consola será:
2. Funciones
Funciones disponibles en Gambas para manejar cadenas de texto:
Operación |
Descripción |
Len (Cadena) |
Devuelve la longitud de una cadena. El valor devuelto es de tipo Integer. |
Upper (Cadena), Ucase (Cadena) |
Convierte a mayúsculas la cadena. Se puede utilizar tanto Upper como Ucase. |
Lower (Cadena), Lcase (Cadena) |
Convierte a minúsculas la cadena. Se puede utilizar tanto Lower como Lcase. |
Str (Número) |
Convierte un número a cadena de texto. |
Ltrim (Cadena) |
Elimina todos los caracteres en blanco a la izquierda de la cadena. |
Rtrim (Cadena) |
Elimina todos los caracteres en blanco a la derecha de la cadena. |
Trim (Cadena) |
Elimina todos los caracteres en blanco tanto por la derecha como por la izquierda de la cadena. |
Left (Cadena [, longitud]) |
Devuelve los primeros caracteres de la cadena indicados en longitud. |
Right (Cadena [, longitud]) |
Devuelve los últimos caracteres de la cadena indicados en longitud. |
Mid (Cadena, Inicio [, longitud]) |
Devuelve la subcadena de caracteres de la longitud indicada, a partir de la posición Inicio. |
Space (Longitud) |
Devuelve una cadena de espacios en blanco con la longitud indicada. |
Replace (Cadena, Origen, Sustituta) |
Reemplaza la cadena Origen por Destino. |
InStr (Cadena, Subcadena [ , lnicio ]) |
Busca la subcadena dentro de
la cadena y devuelve un número con la posición donde la encontró. Si
se da el valor Inicio, la búsqueda empezará en esa posición. Por
ejemplo:
PRINT Instr ("Gambas es basic " , "bas" ) → devuelve un 4.
Si la subacdena no está presente en la cadena, devuelve cero. |
RinStr ( Cadena, Subcadena [ , Inicio ]) |
Funciona exactamente igual que lnStr, sólo que empieza a buscar de derecha a izquierda en la cadena. |
A continuación vamos a crear diferentes programas con operaciones con textos.
- Abrimos Gambas.
- Hacemos clic en la opción Nuevo proyecto.
- Marcamos la opción Aplicación de consola y hacemos clic en el botón Siguiente.
- Seleccionamos en nuestro directorio personal el directorio BASIC/1MTEXTO creado anteriormente Documentos/BASIC/1MTEXTO.
- Hacemos clic en el botón Siguiente.
- Le damos un nombre y título al proyecto. En el primer campo escribimos “07PrgCadTexto”. En el segundo campo escribimos “Proyecto operaciones con cadenas de texto”.
El asistente creará un nuevo directorio con el nombre del proyecto
(campo 1) y ahí irá introduciendo todos los archivos necesarios para el
desarrollo de la aplicación.
- Hacemos clic en OK.
Vamos a crear un núevo módulo para nuestro primer ejemplo.
2.1. Concatenación de cadenas de texto
- Hacemos clic con el botón derecho del ratón sobre el árbol de carpetas. Aparecerá un menú contextual. Elegimos la opción .
- Surgirá una ventana en la que escribimos el nombre del Módulo: “Concatenar”. Pulsamos el botón OK.
- Hacemos clic con el botón derecho del ratón sobre el nuevo módulo y marcamos la opción Clase de inicio.
- Escribimos en el módulo el siguiente código:
- Ejecutamos el programa.
- La consola nos mostrará el resultado:
- Guardamos los cambios del proyecto.
2.2. Longitud de una cadena de texto
|
|
A diferencia de otros lenguajes, en BASIC las cadenas de texto siempre empiezan en la posición 1. |
|
|
- Hacemos clic con el botón derecho del ratón sobre el árbol de carpetas. Aparecerá un menú contextual. Elegimos la opción .
- Surgirá una ventana en la que escribimos el nombre del Módulo: “Longitud”. Pulsamos el botón OK.
- Hacemos clic con el botón derecho del ratón sobre el nuevo módulo y marcamos la opción Clase de inicio.
- Escribimos en el módulo el siguiente código:
- Ejecutamos el programa.
- La consola nos mostrará el resultado:
- Guardamos los cambios del proyecto.
2.3. Convertir a mayúsculas y minúsculas
- Hacemos clic con el botón derecho del ratón sobre el árbol de carpetas. Aparecerá un menú contextual. Elegimos la opción .
- Surgirá una ventana en la que escribimos el nombre del Módulo: “MayMin”. Pulsamos el botón OK.
- Hacemos clic con el botón derecho del ratón sobre el nuevo módulo y marcamos la opción Clase de inicio.
- Escribimos en el módulo el siguiente código:
- Ejecutamos el programa.
- La consola nos mostrará el resultado:
- Guardamos los cambios del proyecto.
2.4. Eliminar espacios en blanco
- Hacemos clic con el botón derecho del ratón sobre el árbol de carpetas. Aparecerá un menú contextual. Elegimos la opción .
- Surgirá una ventana en la que escribimos el nombre del Módulo: “EliminarBlancos”. Pulsamos el botón OK.
- Hacemos clic con el botón derecho del ratón sobre el nuevo módulo y marcamos la opción Clase de inicio.
- Escribimos en el módulo el siguiente código:
- Recordemos que la función Str convierte un número a cadena de texto.
- Ejecutamos el programa.
- La consola nos mostrará el resultado:
- Guardamos los cambios del proyecto.
2.5. Subcadenas de texto
- Hacemos clic con el botón derecho del ratón sobre el árbol de carpetas. Aparecerá un menú contextual. Elegimos la opción .
- Surgirá una ventana en la que escribimos el nombre del Módulo: “Subcadenas”. Pulsamos el botón OK.
- Hacemos clic con el botón derecho del ratón sobre el nuevo módulo y marcamos la opción Clase de inicio.
- Escribimos en el módulo el siguiente código:
- Ejecutamos el programa.
- La consola nos mostrará el resultado:
- Guardamos los cambios del proyecto.
2.6. Reemplazar cadenas de texto
- Hacemos clic con el botón derecho del ratón sobre el árbol de carpetas. Aparecerá un menú contextual. Elegimos la opción .
- Surgirá una ventana en la que escribimos el nombre del Módulo: “Reemplazar”. Pulsamos el botón OK.
- Hacemos clic con el botón derecho del ratón sobre el nuevo módulo y marcamos la opción Clase de inicio.
- Escribimos en el módulo el siguiente código:
|
|
La cadena \t indica tabulador. |
|
| - Ejecutamos el programa.
- La consola nos mostrará el resultado:
- Guardamos los cambios del proyecto.
2.7. Buscar subcadenas de texto en una cadena
- Hacemos clic con el botón derecho del ratón sobre el árbol de carpetas. Aparecerá un menú contextual. Elegimos la opción .
- Surgirá una ventana en la que escribimos el nombre del Módulo: “BuscarCad”. Pulsamos el botón OK.
- Hacemos clic con el botón derecho del ratón sobre el nuevo módulo y marcamos la opción Clase de inicio.
- Escribimos en el módulo el siguiente código:
- Ejecutamos el programa.
- La consola nos mostrará el resultado:
- Guardamos los cambios del proyecto.
- Ahora modificaremos el programa para que nos devuelva la última ocurrencia de la subcadena “abc”. Utilizaremos la función RInstr en lugar de Instr.
- Comprobamos que ahora el resultado es la posición 17.
|
|
|
|
- Sube TODOS los módulos que has hecho en esta unidad a
la plataforma en el apartado "Sube aquí tus ejercicios paso a paso".
Aquí deberás subir los 7 módulos que has hecho: Concatenar, Longitud, MayMin, EliminarBlancos, Subcadenas, Reemplazar, BuscarCad,
recuerda que estarán en tu carpeta 07PrgCadTexto. No te preocupes, en
este lugar podrás subir los 7 sin que se borren los anteriores.
|
|
|
|
- Ahora sin ayuda y aplicando todo lo que has hecho en la unidad deberás hacer el siguiente ejercicio.
- Sigue con el proyecto “07PrgCadTexto”.
- Crea un nuevo módulo. Llámalo “EjercicioTexto” y márcalo como Clase de inicio.
- En el comentario de la parte superior deberás poner "Este programa ha sido creado por TU NOMBRE Y APELLIDOS
- Deberás solicitar por pantalla que el usuario introduzca una frase.
- Deberás mostrar en pantalla la longitud de la frase.
- Deberás mostrar en pantalla sólo las últimas 4 letras de la frase.
- Deberás mostrar en pantalla el resultado de reemplazar las "a" por "Z" en la frase.
- Deberás mostrar en pantalla la posición en la que aparece la primera "a".
Cada dato a mostrar deberás indicar a qué se refiere, es decir, en la ejecución se mostrará por ejemplo:
La primera posición en la que aparece la letra a es -> X
y así con todos los datos a mostrar.
- Guarda los cambios en tu proyecto.
- Sube a la plataforma la captura de la pantalla donde
se vea la ejecución del programa que acabas de hacer y la mayor parte
del código fuente que has escrito.
- Sube también el fichero llamado EjercicioTexto.module que podrás encontrar dentro de la carpeta del proyecto 07PrgCadTexto.
|
|
Sugerencias |
Sería interesante que te
guardaras en una memoria USB todo el contenido de la carpeta BASIC de
tus documentos, para evitar que cualquier problema con el ordenador te
haga perder tus ejercicios. |
|
|
|