0% encontró este documento útil (0 votos)
45 vistas12 páginas

Curso de Programación en Gambas 2.0.0

Este documento describe el uso de diferentes controles en Gambas 2.0.0, incluyendo: ListBox, que muestra una lista de elementos seleccionables; ListView, similar a ListBox pero con capacidad de mostrar iconos; y ComboBox, que despliega una lista desplegable de opciones. Se proveen ejemplos de código para agregar, eliminar y seleccionar elementos en estas listas y mostrar información relacionada.

Cargado por

Javier Colgar
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
45 vistas12 páginas

Curso de Programación en Gambas 2.0.0

Este documento describe el uso de diferentes controles en Gambas 2.0.0, incluyendo: ListBox, que muestra una lista de elementos seleccionables; ListView, similar a ListBox pero con capacidad de mostrar iconos; y ComboBox, que despliega una lista desplegable de opciones. Se proveen ejemplos de código para agregar, eliminar y seleccionar elementos en estas listas y mostrar información relacionada.

Cargado por

Javier Colgar
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

CURSODEGAMBAS2.0.

0
(Nivel2)

Carpano,Marzode2008

ProgramacinEnGAMBAS2.0.0

USODECONTROLESMASCOMUNES
LISTBOX:[Link]
objeto ListBox dibujamoselobjetosobreunformularioeligiendoeltamaoylugarque
ocuparaenfuncindelarrastrequesehagaconelmouse.
Algunasdesuspropiedadessonlassiguientes:

Name:[Link]:MiListaBox.

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


seleccionaritemsdelcontrolono.

Font:PermiteelegireltipoytamaodelafuentequemostraraelListBox.

List: Estapropiedadpermiteagregarungrupodeitemsquesemostraranenel
control.

Mode:Permitecolocarelcontrolendiferentesmodos(single,multiple,none),de
maneraquesepuedaseleccionarunsoloitem(single)ovariosalavez(multiple)

ToolTip:Muestramensajesemergentesalcolocarsesobreelcontrol.

Visible:Aceptavaloresbooleanos(TrueoFalse),paraindiciarsielobjetoestar
visibleonoenelformulario.
Enelsiguienteejemplovamosacrearunprogramaquepermitaingresar,eliminar

[Link]
escribir en la casilla ingrese un dato, este aparezca en la lista del lado derecho.
Adicionalmentealhacerclicsobrecualquieritemdelalistaesteaparezcareflejadoenuna
[Link]
lalista.
Para ello creamos un Proyecto Nuevo en Gambas y dibujamos un formulario con los
controles(01TexBox,01ListBox,04Button,01Label),quesemuestranacontinuacin:

ProgramacinEnGAMBAS2.0.0

[Link]
losobjetoslosdejamosconsusnombrespredefinidos.
Acontinuacinhacemosdobleclicsobreelformularioprincipalycolocamoselsiguiente
cdigo:
[Link]()
Estainstruccinpermitirqueelformularioestecentradoenrelacinconeltamaoy
resolucindenuestromonitor.
Alcomienzodelcdigodelformularioprincipalescribimoslosiguiente:
'Gambasclassfile
PUBLICControlASBoolean
Estavariablepermitircontrolarlavalidacindelacasilladetextoparasabersiestavaca
ono.

EnelButton1(insertarenListBox),coloqueelsiguientecdigo:
PUBLICSUBButton1_Click()
control=TRUE
Validar
IFcontrol=FALSETHENRETURN
[Link]([Link])
[Link]=""
ProgramacinEnGAMBAS2.0.0

[Link]
END
Alpresionarelbotnestevalidaenprimerlugarquelacasilladetextonoestevaca;silo
estaemiteunmensajedeadvertenciaynoagregaeldatoalalista,yaquecambiaelvalor
delavariableControl.

EleventoValidartendrelsiguientecdigo:
PUBLICSUBValidar()
[Link]=""THEN
[Link]("debeescribirunnombre")
[Link]
Control=FALSE
ENDIF
END
EnelButton2(Eliminarunoauno),coloqueelsiguientecdigo:
PUBLICSUBButton2_Click()
[Link](0)
END
[Link]
numero0indicaquedebehacerlohastaelprimeritemdelalista.

