Curso de Gambas Version 3 Con Aplicaciones

12
CURSO DE GAMBAS 2.0.0 (Nivel 2) Carúpano, Marzo de 2008 Programación En GAMBAS 2.0.0  1

Transcript of Curso de Gambas Version 3 Con Aplicaciones

Page 1: Curso de Gambas Version 3 Con Aplicaciones

CURSO DE GAMBAS 2.0.0

(Nivel 2)

Carúpano, Marzo de 2008

Programación En GAMBAS 2.0.0  1

Page 2: Curso de Gambas Version 3 Con Aplicaciones

USO DE CONTROLES MAS COMUNES

LISTBOX: El control ListBox implementa una lista de items seleccionables. Para crear un 

objeto  ListBox  dibujamos el objeto sobre un formulario eligiendo el tamaño y lugar que 

ocupara en función del arrastre que se haga con el mouse.

Algunas de sus propiedades son las siguientes:

● Name: Inherente al nombre del objeto. Ejem: MiListaBox.

● Enable:  Acepta  valores   booleanos   (True   o  False),   para   permitir   si   se  pueden 

seleccionar items del control o no.

● Font: Permite elegir el tipo y tamaño de la fuente que mostrara el ListBox.

● List: Esta propiedad permite agregar un grupo de items que se mostraran en el 

control.

● Mode: Permite colocar el control en diferentes modos (single, multiple, none), de 

manera que se pueda seleccionar un solo item (single) o varios a la vez (multiple)

● ToolTip: Muestra mensajes emergentes al colocarse sobre el control.

● Visible: Acepta valores booleanos (True o False), para indiciar si el objeto estará 

visible o no en el formulario.

En el siguiente ejemplo vamos a crear un programa que permita ingresar, eliminar 

y visualizar elementos a través de un objeto ListBox. Se quiere con este programa que al 

escribir   en   la   casilla   ingrese   un   dato,   este   aparezca   en   la   lista   del   lado   derecho. 

Adicionalmente al hacer clic sobre cualquier item de la lista este aparezca reflejado en una 

etiqueta. También deberá permitir eliminar un item seleccionado o uno a uno los items de 

la lista.

Para ello  creamos un Proyecto Nuevo en Gambas y dibujamos un  formulario  con  los 

controles (01 TexBox, 01 ListBox, 04  Button, 01 Label), que se muestran a continuación:

Programación En GAMBAS 2.0.0  2

Page 3: Curso de Gambas Version 3 Con Aplicaciones

La propiedad Name del control ListBox la cambiamos por el nombre ListaBox. El resto de 

los objetos los dejamos con sus nombres predefinidos.

A continuación hacemos doble clic sobre el formulario principal y colocamos el siguiente 

código:

ME.Center()

Esta instrucción permitirá  que el  formulario este centrado en relación con el  tamaño y 

resolución de nuestro monitor.

Al comienzo del código del formulario principal escribimos lo siguiente:

' Gambas class file

PUBLIC Control AS Boolean

Esta variable permitirá controlar la validación de la casilla de texto para saber si esta vacía 

o no.

En el Button1 (insertar en ListBox), coloque el siguiente código:

PUBLIC SUB Button1_Click()control = TRUEValidarIF control = FALSE THEN RETURNListaBox.Add(TextBox1.Text)TextBox1.Text = ""

Programación En GAMBAS 2.0.0  3

Page 4: Curso de Gambas Version 3 Con Aplicaciones

textbox1.SetFocusENDAl presionar el botón este valida en primer lugar que la casilla de texto no este vacía; si lo 

esta emite un mensaje de advertencia y no agrega el dato a la lista, ya que cambia el valor 

de la variable Control.

El evento Validar tendrá el siguiente código:

PUBLIC SUB Validar()  IF textbox1.Text = "" THEN     Message.Info("debe escribir un nombre")    TextBox1.SetFocus    Control = FALSE  ENDIF END

En el Button2 (Eliminar uno a uno), coloque el siguiente código:

PUBLIC SUB Button2_Click()ListaBox.Remove(0)ENDEsto permitirá usar el método Remove para eliminar uno a uno el contenido de la lista. El 

numero 0 indica que debe hacerlo hasta el primer item de la lista.

