11 - Acción "Abrir"

[editar]
Tutorial creado por David Asorey Álvarez. Extraido de: http://www.mononeurona.org/index.php?idp=312
24 de Octubre de 2005

¿Qué se supone que debe hacer?. Pues preguntarle al usuario por un archivo, leerlo y cargar el contenido en el ListBox. Veamos directamente la acción correspondiente:

PUBLIC SUB Abrir_Click() DIM c AS String DIM arr_cadenas AS String[] Dialog.Title =

"Seleccione un archivo" Dialog.Filter = [ "Datos de agenda (*.data)", "Todos los ficheros (*.*)" ]

 IF NOT Dialog.OpenFile() THEN arr_cadenas = Split(File.LOAD(Dialog.Path), "\n") ListBox1.Clear()

FOR EACH c IN arr_cadenas ListBox1.Add(c) NEXT END IF END

Este trozo de código se nos presenta una característica muy interesante de Gambas, las clases "no instanciables" o estáticas ( 3). Son clases que no pueden instanciarse pero pueden utilizarse directamente. En esta acción vemos en acción dos de estas clases: la clase " File" y " Dialog".

Por ejemplo, la clase Dialogproporciona acceso a los típicos cuadros de diálogo de selección de ficheros, colores, etc. Está documentada en gb.qt

La clase Dialog

En nuestra aplicación, queremos seleccionar un fichero y cargarlo. Para hacer ésto, utilizaremos la clase Dialog de la siguiente forma:

Dialog.Title = "Seleccione un archivo" Dialog.Filter = [ "Datos de agenda (*.data)", "Todos los ficheros (*.*)" ]

IF NOT Dialog.OpenFile() THEN ' etc ...

Ajustamos el título del cuadro de diálogo, proporcionamos un filtro para la selección del tipo de fichero por extensión y finalmente invocamos el método OpenFile()de la clase. Curiosamente, si NO se selecciona un fichero (el usuario pulsa "Cancelar", etc ...), el valor de retorno del método OpenFile()es True. Una vez seleccionado el fichero por parte del usuario, podemos acceder a la ruta completa con la propiedad Dialog.Path

La clase File(su documentación se encuentra "colgando" de la entrada gb) proporciona varios métodos para trabajar con ficheros.

La clase File

En la documentación de Gambas, en la sección "How do I ..." se muestran varios ejemplos para leer y escribir ficheros. Nosotros vamos a utilizar en nuestra aplicación el método Load(), que recibe como argumento la ruta de un fichero y devuelve un Stringcon todo el contenido del fichero. Para separar las líneas que contiene el fichero, utilizamos la función Split(), que toma como argumentos la cadena que queremos "partir", el carácter a utilizar como separador (un salto de línea en nuestro caso, " \n") y devuelve un Array de Strings. Por ello hemos declarado la variable arr_cadenascomo String[]:
DIM arr_cadenas AS String[]

Una vez que tenemos la lista de cadenas contenidas en el fichero, limpiamos el ListBox y vamos añadiendo una a una cada cadena utilizando el método Add()del ListBox.

[editar]

2 opiniones

Gracias todo muy interesante.

Muy interesante el tutorial. Dos cosas: no he podido bajar el tutorial en su formato pdf. Finalmente intento hacer un sistemita de gestión de datos, existe un tutorial para gambas que profundice en el tema. Gracias.
Excelente!!.

Muy bueno, le voy a meter pilas a esto, el windows habia empezado a usar vb y en mi ubuntu el python, pero ahora definiticamente me voy a centrar en esto. Muchas gracias ^^.

Tutoriales relacionados con 'Desarrollo de aplicaciones con Gambas'

Vamos a crear una aplicación sencilla con Gambas. Veremos cómo se programan los eventos y... Más »

Autor y licencia de 'Desarrollo de aplicaciones con Gambas'


Tutorial de David Asorey Álvarez. Extraido de: http://www.mononeurona.org/index.php?idp=312 CopyLeft
Este trabajo está licenciado bajo la Creative Commons License
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.