EnelButton3(Eliminarseleccionado),coloqueelsiguientecdigo:
PUBLICSUBButton4_Click()
DIMCantidadItemsASInteger
CantidadItems=[Link]
IFCantidadItems>=0THEN
[Link](CantidadItems)
ELSE
[Link]>0ANDCantidadItems=1THEN
[Link]("Debeseleccionaralgo")
ENDIF
ENDIF
END
ElmtodoIndexpermitirconocerlaposicindelitemseleccionadoenlalistademanera
de eliminarlo de la misma. Si no se seleccionada ninguno enva un mensaje de
advertencia.

ProgramacinEnGAMBAS2.0.0

Asmismo,paraqueloanteriorfuncione,sedebercolocarlasiguientecodificacinenel
eventoSelectdelListBox.
PUBLICSUBListaBox_Select()
DIMresultadoASString
resultado=Trim([Link])
[Link]=resultado&"FUESELECCIONADO"
END
EnelButton3(regresar),coloqueelsiguientecdigo:
PUBLICSUBButton3_Click()
[Link]
[Link]
END
Esto nos permitir regresar al formulario principal (en caso que exista) y cerrar el
formularioexistente.
EJERCICIO:
Enbasealejemploanterior,realicelassiguientesmodificaciones:
1. Colocar un mensaje de informacin ([Link]) que indique el numero del
elementoqueseestainsertandoenelListBox.
2. Colocar un mensaje de informacin ([Link]) que indique el numero del
elementoqueseestaeliminandoenel ListBox alpresionarelbotnEliminarel
Seleccionado.
3. Cambiarlapropiedad Font del Button1 demaneraquesecoloqueennegritas
cuandoelmouseseposesobreelbotn.
4. Cambiarelcolordeltextoseleccionadoenlalistayquesemuestreenlaetiqueta.
LISTVIEW: El control ListView muestra una lista de items seleccionables. Es muy
parecidoalcontrol ListBox peroconladiferenciaquepuedenvisualizarseiconosenlos
objetosdelalista.
Algunasdesuspropiedadessonlassiguientes:

Border:Determinasielcontrolutilizaunbordeono.

Editable: Permite editar con un simple click cualquiera de los objetos que se
ProgramacinEnGAMBAS2.0.0

[Link](FALSE).

Mode:Definesiserunalistasimpleomltiple.

Scrollbar: Definesilasbarrasdedesplazamientodelcontrolestarnenlaparte
inferior o del lado derecho, o por el contrario el programa asumir la mejor
alternativadependiendodeltamaodeldato(Both).

Enelsiguienteejemplovamosacrearunprogramaqueutiliceelcontrol ListView para


ingresardatosyquelosmuestreenunaetiquetalabelalhacerclicsobrealgunodeellos.
Eldiseodelformulariodebeserelsiguiente:

Elcdigoaincluirenelformularioeselsiguiente:
PUBLICSUBForm_Open()
DIMPicLinuxASNEWPicture
DIMPicGambasASNEWPicture
[Link]("[Link]")
[Link]("[Link]")
[Link]("listitem1","listitem1",PicLinux)
[Link]=[Link]
ListaView_Click
[Link]()
END
EneleventoOpensecreandosvariablesquecontendrnlasimgenesqueestarnenel
control [Link]

ProgramacinEnGAMBAS2.0.0

[Link].
Luego sehaceunllamadoelevento ListaView_Click elcualmantendractualizadoel
controlpormediodelaspropiedades MoveCurrent,e [Link] paraindicarcuando
sehaseleccionadounitemdelalista.
PUBLICSUBListaView_Click()
[Link]
'[Link]=TRUE
'[Link]=[Link]&sStatus
END
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
[Link]().
PUBLICSUBButton2_Click()
[Link]
[Link](0)
END
Paraagregarunitemalalista,seusaelsiguientecdigo,dondeademssedebeelegirla
imagen que acompaar al item, por medio de la seleccin de uno de los objetos
RadioButtonqueseencuentranenelformulario(dosentotal).
PUBLICSUBButton1_Click()
DIMPicToUseASNEWPicture
[Link]<>NULLTHEN
[Link]
[Link]("[Link]")
ELSE
[Link]("[Link]")
ENDIF
[Link]()
[Link]([Link],[Link],PicToUse)
[Link]=""
sStatus="current."
ListaView_Click
[Link]
ENDIF
END