En el Button3 (Eliminar seleccionado), coloque el siguiente código:

PUBLIC SUB Button4_Click()DIM CantidadItems AS IntegerCantidadItems = ListaBox.IndexIF CantidadItems >= 0 THEN   ListaBox.Remove(CantidadItems)ELSE   IF ListaBox.Count > 0 AND CantidadItems = ­1 THEN       Message.Info("Debe seleccionar algo")  ENDIF ENDIF ENDEl método Index permitirá conocer la posición del item seleccionado en la lista de manera 

de   eliminarlo   de   la   misma.   Si   no   se   seleccionada   ninguno   envía   un   mensaje   de 

advertencia.

Programación En GAMBAS 2.0.0  4

Page 5: Curso de Gambas Version 3 Con Aplicaciones

Así mismo, para que lo anterior funcione, se deberá colocar la siguiente codificación en el 

evento Select del ListBox.

PUBLIC SUB ListaBox_Select()DIM resultado AS Stringresultado = Trim(ListaBox.Text)Label2.Text = resultado & "  FUE SELECCIONADO"END

En el Button3 (regresar), coloque el siguiente código:

PUBLIC SUB Button3_Click()FMain.ShowME.CloseENDEsto   nos   permitirá   regresar   al   formulario   principal   (en   caso   que   exista)   y   cerrar   el 

formulario existente.

EJERCICIO:

En base al ejemplo anterior, realice las siguientes modificaciones:

1. Colocar  un  mensaje  de   información   (Message.Info)  que   indique  el  numero del 

elemento que se esta insertando en el ListBox.

2. Colocar  un  mensaje  de   información   (Message.Info)  que   indique  el  numero del 

elemento que se esta eliminando en el  ListBox al presionar el botón “Eliminar el 

Seleccionado”.

3. Cambiar la propiedad  Font  del  Button1  de manera que se coloque en “negritas” 

cuando el mouse se pose sobre el botón.

4. Cambiar el color del texto seleccionado en la lista y que se muestre en la etiqueta.

LISTVIEW:  El   control  ListView  muestra   una   lista   de   items   seleccionables.   Es   muy 

parecido al control  ListBox pero con la diferencia que pueden visualizarse iconos en los 

objetos de la lista.

Algunas de sus propiedades son las siguientes:

● Border: Determina si el control utiliza un borde o no.

● Editable:  Permite  editar  con un  simple  click  cualquiera  de   los  objetos  que  se 

Programación En GAMBAS 2.0.0  5

Page 6: Curso de Gambas Version 3 Con Aplicaciones

encuentran en la lista. Por defecto esta opción se encuentra inactiva (FALSE).

● Mode: Define si será una lista simple o múltiple.

● Scrollbar: Define si las barras de desplazamiento del control estarán en la parte 

inferior   o   del   lado   derecho,   o   por   el   contrario   el   programa   asumirá   la   mejor 

alternativa dependiendo del tamaño del dato (Both).

En el siguiente ejemplo vamos a crear un programa que utilice el control  ListView  para 

ingresar datos y que los muestre en una etiqueta label al hacer clic sobre alguno de ellos.

El diseño del formulario debe ser el siguiente:

El código a incluir en el formulario es el siguiente:

PUBLIC SUB Form_Open()DIM PicLinux AS NEW PictureDIM PicGambas AS NEW PicturePicLinux.Load("linux.png")PicGambas.Load("gambas.png")ListaView.Add("listitem1", "listitem1", PicLinux)TextLabel1.Text = ListaView.Item.TextListaView_ClickME.Center()END

En el evento Open se crean dos variables que contendrán las imágenes que estarán en el 

control  ListView.  Inicialmente se debe agregar un item al control para que no presente 

Programación En GAMBAS 2.0.0  6

Page 7: Curso de Gambas Version 3 Con Aplicaciones

error al cargar el objeto. Esto se logra con la propiedad Add.

Luego se hace un  llamado el  evento  ListaView_Click  el  cual mantendrá  actualizado el 

control por medio de las propiedades MoveCurrent, e  Item.Selected para indicar cuando 

se ha seleccionado un item de la lista.

