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.
Contenidos
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 Nuevo→Módulo.
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 Nuevo→Módulo.
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 Nuevo→Módulo.
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 Nuevo→Módulo.
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 Nuevo→Módulo.
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 Nuevo→Módulo.
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 Nuevo→Módulo.
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.
Guardamos los cambios.
Ejercicio
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.
Ejercicio
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 la posición en la que aparece la primera "a".
Deberás mostrar en pantalla el resultado de reemplazar las "a" por "Z" en la frase.
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.
No se permite un uso comercial de la obra original ni de las posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
Los reconocimientos se realizan en el apartado Fuentes de información.
Todas las capturas de pantalla tienen copyright y pertenecen a TuInsitutoOnline.com.
TuInstitutoOnline.com permite su uso siempre y cuando se muestren desde el dominio www.tuinstituoonline.com y NO PERMITE enlazar a ellas desde otros lugares.
Además, la estructura diseñada para mostrar el contenido de las unidades es propiedad de TuInstitutoOnline.com.