ProgramacinEnGAMBAS2.0.0

Lossiguienteseventosseutilizanparaactualizaryvisualizarelitemseleccionadoenel
[Link].
Estoseusaparacasosdondedeseleccinmltiple.
PUBLICSUBListaView_Select()
[Link]=[Link]
sStatus="seleccionado."
ListaView_Click
END
PUBLICSUBListaView_Activate()
[Link]=[Link]&"seleccionado"
sStatus="activado."
ListaView_Click
END
EJERCICIO:
Enbasealejercicioanterior,modifquelodemaneraquealseleccionaruntemlocoloque
enlaetiquetaenmaysculas,negritaycentrado;adems,debermostrarunmensaje
([Link])dondetambinmuestreelnombredeltem.
COMBOBOX:ElcontrolComboBoxseutilizaparamostrardatosenuncuadrocombinado
[Link],elcontrolComboBoxapareceendospartes:la
partesuperioresuncuadrodetextoquepermitealusuarioescribirunelementodela
[Link],delos
cualeselusuariopuedeseleccionaruno.
Algunasdesuspropiedadessonlassiguientes:

List:ListadeitemsquesepuedenagregaralComboBox.

Maxlength: Hacereferenciaalamximalongitudqueselepuedeasignaralos
itemsqueseincluirnenelcontrol.

Password: Permitemostraratravsdeunaopcinboleana(TrueoFalse)silos
itemsdelcontrolsemostrarancomocontraseas.

Visible:Permitemostraratravsdeunaopcinboleana(TrueoFalse)sielcontrol

ProgramacinEnGAMBAS2.0.0

estarvisibleono.
PormediodelsiguienteejemplodemostraremoselusodelcontrolComboBox,paraello
crearemosunformularioconelsiguienteaspecto:

Acontinuacin,colocaremoselsiguientecdigoenelformulario:
PUBLICSUBForm_Open()
[Link]
[Link]="EjemplodelUsodelControlComboBox"
[Link]="AgregaunItemalComboBox"
[Link]="EliminaunItemdelComboBox"
END
Cuandoseinicieelformularioprincipalsecentrarelformularioquecontienealobjeto,
adems se colocar el titulo de la ventana activa y los mensajes emergentes de los
botonesdeagregaryeliminardelComboBox.
PUBLICSUBBotonMas_Click()
DIMEntradaASString
Entrada=InputBox("agregarsuedad<b>NoMienta!!</b>:","UsoComboBox","01")
[Link](Entrada)
[Link]
END
ParaagregarunitemalobjetousaremoselcomandoInputBox,previoaellodebemos
crearunavariablequecontendrelvalor introducidoparaluegopasrseloalobjetoy
ProgramacinEnGAMBAS2.0.0

[Link].
PUBLICSUBBotonMenos_Click()
DIMNumItemsASInteger
[Link]
NumItems=[Link]
IFNumItems>0THEN
DECNumItems
IFNumItems<>0THEN
[Link](NumItems)
ENDIF
[Link]
ENDIF
END
Para eliminar un elemento del objeto ComboBox debemos en primer lugar contar la
cantidaddeitemsqueposeeelcontrol,paraquesepuedapasaralapropiedadremove
[Link]
visualicenlositemsdisponibles.
PUBLICSUBComboBox1_Change()
DIMresultadoASString
resultado=Trim([Link])
'resultado="<b>"&Trim([Link])&"</b>"
[Link]="Edad:"&resultado&"Fueseleccionada"
END
El evento Change permitir mostrar el item seleccionado del ComboBox en un objeto
Label(ennuestrocasotieneelnombreEtiqueta).

PUBLICSUBButton1_Click()
[Link]
[Link]
END
Por ultimovamosalmenprincipal(siexiste), ycerramos laventanaquecontieneal
control.
EJERCICIO:
En funcin del ejercicio anterior, modifquelo de manera que la edad seleccionada se

ProgramacinEnGAMBAS2.0.0

10

muestreennegrita.
TABSTRIP:[Link]
muy til para manipular datos que involucren una secuencia de adquisicin de
informacin;porejemplo,cuandosepidendatosbancariosdeuncliente,procesoque
implicavariospuntoscomodatospersonales,referenciasbancarias,etc.
Algunasdesuspropiedadessonlassiguientes:

Count:Permitedefinirlacantidaddepestaasquecontendrelcontrol.

Orientation:Definesilaspestaasdelcontrolestarnenlaparteinferior(Bottom)
oenlasuperior(top).

Picture: Permite colocar un icono en la pestaa que se este editando en ese


[Link],.jpg,.jpeg,.gif,.xpm

Text:Permitecolocarelnombrealapestaaqueseestaeditando.

A continuacin, vamos a crear un pequeo programa que nos permita ingresar


[Link]
nuestroTabStripContenedor.
Elformulariodiseadodebetenerelsiguienteaspecto:

ProgramacinEnGAMBAS2.0.0

11

EnlasegundapestaadenuestrocontrolTabStrip,sedebedibujarunTextLabel,elcual
modificaremos su tamao de texto y contenido a travs de lineas de cdigo que
colocaremosenelformulario.
Unavezingresadoslosdatos,sepresionaelbotnsiguientedemaneraquenoslleveala
prximapestaa,elcdigoquedebecontenereselsiguiente:
PUBLICSUBButton1_Click()
[Link]=1
END
Lapropiedadindexindicaalobjetoaquepestaaactivar,[Link]
pestaassenumerandesdeel0hastan.
Adicionalmente,colocaremoselsiguientecdigoenelformulario:
PUBLICSUBForm_Open()
[Link]()
[Link]="<h1>"&"GRACIASPORINGRESARSUSDATOS"&"</H1>"
END
PUBLICSUBButton2_Click()
[Link]
[Link]
END
EJERCICIO:
Diseeunprogramaqueleadoscadenasdetextoymuestreambasenmaysculasy
negritas,[Link]
losdatosyenotralosresultados.

ProgramacinEnGAMBAS2.0.0

12

Common questions

Con tecnología de IA

Input validation in Gambas is implemented by checking if the text box, used for input, is empty before adding items to the ListBox. A variable 'Control' is set to TRUE initially. During the 'Button1_Click' event, if the validation fails (the text box is empty), a message is shown using 'Message.Info', focus is returned to the text box, and 'Control' is set to FALSE to prevent item addition .

User feedback in Gambas, when trying to remove an unselected item from a ListBox, is provided through a message box. If no item is selected (indicated by an Index of -1), a warning is displayed using 'Message.Info' to inform the user that a selection is required before an item can be removed .

The suggested coding modifications include displaying selected ListBox items in uppercase, bold, and centered. This requires changing the font properties of the selected text dynamically, and using a Label control to reflect these formatting changes when an item is selected .

Gambas handles item removal from a ComboBox by using the 'Remove' method on the index of the item. The visual display update is achieved by calling 'Refresh' on the ComboBox to ensure the list reflects current items, removing the last item if more than zero items remain .

The ListView in Gambas allows for the display of icons next to list items with the use of images loaded into the control. Each item can be associated with an icon by specifying the image type and using the 'Add' method to include both the item and its corresponding icon .

The TabStrip control in Gambas can manage multiple data input steps by organizing them into separate tabs or sections. Each tab represents a step in data acquisition, such as personal or banking information, and users can navigate through these steps using the 'Index' property to activate specific tabs sequentially .

The 'MoveCurrent' method in the ListView control is used to navigate or set the focus on the current item within the list. This method ensures synchronization of the ListView state, possibly after an action like adding a new item, making sure that the current item is appropriately highlighted or activated .

In Gambas, integrating tooltips with control buttons is achieved through the 'ToolTip' property. By setting this property with a string, such as 'Agrega un Item al ComboBox', a helpful info box appears when a user hovers over the button, enhancing user interface interaction .

The ListBox control in Gambas allows for single or multiple item selection using its 'Mode' property, which can be set to 'single', 'multiple', or 'none'. Visibility of the ListBox on a form is controlled by the 'Visible' boolean property, which determines whether the ListBox is seen (True) or hidden (False) on the form .

The ComboBox control in Gambas can display items as password-protected by setting the 'Password' property to True. This property is a boolean that, when enabled, masks the list items as passwords, making them not visible in plain text .

También podría gustarte