PUBLIC SUB ListaView_Click()ListaView.MoveCurrent'ListaView.Item.Selected = TRUE'TextLabel1.Text = ListaView.Item.Text & sStatusEND

Para   regresar   al   menú   principal   se   hace   un   llamado   al   formulario   principal   y 

posteriormente se cierra el   formulario actual.  En el  caso que no se use un  formulario 

principal simplemente escriba Me.Close().

PUBLIC SUB Button2_Click()FMain.ShowME.Close(0)END

Para agregar un item a la lista, se usa el siguiente código, donde además se debe elegir la 

imagen   que   acompañará   al   item,   por   medio   de   la   selección   de   uno   de   los   objetos 

RadioButton que se encuentran en el formulario (dos en total).

PUBLIC SUB Button1_Click()DIM PicToUse AS NEW PictureIF TextBox1.Text <> NULL THEN   IF RadioButton1.Value THEN     PicToUse.Load("linux.png")  ELSE     PicToUse.Load("gambas.png")  ENDIF   ListaView.MoveCurrent()  ListaView.Add(TextBox1.Text, TextBox1.Text, PicToUse)  TextBox1.Text = ""  sStatus = " current."  ListaView_Click  ListaView.Item.EnsureVisibleENDIF END

Programación En GAMBAS 2.0.0  7

Page 8: Curso de Gambas Version 3 Con Aplicaciones

Los siguientes eventos se utilizan para actualizar y visualizar el item seleccionado en el 

control. La variable sStatus almacena la opción si el item esta seleccionado o activado. 

Esto se usa para casos donde de selección múltiple.

PUBLIC SUB ListaView_Select()TextLabel1.Text = ListaView.Item.TextsStatus = "seleccionado."ListaView_ClickEND

PUBLIC SUB ListaView_Activate()TextLabel1.Text = ListaView.Item.Text & " seleccionado"sStatus = " activado."ListaView_ClickEND

EJERCICIO:

En base al ejercicio anterior, modifíquelo de manera que al seleccionar un ítem lo coloque 

en la etiqueta en mayúsculas, negrita y centrado; además, deberá mostrar un mensaje 

(message.info) donde también muestre el nombre del ítem.

COMBOBOX: El control ComboBox se utiliza para mostrar datos en un cuadro combinado 

desplegable. De forma predeterminada, el control  ComboBox aparece en dos partes: la 

parte superior es un cuadro de texto que permite al usuario escribir un elemento de la 

lista. La segunda parte es un cuadro de lista que muestra una lista de elementos, de los 

cuales el usuario puede seleccionar uno.

Algunas de sus propiedades son las siguientes:

● List: Lista de items que se pueden agregar al ComboBox.

● Maxlength: Hace referencia a la máxima longitud que se le puede asignar a los 

items que se incluirán en el control.

● Password: Permite mostrar a través de una opción boleana (True o False) si los 

items del control se mostraran como contraseñas.

● Visible: Permite mostrar a través de una opción boleana (True o False) si el control 

Programación En GAMBAS 2.0.0  8

Page 9: Curso de Gambas Version 3 Con Aplicaciones

estará visible o no.

Por medio del siguiente ejemplo demostraremos el uso del control ComboBox, para ello 

crearemos un formulario con el siguiente aspecto:

A continuación, colocaremos el siguiente código en el formulario:

PUBLIC SUB Form_Open()ME.CenterME.Title = "Ejemplo del Uso del Control ComboBox"BotonMas.ToolTip = "Agrega un Item al ComboBox"BotonMenos.ToolTip = "Elimina un Item del ComboBox"ENDCuando se inicie el formulario principal se centrará el formulario que contiene al objeto, 

además  se  colocará  el   titulo  de  la  ventana activa  y   los  mensajes  emergentes  de  los 

botones de agregar y eliminar del ComboBox.

PUBLIC SUB BotonMas_Click()DIM Entrada AS StringEntrada = InputBox("agregar su edad <b>No Mienta!!</b>:", "Uso ComboBox", "01")ComboBox1.Add(Entrada)ComboBox1.RefreshENDPara agregar un item al objeto usaremos el comando InputBox, previo a ello debemos 

crear una variable que contendrá  el  valor  introducido para  luego pasárselo al objeto y 

