Curso de Gambas - Primer proyecto (3)

5 - Primer proyecto (3)

[editar]
Tutorial creado por KDE-Hispano. Extraido de: http://www.kdehispano.org/curso_gambas
09 de Noviembre de 2005
Bueno, ya volvemos con mi memoria de una aplicación de gestión domestica.

En el capitulo de hoy ...

El data picker de kde !!!

Ok, lo primero es aprender a insertar nuevos componentes en la caja de herramientas, para ello nos vamos al menu general de proyectos, seleccionamos propiedades, y en la pestaña componentes marcamos las librerias (o bibliotecas, que es como se deberían llamar) que queremos añadir (en mi caso gb.db, para base de datos, y bg.qt.kde, para el datapicker).

Al presionar aceptar no daremos cuenta de que hay una nueva sección en la caja de herramientas, kde, y pulsando sobre ellas aparecen nuevos componentes.

Después de jugar un rato con ellos seleccionamos el datapicker (el del icono del calendario). y lo ponemos en el formulario.

Le cojemos la medida y ejecutamos (F5) asi veremos si la medida puesta es la correcta, probamos hasta dejarlo en donde queremos.

El problema es que yo no quería que apareciera siempre, sólo cuando se pulsara doble click (si, doble click que soy mu mijita) sobre la caja de texto de la fecha. Para ello ponemos las propiedades visible y enable (esta última quizas no hiciera falta, pero mas vale prevenir ...) a FALSE, y el enable del campo de texto fecha lo ponemos también a false (para que no se pueda escribir).

Bueno, ya solo queda hacer que aparezca el datapicker cuando se pulse dobleclick (anda que no he tocao eventos con mi primera aplicación !!!), para eso pulsamos botón secundario con el campo de texto fecha marcado y seleccionamos de entre los eventos DblClick y escribimos el siguiente sencicódigo:

  DPselFecha.Enabled = TRUE
  DPselFecha.Visible = TRUE
  DPselFecha.SetFocus()


Todo es bastante simple, y eso del SetFocus() es una pijadilla que ha hace que el control principal lo tenga el datapicker (por cierto, el nombre del objeto es la abreviatura de DataPicker selector de Fecha, que no es ni método polaco ni húngaro ni na, es el método español de dvl con el que yo me aclaro :D)

Mu bien, ahora todo fluuye ... pero no hace nada cuando seleccionamos fecha o cuando la escribimos ... ¿Que hacemos? La respuesta: añadirle eventos al DataPicker.

Los eventos que seleccioné son el doble click (estoy pesao hoy con el doble click ...) y el key press, el doble click es para cuando se pulse sobre un fecha, con un click se selecciona (esto lo hace solo el datapicker, que es mu apañao) y el código que lleva es el siguiente:

  fecha.Text = DPselFecha.Value
  DPselFecha.Enabled = FALSE
  DPselFecha.Visible = FALSE


Que traducido quiere decir: el valor que tenga el Datepicker se lo pones al campo de texto fecha, "aluego" desactivas y ocultas el datapicker. (hay que ver que bién "converso" con la máquina !!).

El evento keyPress es por la costumbre que tenemos los usuarios de escribir un texto y darle al intro, ya que, como el datapicker te da la posibilidad de escribir una fecha directamente (el mismo te la valida y todo), pues poder pulsar intro, tambien comprobamos que si pulsa escape es que quiere volver sin modificar nada.
Para ello insertamos el siguiente código en el evento keyPress del DataPicker

  IF (key.Code = key.Enter OR key.Code = key.Return) THEN
     fecha.Text = DPselFecha.Value
     DPselFecha.Enabled = FALSE
     DPselFecha.Visible = FALSE
  ELSE IF (key.Code = key.Esc) THEN
     DPselFecha.Enabled = FALSE
     DPselFecha.Visible = FALSE
  END IF


Lo cual significa (como ya vimos en el capi anterior) que si la tecla pulsada es el intro (el del teclado numérico) o el return (el de toda la vida), hacemos lo mismo que en el doble click, rellenamos el campo de texto fecha con el valor del DataPicker, lo desactivamos y ocultamos.

Si la tecla pulsada es Esc (escape si tenemos ganas de escribir, :P) pues solo desactiva y oculta, no pasa ningun valor a fecha.

Y con eso y un bizcocho (que ta haciendo la yaya) terminamos el "complejísimo" funcionamiento de nuestro formulario.

En el siguiente capi ... La base datos !!!

P.D.: Por cierto, a mi el dataPicker me sale en un correcto inglés y no tengo ni idea de como hacer que se me ponga en español, si algún alma caritativa que lea esto lo sabe, que me eche un a manita, anda ... :-D
[editar]

4 opiniones

Excelente

Soy el del comentario anterior, ya me di de alta...
Excelente

Excelente aporte llevo menos de 4 horas en GAMBAS y este a sido el mejor aporte, muy bien explicado y me entusiasma a seguir con el lenguaje excelente muchas gracias
Codigo fuente.

Excelentes tus "memorias" con gambas, quisiera pedirte el código fuente sino no es mucha molestia para poder probar tu aplicación, ya que estoy interesado en el tema de gambas.
Tableview.

Estoy desarrollando un programita con gambas, me tope con un problema con el tableview,:
1)los datos del texbox deseo insertarlos en la tabla, de uno por ves, para el primero funciona ok, el segundo se despelota, me rellena 2 filas con el mismo dato!
2) alguien sabe como saltar este problema. (las ayudas del gambas no estan presentes para elte punto. Gracias.

Tutoriales relacionados con 'Curso de Gambas'

Hace muuuuucho tiempo, cuando empezaba a aprender algo sobre php, me llamó la atención un... Más »

Autor y licencia de 'Curso de Gambas'


Tutorial de KDE-Hispano. Extraido de: http://www.kdehispano.org/curso_gambas CopyLeft
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.