7 - Acción "Añadir"

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

Esto ya es un poco más complicado. Queremos que el usuario, al pulsar el botón, pueda escribir una línea de texto que se cargue en el ListBox.

Gambas no proporciona por defecto un diálogo del tipo "InputBox", así que lo vamos a crear nosotros mismos. Creamos un nuevo formulario, pero ahora sí que queremos disponer de un constructor. ¿Por qué?. Porque en el momento de crearlo cambiaremos algunas propiedades como el título, algún mensaje de texto y un valor por defecto para la entrada de texto. Este es el diseño que proponemos:

Inputbox

El formulario no tiene mucha complicación. Dispone de una etiqueta o Label, una entrada de texto ( TextBox) y dos botones. Como buen cuadro de diálogo que se precie, es conveniente que se pueda cancelar con la tecla Escapey aceptar con la tecla Enter:

Los controles Buttontienen dos propiedades adecuadas para este cometido. Son " Default" y " Cancel". Para el botón "Aceptar", ponemos " Default" a Truey " Cancel" a False. Para el botón "Cancelar", al contrario.

De esta manera, cuando se abra el formulario, una pulsación en la tecla < ENTER> será equivalente a pulsar el botón "Aceptar" y una pulsación en la tecla < ESC> simulará el botón "Cancelar".

El siguiente problema que se nos plantea es cómo retornar el valor que introduce el usuario en la entrada de texto a la ventana principal. Hay que destacar que en Gambas no hay variables globales, así que tendremos que buscar otra solución. En el "Consejo del día nº 7", (menú "? > Consejos del día") se nos sugiere que creemos un módulo en el cual ponemos una variable PUBLIC, así puede ser accedida desde cualquier punto de la aplicación.

Creamos un módulo (botón derecho en "Módulos > Nuevo módulo") y lo llamamos MComun, por ejemplo. Esta sería la implementación del módulo:

' Gambas module file PUBLIC texto AS String

Así, sin más. Ahora tenemos una variable visible desde cualquier punto del programa que puede ser accedida con la notación MComun.texto

Lo siguiente es implementar el formulario que hará las veces de "InputBox". Esta sería su implementación:

' Gambas class file PUBLIC SUB _new(titulo AS String, mensaje AS String, OPTIONAL texto AS String) ME.Caption = titulo Label1.Caption = mensaje ' un String se evalúa como False si está "vacío" IF texto THEN TextBox1.Text = texto END PUBLIC SUB Button1_Click() ' Este es el botón Aceptar MComun.texto = TextBox1.Text ME.Close(0) END PUBLIC SUB Button2_Click() ' Este es el botón Cancelar ME.Close(0) END

El procedimiento _newes el constructor. Como nos interesa que el texto de la etiqueta, el título y el texto a editar sean distintos cada vez, los ajustamos al crear la ventana.

El botón "Aceptar" asigna el texto en el TextBoxen la variable textodel módulo MComuny cierra el formulario. El botón "Cancelar" simplemente cierra la ventana.

Como la variable MComun.textoes común, tenemos que acordarnos de "limpiarla" cada vez que la utilicemos. Vamos a verlo ahora mismo.

El procedimiento para el botón "Añadir" del formulario principal es el siguiente. Es bastante autoexplicativo:

PUBLIC SUB Annadir_Click() ' Declaramos nuestro "Inputbox" f AS FInputBox ' Creamos el InputBox, pasándole el título, mensaje a mostrar ' y un valor por defecto: la fecha y hora del momento y una flechita f = NEW FInputBox("Escribir entrada", "Escriba la línea que desea añadir:", CStr(Now) & " -> ") ' Lo mostramos f.ShowModal() ' Si han pulsado aceptar y han metido texto, ' estará en la variable MComun.texto IF MComun.texto THEN 'Una cadena vacía es False ' El control ListBox tiene un método para añadir texto: .Add ListBox1.Add(MComun.texto) '

"Vaciamos" la variable común MComun.texto = END IF END</FONT></P>""

[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.