Programación En GAMBAS 2.0.0  9

Page 10: Curso de Gambas Version 3 Con Aplicaciones

agregarlo. Por ultimo se actualiza el objeto.

PUBLIC SUB BotonMenos_Click()DIM NumItems AS Integer  ComboBox1.Refresh  NumItems = ComboBox1.Count  IF NumItems > 0 THEN    DEC NumItems    IF NumItems <> 0 THEN       ComboBox1.Remove(NumItems)    ENDIF    ComboBox1.Refresh  ENDIFENDPara   eliminar   un  elemento   del  objeto  ComboBox  debemos   en  primer   lugar   contar   la 

cantidad de items que posee el control, para que se pueda pasar a la propiedad remove 

que eliminará el item del control. Por ultimo se actualiza el ComboBox de manera que se 

visualicen los items disponibles.

PUBLIC SUB ComboBox1_Change()DIM resultado AS Stringresultado = Trim(ComboBox1.Text)'resultado = "<b>" & Trim(ComboBox1.Text) & "</b>"Etiqueta.Text = "Edad: " & resultado & " Fue seleccionada"ENDEl evento  Change  permitirá  mostrar  el   item seleccionado del  ComboBox  en un objeto 

Label (en nuestro caso tiene el nombre Etiqueta).

PUBLIC SUB Button1_Click()FMain.ShowME.CloseENDPor ultimo vamos al  menú  principal (si  existe),  y cerramos la ventana que contiene al 

control.

EJERCICIO:

En función del  ejercicio  anterior,  modifíquelo de manera que  la  edad seleccionada se 

Programación En GAMBAS 2.0.0  10

Page 11: Curso de Gambas Version 3 Con Aplicaciones

muestre en negrita.

TABSTRIP: El control TabStrip implementa un conjunto de pestañas en un solo objeto. Es 

muy   útil   para   manipular   datos   que   involucren   una   secuencia   de   adquisición   de 

información; por ejemplo, cuando se piden datos bancarios de un cliente, proceso que 

implica varios puntos como datos personales, referencias bancarias, etc.

Algunas de sus propiedades son las siguientes:

● Count: Permite definir la cantidad de pestañas que contendrá el control.

● Orientation: Define si las pestañas del control estarán en la parte inferior (Bottom) 

o en la superior (top).

● Picture:  Permite colocar un  icono en  la  pestaña que se este editando en ese 

momento. La imagen a colocar debe tener extensión .png, .jpg, .jpeg, .gif, .xpm

● Text: Permite colocar el nombre a la pestaña que se esta editando.

A   continuación,   vamos   a   crear   un   pequeño   programa   que   nos   permita   ingresar 

información utilizando el control TabStrip. Para ello usaremos 02 pestañas. Llamaremos a 

nuestro TabStrip Contenedor.

El formulario diseñado debe tener el siguiente aspecto:

Programación En GAMBAS 2.0.0  11

Page 12: Curso de Gambas Version 3 Con Aplicaciones

En la segunda pestaña de nuestro control TabStrip, se debe dibujar un TextLabel, el cual 

modificaremos   su   tamaño   de   texto   y   contenido   a   través   de   lineas   de   código   que 

colocaremos en el formulario.

Una vez ingresados los datos, se presiona el botón siguiente de manera que nos lleve a la 

próxima pestaña, el código que debe contener es el siguiente:

PUBLIC SUB Button1_Click()Tabulador.Index = 1END

La propiedad index indica al objeto a que pestaña activará, en este caso la pestaña 1. Las 

pestañas se numeran desde el 0 hasta n.

Adicionalmente, colocaremos el siguiente código en el formulario:

PUBLIC SUB Form_Open()  ME.Center()  TextLabel1.Text = "<h1>" & "GRACIAS POR INGRESAR SUS DATOS" & "</H1>"END

PUBLIC SUB Button2_Click()FMain.ShowME.CloseEND

EJERCICIO:

Diseñe un programa que lea dos cadenas de texto y muestre ambas en mayúsculas y 

negritas, pero con colores diferentes. Utilice el control TabStrip para pedir en una pestañas 

los datos y en otra los resultados.

Programación En GAMBAS 2.0.0  12