UNIDAD III: Funciones de manejo de Datos y Ciclos en Vb6

Ciclos (bucles)
Son estructuras que permiten repetir una o mas instrucciones

un cierto número de

veces hasta que la condición especificada de dicho ciclo deje de cumplirse. Son muy útiles en
programación, ya que se puede utilizar para hacer una acción repetida sin tener que escribir
varias veces un mismo código, lo que lo hace más claro y permite ahorrar tiempo , además de
facilitar

su modificación

o corrección.

Junto con las estructuras de decisión vistas en la unidad II (decisión) comprende la
base de la programación estructurada.
Existen

dos tipos de estructuras

de repetición: aquellas en las que se conoce el

número de repeticiones y aquellas que dicho número se establece en la propia ejecución, es
decir que no se conoce

inicialmente,

sino que se establece

durante

la ejecución

del

programa.

PGR
El ciclo for ejecuta una o mas instrucciones un número definido de veces. Esta estructura se
utiliza cuando se conoce el número de repeticiones

Formato

For intcontador:intvalorinicio

to intValorfinal [step intlncremento]

instrucciones o cuerpo de bucle
Next [intcontador]
ios eíemerïïos o argumentos

intcontador

entre corchetes son dpciosïaíes

es una variable numérica algunas que sirve como contador de las veces que se

ha de ejecutar el ciclo. A dicha variable se le asigna un valor inicial y se indica el valor final o
aquel en el que, una vez superado, el bucle no volverá a repetirse
intvalorinicio

es valor numérico desde donde comenzarán

inicio se modificará

ya

que

la variable

intcontador

las repeticiones,

se incrementará

este valor de

o decrementará
dependiendo del valor intlncremento

especificado en step, sino se especifica esta parte VB

asumirá que intlncremento será de 1
intVaIorfinaI

es el valor numérico (podría ser variable)

que establece el valor final (tope) al

que podrá llegar intcontador. Si el valor de ¡ntcontador es mayor que el valor de intVaIorfinaI
VB detendrá Ia repetición, caso contrario incrementara
en intlncremento.

Si step es positivo se incrementa, en el caso que se especifique negativo

decrementa.

Ejemplo:

For contador

= 1 To 5

List1.AddItem (contador)
next contador

For contador = 2 To 10 Step 2
List1.AddItem (contador)
Next contador

For contador = 10 To 1 step -2
List1.AddItem (contador)
next contador

intcontador con el valor especificado
For anidados
Al igual que las estructuras if, estos pueden anidarse como se especifica a continuación

i Far

Externo

ü 1 Ïu

Susi" Interna

1: to

á
w

Emilia
i

warm?

El piernastw creatina mui;
m.
NEK? EÜKEPÑÜ
«

ÉÜÍÉLEKÍ
«Éïki-Íltf

i

programa

teraine

ei

emntinuará

Emule

%u%ü

externa

Muy utilizado cuando se trabaja con matrices (arrays) en programación, en donde se necesita
recorrer las posiciones de una matriz (filas y columnas al mismo tiempo).

WHÍLE
Es otra estructura de repetición o ciclo,
repetir las instrucciones.

útil cuando no se conoce cuantas veces se debe

Esta repite una o mas instrucciones siempre que la condición del

while sea verdadera, caso contrario no se realiza repetición. La condición debe ser un valor o
una expresión que dé como resultado False (cero) o True (distinto de cero)
Formato
While

condición

Instrucciones o cuerpo de bucle
Wend

Las reglas de funcionamiento de este bucle son las siguientes reglas:
1. La condición se evalúa antes y después de cada ejecución del bucle. Si la condición es
verdadera, se ejecuta el bucle, y si es falsa, el bucle no se ejecuta.
2. Si al evaluar la condición esta resulta falsa cuando se ejecuta el ciclo por primera vez, el
cuerpo del bucle no se ejecutará nunca.
3. Mientras la condiciónsea verdadera el bucle se ejecutará. Esto significaque ei bucle se
ejecutará indefinidamente
(bucle infinito)a menos que algo en el interiordel bucle modifique
la condición
haciendoque su valor pase a falso.
Ejemplo
Private Sub Commandí Clickii
Dim contador A5 Ente er
ejecütag
cüntrüía la Kepa:
._;dadE:a F permita

While contado: <= 10

mientras

Listí-AddItem)icnntadar}

se campía ía acaáició:

caerp:

ciüía

para

dei cuezpc dei bucle

ei veía: de ía varíebíe
este si eantac*r siemgxe ïaíüra
x ias
se zegergïan

_

O

M."

contada: = contador + 1

ias wscrïcüieïes

del bucle

para qae ía ïepetición
Qaeda tezmigars. «
qee catïsía
ía zepecicáúa P " a¿&#39;e. 4
,.
as ¿E515 que ai evaíaaï
&#39;
da Ísrme isfinite

se repetizan

qza ía vaïíabïe

de ccatraí

cambie ás vaíar

y puea

ííegar

a EQ

Wead

É EndSub
La ejecución del código anterior será la siguiente

Noat: La condición de while puede ser de datos tipo carácter (string)
4
Funciones

Predefinidas

en VB

Una función es un subprograma

que recibe como argumentos o parámetros datos de tipo

numérico (Integer, Long, Double), o no numérico (String,

Boolean, Variant), y devuelve un

resultado. Las funciones predefinidas son las están establecidas o preprogramadas en VB, las
cuales se pueden llamar cuando se necesiten utilizando el siguiente formato:

Nombre_de_la_función

(argumento 1, argumento 2,...)

Agumento 1, Argumentoz...

Son datos que pueden ser de tipo Integer, Long, Double, String,

Variant, etc.
El argumento
parámetro.

se conoce en términos

de lenguajes de programación

con el nombre de

Para poder calcular el valor o resultado de Ia función, todo Io que se debe conocer

es el valor o los valores de los argumentos (los datos que se le da a la función para que
devuelve el resultado o respuesta).

Algunas funciones de Visual Basic
Función

Matemática

Función

en VB

Función

Matemática

Función

en VB

Valor absoluto

Aïasm

N? aleatorio

Rnd

Arco tangente

Atom

Seno y coseno

Siam, C0500

Exponencial
Parte entera

Expix}
Enïm, Fix(x)

Tangente
Raíz cuadrada

Taam)
Sqx)

Logaritmo

Logot)

Signo {L D, ÏL}

592104)

Reoïondeo

Roundbc, ndec)

*Algunas funciones requieren de 1 parámetro otras de 2 o más, para determinarlo es necesario investigar
cuales son las funciones

predefinidas

y ver su formato

Ejemplos
Función utiliza un es devuelve
Round para número, el más
Se
redondear decir, entero
próximo al argumento.
Su formato es:

Round(X, [ndec])
x: Es cualquier expresión que puede ser evaluada, como un número. Esta puede ser una
variable, el valor de una caja de texto, etc.
ndec: Es opcional. Indica cuantos lugares a la derecha del decimal se incluye en el redondeo.
Si se omite, la función Round devuelve un número entero.

Ejemplo:

Otras

MsgBox (Round(5.5))

Üszo%vera ¿el
en msgboxel atunero133¿ïdüfïïïíáïïíüS

funciones

Abs(x) calcula el valor absoluto de un argumento
Ejemplo : Abs(-5) = 5
En este caso el argumento es -5 y el resultado de la función es 5.

Sin(x)

calcula el c seno de un argumento

de tipo Double o cualquier expresión numérica

válida que expresa un ángulo en radianes

Ejemplo
Dim MiAngulo, MiSeno
MiAngulo = 1.4 Expresado en radianes.
MiSeno = Sin(MiAngulo) Devuelve O.98544972998848 radianes.
MsgBox(MiSeno) Muestra el resultado en un cuadro de mensaje.
Para expresar el resultado en grado, multiplique el ángulo por el cociente que resulta de dividir
el valor

del PI entre

180..

Ejemplo

Dim MiAngulo, MiSeno
MiAngulo = 3 * (3.141592 / 180) Multiptica el ángulo :3por pí/ÍSO.
MiSeno = Sin(MiAngulo) Üevuetve 5.23359453847093E«G2en grados.
Muestra el seno en un cuadro de mensaje. Redondearmospara eliminar la notación científica,
MsgBox (Round(MiSeno, 14)) Muestra 0.0523359454.

Funcion Emu
Los cuadros o cajas de mensaje ofrecen un modo simple y rápido de consultar a los usuarios
información simple o para permitirles tomar decisiones sobre el camino que su programa debe
tomar. Puede usar esta función para mostrar diferentes tipos de mensaje y botones con los cuales
el usuario da una respuesta
Formato:

[intRespuesta=]

MsgBox (strMensaje

[,intEstilo]

[,strTitulo]

tios eíementos o argumentos
intRespuesta

)

entre corchetes son opcionaíes

indica el tipo de dato que devuelve la función

strMensaje es cadena o variable que contiene una cadena (texto) que se muestra en cuadro de

mensaje

intEstilotipo que enmsgbox, (imagen)
especifica aparecenasi el
de
botón el
como
ícono yotras
características que determinan el comportamiento de la caja de mensaje
strTitulo permite establecer el texto que aparece en la Barra de titulo del cuadro de mensaje

Se pueden utilizar nombre de constantes

(ver Tabla 1) para especificar los botones que contendrá

Msgbox()
Ejemplo
Rpta

= MsgBox("¿Está
vbQuEstion

Tabla1. Constantes

+

segura

VbYesNo,

para especificar

Constante con nombre
VbOKonIy
VbOKCanceI

VbAbortRet
Inore
VbYesNoCanceI
VbYesNo
VbRetryCanceI

de eliminar

a este

c1iente?,

Canfirmación)

los botones

de un Msgbox

Descripción
Muestra solamente el botón aceptar.
Botones

Ace tar

Cancelar.

Botones Anular, Reintentar e Inorar
Botones Si No y Cancelar.
Botones Sí y No
Botones Reintentar y Cancelar

En el siguiente ejemplo, no se especifico el titulo de caja de texto por tanto vb por defecto coloca el
nombre del proyecto (Ver figura 1). Así mismo, los botones que aparecen son el de Aceptar y Cancelar
utilizando para ello la constante VbOKCanceI.

Recuerde que esto depende de lo que requiera el

programa.

Figura de
1.
Ejemplo
Msgbo
Codigo del Ejemplo
Si desea especificar (programar) las acciones de cada botón del msgbox puede utilizar una sentencia
if en el caso que sean 2 botones, como la mostrada a continuación:

If intRespuesta=0 then
Aquí va el código (instrucciones) del botón Aceptar
Else

Aquí va el código del botón Cancelar
End

if

Si son mas de 2 botones

podría utilizar

Select Case

Nota: En caso, de tener en caja de mensaje más de dos botones, podría utilizar instrucciones elseif o
Select Case, ya vistas en clase

Tabla 2. Valores que puede devolver

msgbox

para especificar

que botón selecciono

WWWWJ
a
.2

.s . .
zzïcïa
naval

Ei

3a

EE ¿a

s4

5

wüíj-g
nara:

e

vans

him ¿(Eiza 53132551E,"
rm
¡eshim 5353¬
¿a

íïiéffï

i

el usuario

Witt? 1V
,

mulas: minimizar
am

EE
Et

. .v

, 1V Ü
._

Elm actas: {guarras
¡ua
him clik: en

te»

, l

Si
K313i?! mïifl
losmimi-es, utiliza: avatar
un
Infanta" mas
to
sraríahrle}
enel pt-imer
argmïmmu
Exp-salarial,
ma espatzirmïmila k lacra.
el
Sisln Play
un
man,el «salu1: devuelva esdegran
que
no
Ímlïaïllï Sihaymás ü unbmnik anulando.
el valor sedevuelva
magias
cmmáxun
botón
¡terminando se
donde
nm) ¿HetPuede131353.3; Enfnnnaciñn um
en

I! t: ¿alert Gauss
pamejmïxar

¡mn E232;42minutoscódigo aumentamos s; hattmczi.
de dns
¡las
que
a;
um im

Predeterminar

el Botón de Comando de un Msgbox

El primer botón del extremo izquierdo

en una caja de mensaje es el que vb especifica

predeterminado, allí se ubica el enfoque lo que indica que ese es el botón seIeccionado.(Ver

¿lista para.imprimir?

como

figura 2)
Figura 2. Ejemplo

de botón predeterminado

en Msgbox

Es posible cambiar el enfoque si utiliza los valores de Ia tabla 3 de cada botón (ver figura 3)

Tabla 3. Valores de cada botón para establecer

Valor

Constante

el predeterminado

con Nombre

Descripción

0
256

vbDefauItButton1
vbDefauItButton2

[

EI primerbotónes el predeterminado I
EI segundobotónes el predeterminado I

512

vbDefauItButton3 [

EItercerbotónes el predeterminado I

Ejemplo

Dim resp As Integer
resp = MsgBox("¿Iisto para imprimir?", vbOKCanceI + vbDefauItButton2)
End Sub

¿. ¿listsparaimprimir?

Wiceptar
*
Figura 3. Predeterminando

Especificar

el segundo

botón de Msgbox

un ícono o imagen para el Msgbox

Este es otro de los argumentos opcionales que se pueden incluir en un msgbox, para ello
como en el caso anterior se especifica Ia constante para cada ícono disponible.

Tabla 4. Valores de cada botón para establecer
Constante

16

con Nombre

el ícono que se mostrará

Descripción

vbCriticaI

Mensaje Crítico

vbQuestion

Mensaje tipo Pregunta

48

vbExcIamation

Mensaje Advertencia

64

vblnformation

Mensaje

Ejemplo

Información

en Msgbox
Dim resp As Integer
resp = MsgBox("¿Iisto para imprimir?", vbOKCanceI + vbQuestion, "Caja de Pregunta")
End Sub

¿listo para imprimir?

Cancelar

Figura 4. Ejemplo

i

de uso de íconos en Msgbox

Función lnputBexü
Función que muestra una caja para ingresar datos numéricos o tipo texto. Los botones que
aparecen en Inputbox no pueden configurarse como con Msgbox, ni tampoco los íconos. Por
tanto, siempre los botones disponibles serán Aceptar y Cancelar
Formato:

varRespuesta=Inputbox(strMensaje

[, strTitulo]

[,varpredeterminado]

¿es eiemenïos e argumentos

Esta función devuelve un valor de tipo Variant

[,intposx]

[,intposy]

)

entre corchetes son opcionales

el cual permite asignar a una propiedad del

control el valor devuelto si lo desea, siendo el valor devuelto el dato ingresado por el usuario
en el cuadro

strMensaje
strTitulo

de entrada.

es el texto que se mostrará en el inputbox () puede tener máximo 1024 caracteres

Es el texto que se visualizará en la barra de titulo del inputbox

varPredeterminado

valor que aparecerá de forma predeterminada

en el cuadro de texto, el

cual podrá ser modificado por el usuario si lo desea.
Intposx,intposy

establece las coordenadas en *twips que indican la posición en donde se

visualizarala de
el enventana
inputbox formulario.
*Twip pulgadas
=
1/1440ó cm
1/567
ïituludellngutBux

Guardm de texte

paraegl
ingresa
de
datos

Figura 5. Elementos de un inputbox

Otro ejemplo usando todos los argumentos
Código
strRespuesta = InputBox("¿CuáI es el Nombre?", "Ingresar Nombre Cliente", "Claudia López", 500, 750)

¿uálesk,
Núrbre?
_r-

.. mía ,,

Figura 6. Ejemplo de un inputbox estableciendo

todos los argumentos

Si desea especificar (programar) las acciones de cada botón del msgbox puede utilizar una sentencia
if como

Ia mostrada

If varRespuesta<>

a continuación:

then

Aquí va el código (instrucciones)

del botón Aceptar

Else

Aquí va el código del botón Cancelar
End

if
EI cuadro

11

de texto

devuelve

valores

Variant
Ejemplo
Sumatoria de
de serie
una datos
Private Sub Command1_CIick()
Dim num As Integer
Dim suma As Integer
Dim contador As Integer
suma = 0
contador

= 1

varRespuesta

= InputBox("¿cuantos

If varRespuesta

<>

numeros va a ingresar&#39;?",
"Ingresar Cantidad de Datos")

Then

While contador <= varRespuesta
num = InputBox("Ingrese

Numeros", "Ingresar Datos")

List1.AddItem (num)
suma = suma
contador

+ num

= contador

+ 1

Wend
Text1.Text

= suma

End If
End Sub

¿cuantos
numero a Ingresar?
va

Figura 7. Ejecución

del código

del ejemplo

sumar una serie de datos
UNIDAD

IV: Controles

Avanzados

en VB

I ListBox (cajasde lista)
Una ListBox es un control en el que se pueden tomar varios
registros de lineas, teniendo uno o varios de ellos seleccionado. Si
en la lista hay más registros de los que se pueden mostrar al mismo
tiempo, se añade automáticamente una barra de desplazamiento.

l

Load de los formularios,

de tal manera, las listas obtienen sus

elementos antes de que la aplicación cargue totalmente. También,
puede especificar los elementos de la ListBox en modo de diseño

El de puedeeven
contenido el
una inicializa
ListBox
desde
Ï

mediante propiedad desdela ventana propiedades
la
List
de

PROPIEDADES
PROPIEDAD

List

DESCRIPCION

Esta propiedad es utilizada para agregar elementos o registros al ListBox en modo de
diseño. En modo de ejecución esta propiedad es utilizada para leer cada uno de los
elementos

l

del ListBox.

Devuelve
oestablecevalor indica elusuario seleccionar
un
que
si
podrá
más de un elemento en el ListBox. Puede tomar los siguientes valores:
0 None: Valor predeterminado. No permite seleccionar más de un elemento.
1 - Simple: Selección múltiple simple. Al hacer clic con el Mouse o presionar la BARRA
ESPACIADORA se selecciona o se desactiva un elemento de la lista. (Las teclas de

Multiselect

direccióndesplazanel enfoque.)

2 Extended:
Selección
múltiple
extendida. presionar
Al
MAYÚS hacer
y
clic, o al presionar
MAYÚS una de las teclasde dirección
y
(FLECHA
ARRIBA,
FLECHA
ABAJO, FLECHA IZQUIERDA o FLECHA DERECHA) se extiende la selección desde el
elemento seleccionado anteriormente hasta el elemento actual. Al presionar CTRL y hacer
clic con el Mouse
selecciona

se

o desactiva

un elemento

de la lista.

Establece un valor que indica si los elementos de un ListBox aparecen ordenados
alfabéticamente.

Sorted

Puede tomar los valores True o False (Valor por defecto). Cuando es True

los elementos aparecerán ordenados alfabéticamente, y solo lo podrá apreciar los
resultados en modo de ejecución. Cuando es False los elementos se muestran tal y como
se introducen

en el ListBox.

Al establecer el valor True en la propiedad Sorted posiblemente se cambie el orden en que
introduce

los elementos.
verificación junto a cada elemento de texto. Es posible seleccionar múltiples elementos del
ListBox si activa la casilla de verificación que hay junto a ellos
EVENTOS

SOBRE

LAS LISTBOX

Evento

DESCRIPCION

Uno de los métodos más importante de una ListBox. Este es utilizado para agregar
registros o elementos a una ListBox en modo de ejecución.
Su formato

es:

Objeto.Addltem Elemento, [Posición]
Donde:

Additem

Objeto: Requerido. Indica el nombre de la ListBox, es decir, el valor indicado en la
propiedad Name.
Elemento: Requerido. Una expresión de cadena que especifica el elemento que se va a
agregar al objeto.
Posición: Opcional. Un entero que especifica la posición dentro del objeto donde se insertan
el elemento

o la fila nuevos

Este método es utilizado para eliminar un elemento o registro del ListBox.
Su formato

es:

Objeto.Removeltem (Posición)
Donde:

Removeitem

Objeto: Requerido. Una cadena de caracteres que indica el nombre del control ListBox.
Posición: Requerido. Un valor numérico que indica la posición del elemento que se desea
borrar. La posición del primer elemento de un control ListBox esta representada por el
valor 0. Podrá utilizar el método Listlndex para determinar la posición del elemento
seleccionado.
Este método

Clear

borra todos

los elementos

del control

ListBox.

Su formato

es bastante

sencillo, solo se debe especificar el nombre del control ListBox seguido del método Clear.

Ejemplo:

List1.Clear

Elimina

todo el contenido

del ListBox,

Devuelve un valor numérico que indica la cantidad de elemento que contiene la ListBox.
Este método es muy utilizado para leer todo el contenido de un control ListBox. Para esto
se debe combinar

con un bucle for o while.

Su formato

es similar

al del método

anterior:

Listt .L¡stCou nt.

Ejemplo

1:

Muestra en un cuadro de mensaje la cantidad de elementos de una ListBox.

Listcou nt

MsgBox(List1
.ListCou
nt)
Ejemplo 2:
Pasa todos

ios eiementos

cie una ListBox

a otra ListBox.

Dim i As Long
inicia un bucle que se repite según la caraticiaci elementos dei la ListBox.
de
For i = O To Llst1.LlstCount 1 Restamos i porque una ListBox comienza desde O.
List2.Add|tem List1.List(i) Agregarme cada elemento de la primera Lista a la segurlda Lista.
Next i

Devuelve un valor numérico que indica la posición del elemento seleccionado dentro del
control

Ejemplo

Iistindex

ListBox.

1:

Muestra en un cuadro de mensaje la posición del elemento seleccionado.
MsgBox(List1.ListIndex)
Ejemplo 2:
Muestra en un cuadro de mensaje el texto del eiemenic seleccionado.

MsgBox(List1.List(List1.ListIndex))
se|count

Devuelve un valor numérico que indica la cantidad de elementos seleccionados en una
14
ListBox. Esta propiedad es muy útil cuando un control ListBox permite seleccionar varios
elementos a la vez. El valor devuelto por esta función se puede utilizar conjuntamente con
un bucle para leer únicamente la cantidad de elementos seleccionados en una ListBox. Su
formato

es similar

al del método

ListCount.

Devuelve o establece un valor lógico (True o False) que indica si un elemento
esta o estará seleccionado.
Su formato
es:

Objeto.selected(lndice) = [True/False]

Donde:
Objeto: de ListBox.
Esnombre
el
la

select

Indice: Indica la posición del elemento en la ListBox.
True/False: Valores que devuelve el método. True indica que elemento
está seleccionado. False indica que elemento no está
seleccionado.

Ejercicios

prácticos

Aplicación muestra como agregar nombre de
países a una ListBox. También permite eliminar
un país seleccionado.

, ,

Inserte controles segun imagen

i ¡¡ ¡g ¡¡:-

e

i V. ¿

LIS122iSiIIiiiííiliijiíi_ai;.e|3 Commar
ÏÏI"

::.::&#39;:*:&#39;::.::"::"i::&#39;:::::L
&#39;&#39;
&#39;&#39;
&#39;&#39;
&#39;&#39; Commam;
&#39;
&#39;
&#39;

Form

i

Tfhiljill]tl(l con czljasde listas
2

Label l

i

l

(Ïïentrfácrieen
True

Introduzca el ¡Jilísí

Modifiquelas propiedades cada control según
de

L

Armr N¿,¡«nm¡_
¡a

la tabla
"Taxt l

[Tizimrnzmtil

W
i

Lab: 12

Ï

cmdsïkgrcegarPais
gn:gm"
True

Lista de pz-iíscs:

Taxi"?

e

ixiTnláilPziises
Cur11rm1nd2 =

ÏÍ

COÍHIÏIHYKÏÉ

i
i

cmdlíliltiinzir
zzliliminar

j

K

¿

cmdBiarrarLista

&Borrarlista

Dentro dei evento Click dei botón Agregar escriba

Verifica si ia caia de texte se deja vacía.
If Len(Trim(txtPai3.Text))

m 0 Then

MsgBox ("Introduzca el ¡"lumbrede un país en la cajaf)
txtPaisetFocus
Else

Si ia caja.tiene aigún pais.
lstPaiseeAddltem txtPaiaText Agregue ei paie.
txtPais.Text m
txtPaisSetFocus

Limpia ia caja de texte.
Hace que ia caja reciba ei animate.

Pene ei nïimem de países agregadas en ia caja de lista.
txtTotalPaiseaText

m lstPaisesiistcourït

En casa de que üüurra un «Errarai eiiiïiinai un elemento de ia iisia.

On Error ResumeNext
IstPaisesHemoveItem
txtTotaiPaiseaText

(IstPaisesListIndex)

m IstPaisesListC-ount

Barra ei eierïierïte Seiecaíüiïadm,
Amtuaiiza ei icztai de paises.

,................
....................................................
m..................................................
....................................................
....................................................
.....................................................
..........................¡
Elimina

tada

ei contenida

del Listiïtïzx.

lstPaisesïlear
txtTotalPaisesTc-z-xt m IstPaisesListCount

Un ComboBox

Asïstuaiiza tetai de paises.
ei

no tiene

muchas

diferencias

en relación

con

un control

ListBox. La diferencia que existe entre ambos contro/es es que un
16
ComboBox oculta la lista de elementos y solo se muestra cuando se hace clic en el botón
flecha abajo que contiene el control, mientras que el control ListBox muestra la lista de
elementos

sin ocultarla

Otra de la diferencia principal es que un ComboBox tiene una propiedad llamada Style, que
puede adoptar tres valores (1, 2 ó 3) que corresponden con tres distintas formas de presentar
una lista:

1.) 0- DropDownCombo:
Éstees el valormás habitual corresponde el casoen el que
y
con
sólo se muestra el registro seleccionado, que es editable por el usuario, permaneciendo el
resto de los elementos oculto hasta que el usuario despliega la lista completa haciendo clic
sobre el botón flecha abajo

2.) 1- Simple Combo: En este caso el registro seleccionado también es editable, y se
muestra una lista no desplegable dotada si es necesario de una ScrollBar.
3.) 2- DropDown List: En este último caso el registro seleccionado no es editable y la lista es
desplegable.
A pesar de estas dos grandes diferencias, existen muchas relaciones con respecto a los
métodos y las propiedades entre ambos contro/es. Por ejemplo los métodos Addltem,
Removeltem o Clear y las propiedades List, Listlndex o ListCount.
La propiedad Text corresponde con lo que aparece en el área de edición del ComboBox que
es por Io general el primer elemento de la lista desplegable
Ejemplo práctico
Realice el siguiente formulario

Seleccione-un delïialñïirt- 3 .
mira-sem
«

Haz doble clic en formulario y especifica el evento Load

Dentro del evento escribe el siguiente código y ejecútalo
17

A
«
"Muestra los números l al 3C!en la caia combinada.
Dim ¡As Integer
For i m 1 To 30 inicia

un bucle

del t al 30.

Combm Addllem i Agrega et níxmeto actual al Comboüox.
Nexti

Otros

Controles

Un control Timer
puede ejecutar código a intervalos periódicos produciendo un evento
Timer, que ocurre cuando ha transcurrido un Intervalo preestablecido para un control Timer.
La frecuencia del intervalo se almacena en la propiedad Interval del control que especifica el
tiempo en milisegundos.
Propiedades

del control tiempo

De todas las propiedades de un control tiempo las mas importantes son Enabled para
habilitar o deshabilitar el control y la propiedad Interval para especificar el intervalo de tiempo
en que el control realizará el evento

Para representar los segundos en milisegundos solo debe multiplicar la cantidad de segundos por mil. Por
ejemplo, 2 segundos sería 2 x 1000 = 2000 milisegundos, un minuto sería 60 * 1000 = 60000 milisegundos, así
sucesivamente

Ejercicio Práctico
El siguiente ejercicio consiste en una aplicación que muestra un reloj digital en una ventana

Inserte una etiqueta como en la imagen con color de fondo verde
Inserte en cualquier parte del formulario un control Timer
Aplique

los siguientes

valores

18
&#39;

RH]Üj digi [al
ZÏ-CÏBIHQAFSCÏÜQH

l.

Fixed Singlü

(ZIÜ:()Ü:()(}
Verde
l
Arial,

Fixed Single:
NÉQFÏHL

Blanco

í
Éünerïïms ¿ahíïiïa m: la aïáïgueta.
LabeH Baption m Formatime, "HHMMSS

I ÜÜÜ

AMPM")

19

Guiaunidad iii

  • 1.
    UNIDAD III: Funcionesde manejo de Datos y Ciclos en Vb6 Ciclos (bucles) Son estructuras que permiten repetir una o mas instrucciones un cierto número de veces hasta que la condición especificada de dicho ciclo deje de cumplirse. Son muy útiles en programación, ya que se puede utilizar para hacer una acción repetida sin tener que escribir varias veces un mismo código, lo que lo hace más claro y permite ahorrar tiempo , además de facilitar su modificación o corrección. Junto con las estructuras de decisión vistas en la unidad II (decisión) comprende la base de la programación estructurada. Existen dos tipos de estructuras de repetición: aquellas en las que se conoce el número de repeticiones y aquellas que dicho número se establece en la propia ejecución, es decir que no se conoce inicialmente, sino que se establece durante la ejecución del programa. PGR El ciclo for ejecuta una o mas instrucciones un número definido de veces. Esta estructura se utiliza cuando se conoce el número de repeticiones Formato For intcontador:intvalorinicio to intValorfinal [step intlncremento] instrucciones o cuerpo de bucle Next [intcontador] ios eíemerïïos o argumentos intcontador entre corchetes son dpciosïaíes es una variable numérica algunas que sirve como contador de las veces que se ha de ejecutar el ciclo. A dicha variable se le asigna un valor inicial y se indica el valor final o aquel en el que, una vez superado, el bucle no volverá a repetirse intvalorinicio es valor numérico desde donde comenzarán inicio se modificará ya que la variable intcontador las repeticiones, se incrementará este valor de o decrementará
  • 2.
    dependiendo del valorintlncremento especificado en step, sino se especifica esta parte VB asumirá que intlncremento será de 1 intVaIorfinaI es el valor numérico (podría ser variable) que establece el valor final (tope) al que podrá llegar intcontador. Si el valor de ¡ntcontador es mayor que el valor de intVaIorfinaI VB detendrá Ia repetición, caso contrario incrementara en intlncremento. Si step es positivo se incrementa, en el caso que se especifique negativo decrementa. Ejemplo: For contador = 1 To 5 List1.AddItem (contador) next contador For contador = 2 To 10 Step 2 List1.AddItem (contador) Next contador For contador = 10 To 1 step -2 List1.AddItem (contador) next contador intcontador con el valor especificado
  • 3.
    For anidados Al igualque las estructuras if, estos pueden anidarse como se especifica a continuación i Far Externo ü 1 Ïu Susi" Interna 1: to á w Emilia i warm? El piernastw creatina mui; m. NEK? EÜKEPÑÜ « ÉÜÍÉLEKÍ «Éïki-Íltf i programa teraine ei emntinuará Emule %u%ü externa Muy utilizado cuando se trabaja con matrices (arrays) en programación, en donde se necesita recorrer las posiciones de una matriz (filas y columnas al mismo tiempo). WHÍLE Es otra estructura de repetición o ciclo, repetir las instrucciones. útil cuando no se conoce cuantas veces se debe Esta repite una o mas instrucciones siempre que la condición del while sea verdadera, caso contrario no se realiza repetición. La condición debe ser un valor o una expresión que dé como resultado False (cero) o True (distinto de cero) Formato While condición Instrucciones o cuerpo de bucle Wend Las reglas de funcionamiento de este bucle son las siguientes reglas: 1. La condición se evalúa antes y después de cada ejecución del bucle. Si la condición es verdadera, se ejecuta el bucle, y si es falsa, el bucle no se ejecuta. 2. Si al evaluar la condición esta resulta falsa cuando se ejecuta el ciclo por primera vez, el cuerpo del bucle no se ejecutará nunca.
  • 4.
    3. Mientras lacondiciónsea verdadera el bucle se ejecutará. Esto significaque ei bucle se ejecutará indefinidamente (bucle infinito)a menos que algo en el interiordel bucle modifique la condición haciendoque su valor pase a falso. Ejemplo Private Sub Commandí Clickii Dim contador A5 Ente er ejecütag cüntrüía la Kepa: ._;dadE:a F permita While contado: <= 10 mientras Listí-AddItem)icnntadar} se campía ía acaáició: caerp: ciüía para dei cuezpc dei bucle ei veía: de ía varíebíe este si eantac*r siemgxe ïaíüra x ias se zegergïan _ O M." contada: = contador + 1 ias wscrïcüieïes del bucle para qae ía ïepetición Qaeda tezmigars. « qee catïsía ía zepecicáúa P " a¿&#39;e. 4 ,. as ¿E515 que ai evaíaaï &#39; da Ísrme isfinite se repetizan qza ía vaïíabïe de ccatraí cambie ás vaíar y puea ííegar a EQ Wead É EndSub La ejecución del código anterior será la siguiente Noat: La condición de while puede ser de datos tipo carácter (string) 4
  • 5.
    Funciones Predefinidas en VB Una funciónes un subprograma que recibe como argumentos o parámetros datos de tipo numérico (Integer, Long, Double), o no numérico (String, Boolean, Variant), y devuelve un resultado. Las funciones predefinidas son las están establecidas o preprogramadas en VB, las cuales se pueden llamar cuando se necesiten utilizando el siguiente formato: Nombre_de_la_función (argumento 1, argumento 2,...) Agumento 1, Argumentoz... Son datos que pueden ser de tipo Integer, Long, Double, String, Variant, etc. El argumento parámetro. se conoce en términos de lenguajes de programación con el nombre de Para poder calcular el valor o resultado de Ia función, todo Io que se debe conocer es el valor o los valores de los argumentos (los datos que se le da a la función para que devuelve el resultado o respuesta). Algunas funciones de Visual Basic Función Matemática Función en VB Función Matemática Función en VB Valor absoluto Aïasm N? aleatorio Rnd Arco tangente Atom Seno y coseno Siam, C0500 Exponencial Parte entera Expix} Enïm, Fix(x) Tangente Raíz cuadrada Taam) Sqx) Logaritmo Logot) Signo {L D, ÏL} 592104) Reoïondeo Roundbc, ndec) *Algunas funciones requieren de 1 parámetro otras de 2 o más, para determinarlo es necesario investigar cuales son las funciones predefinidas y ver su formato Ejemplos Función utiliza un es devuelve Round para número, el más Se redondear decir, entero próximo al argumento. Su formato es: Round(X, [ndec])
  • 6.
    x: Es cualquierexpresión que puede ser evaluada, como un número. Esta puede ser una variable, el valor de una caja de texto, etc. ndec: Es opcional. Indica cuantos lugares a la derecha del decimal se incluye en el redondeo. Si se omite, la función Round devuelve un número entero. Ejemplo: Otras MsgBox (Round(5.5)) Üszo%vera ¿el en msgboxel atunero133¿ïdüfïïïíáïïíüS funciones Abs(x) calcula el valor absoluto de un argumento Ejemplo : Abs(-5) = 5 En este caso el argumento es -5 y el resultado de la función es 5. Sin(x) calcula el c seno de un argumento de tipo Double o cualquier expresión numérica válida que expresa un ángulo en radianes Ejemplo Dim MiAngulo, MiSeno MiAngulo = 1.4 Expresado en radianes. MiSeno = Sin(MiAngulo) Devuelve O.98544972998848 radianes. MsgBox(MiSeno) Muestra el resultado en un cuadro de mensaje. Para expresar el resultado en grado, multiplique el ángulo por el cociente que resulta de dividir el valor del PI entre 180.. Ejemplo Dim MiAngulo, MiSeno MiAngulo = 3 * (3.141592 / 180) Multiptica el ángulo :3por pí/ÍSO. MiSeno = Sin(MiAngulo) Üevuetve 5.23359453847093E«G2en grados. Muestra el seno en un cuadro de mensaje. Redondearmospara eliminar la notación científica, MsgBox (Round(MiSeno, 14)) Muestra 0.0523359454. Funcion Emu Los cuadros o cajas de mensaje ofrecen un modo simple y rápido de consultar a los usuarios información simple o para permitirles tomar decisiones sobre el camino que su programa debe tomar. Puede usar esta función para mostrar diferentes tipos de mensaje y botones con los cuales el usuario da una respuesta
  • 7.
    Formato: [intRespuesta=] MsgBox (strMensaje [,intEstilo] [,strTitulo] tios eíementoso argumentos intRespuesta ) entre corchetes son opcionaíes indica el tipo de dato que devuelve la función strMensaje es cadena o variable que contiene una cadena (texto) que se muestra en cuadro de mensaje intEstilotipo que enmsgbox, (imagen) especifica aparecenasi el de botón el como ícono yotras características que determinan el comportamiento de la caja de mensaje strTitulo permite establecer el texto que aparece en la Barra de titulo del cuadro de mensaje Se pueden utilizar nombre de constantes (ver Tabla 1) para especificar los botones que contendrá Msgbox() Ejemplo Rpta = MsgBox("¿Está vbQuEstion Tabla1. Constantes + segura VbYesNo, para especificar Constante con nombre VbOKonIy VbOKCanceI VbAbortRet Inore VbYesNoCanceI VbYesNo VbRetryCanceI de eliminar a este c1iente?, Canfirmación) los botones de un Msgbox Descripción Muestra solamente el botón aceptar. Botones Ace tar Cancelar. Botones Anular, Reintentar e Inorar Botones Si No y Cancelar. Botones Sí y No Botones Reintentar y Cancelar En el siguiente ejemplo, no se especifico el titulo de caja de texto por tanto vb por defecto coloca el nombre del proyecto (Ver figura 1). Así mismo, los botones que aparecen son el de Aceptar y Cancelar utilizando para ello la constante VbOKCanceI. Recuerde que esto depende de lo que requiera el programa. Figura de 1. Ejemplo Msgbo Codigo del Ejemplo
  • 8.
    Si desea especificar(programar) las acciones de cada botón del msgbox puede utilizar una sentencia if en el caso que sean 2 botones, como la mostrada a continuación: If intRespuesta=0 then Aquí va el código (instrucciones) del botón Aceptar Else Aquí va el código del botón Cancelar End if Si son mas de 2 botones podría utilizar Select Case Nota: En caso, de tener en caja de mensaje más de dos botones, podría utilizar instrucciones elseif o Select Case, ya vistas en clase Tabla 2. Valores que puede devolver msgbox para especificar que botón selecciono WWWWJ a .2 .s . . zzïcïa naval Ei 3a EE ¿a s4 5 wüíj-g nara: e vans him ¿(Eiza 53132551E," rm ¡eshim 5353¬ ¿a íïiéffï i el usuario Witt? 1V , mulas: minimizar am EE Et . .v , 1V Ü ._ Elm actas: {guarras ¡ua him clik: en te» , l Si K313i?! mïifl losmimi-es, utiliza: avatar un Infanta" mas to sraríahrle} enel pt-imer argmïmmu Exp-salarial, ma espatzirmïmila k lacra. el Sisln Play un man,el «salu1: devuelva esdegran que no Ímlïaïllï Sihaymás ü unbmnik anulando. el valor sedevuelva magias cmmáxun botón ¡terminando se donde nm) ¿HetPuede131353.3; Enfnnnaciñn um en I! t: ¿alert Gauss pamejmïxar ¡mn E232;42minutoscódigo aumentamos s; hattmczi. de dns ¡las que a; um im Predeterminar el Botón de Comando de un Msgbox El primer botón del extremo izquierdo en una caja de mensaje es el que vb especifica predeterminado, allí se ubica el enfoque lo que indica que ese es el botón seIeccionado.(Ver ¿lista para.imprimir? como figura 2)
  • 9.
    Figura 2. Ejemplo debotón predeterminado en Msgbox Es posible cambiar el enfoque si utiliza los valores de Ia tabla 3 de cada botón (ver figura 3) Tabla 3. Valores de cada botón para establecer Valor Constante el predeterminado con Nombre Descripción 0 256 vbDefauItButton1 vbDefauItButton2 [ EI primerbotónes el predeterminado I EI segundobotónes el predeterminado I 512 vbDefauItButton3 [ EItercerbotónes el predeterminado I Ejemplo Dim resp As Integer resp = MsgBox("¿Iisto para imprimir?", vbOKCanceI + vbDefauItButton2) End Sub ¿. ¿listsparaimprimir? Wiceptar * Figura 3. Predeterminando Especificar el segundo botón de Msgbox un ícono o imagen para el Msgbox Este es otro de los argumentos opcionales que se pueden incluir en un msgbox, para ello como en el caso anterior se especifica Ia constante para cada ícono disponible. Tabla 4. Valores de cada botón para establecer Constante 16 con Nombre el ícono que se mostrará Descripción vbCriticaI Mensaje Crítico vbQuestion Mensaje tipo Pregunta 48 vbExcIamation Mensaje Advertencia 64 vblnformation Mensaje Ejemplo Información en Msgbox
  • 10.
    Dim resp AsInteger resp = MsgBox("¿Iisto para imprimir?", vbOKCanceI + vbQuestion, "Caja de Pregunta") End Sub ¿listo para imprimir? Cancelar Figura 4. Ejemplo i de uso de íconos en Msgbox Función lnputBexü Función que muestra una caja para ingresar datos numéricos o tipo texto. Los botones que aparecen en Inputbox no pueden configurarse como con Msgbox, ni tampoco los íconos. Por tanto, siempre los botones disponibles serán Aceptar y Cancelar Formato: varRespuesta=Inputbox(strMensaje [, strTitulo] [,varpredeterminado] ¿es eiemenïos e argumentos Esta función devuelve un valor de tipo Variant [,intposx] [,intposy] ) entre corchetes son opcionales el cual permite asignar a una propiedad del control el valor devuelto si lo desea, siendo el valor devuelto el dato ingresado por el usuario en el cuadro strMensaje strTitulo de entrada. es el texto que se mostrará en el inputbox () puede tener máximo 1024 caracteres Es el texto que se visualizará en la barra de titulo del inputbox varPredeterminado valor que aparecerá de forma predeterminada en el cuadro de texto, el cual podrá ser modificado por el usuario si lo desea. Intposx,intposy establece las coordenadas en *twips que indican la posición en donde se visualizarala de el enventana inputbox formulario. *Twip pulgadas = 1/1440ó cm 1/567
  • 11.
    ïituludellngutBux Guardm de texte paraegl ingresa de datos Figura5. Elementos de un inputbox Otro ejemplo usando todos los argumentos Código strRespuesta = InputBox("¿CuáI es el Nombre?", "Ingresar Nombre Cliente", "Claudia López", 500, 750) ¿uálesk, Núrbre? _r- .. mía ,, Figura 6. Ejemplo de un inputbox estableciendo todos los argumentos Si desea especificar (programar) las acciones de cada botón del msgbox puede utilizar una sentencia if como Ia mostrada If varRespuesta<> a continuación: then Aquí va el código (instrucciones) del botón Aceptar Else Aquí va el código del botón Cancelar End if EI cuadro 11 de texto devuelve valores Variant
  • 12.
    Ejemplo Sumatoria de de serie unadatos Private Sub Command1_CIick() Dim num As Integer Dim suma As Integer Dim contador As Integer suma = 0 contador = 1 varRespuesta = InputBox("¿cuantos If varRespuesta <> numeros va a ingresar&#39;?", "Ingresar Cantidad de Datos") Then While contador <= varRespuesta num = InputBox("Ingrese Numeros", "Ingresar Datos") List1.AddItem (num) suma = suma contador + num = contador + 1 Wend Text1.Text = suma End If End Sub ¿cuantos numero a Ingresar? va Figura 7. Ejecución del código del ejemplo sumar una serie de datos
  • 13.
    UNIDAD IV: Controles Avanzados en VB IListBox (cajasde lista) Una ListBox es un control en el que se pueden tomar varios registros de lineas, teniendo uno o varios de ellos seleccionado. Si en la lista hay más registros de los que se pueden mostrar al mismo tiempo, se añade automáticamente una barra de desplazamiento. l Load de los formularios, de tal manera, las listas obtienen sus elementos antes de que la aplicación cargue totalmente. También, puede especificar los elementos de la ListBox en modo de diseño El de puedeeven contenido el una inicializa ListBox desde Ï mediante propiedad desdela ventana propiedades la List de PROPIEDADES PROPIEDAD List DESCRIPCION Esta propiedad es utilizada para agregar elementos o registros al ListBox en modo de diseño. En modo de ejecución esta propiedad es utilizada para leer cada uno de los elementos l del ListBox. Devuelve oestablecevalor indica elusuario seleccionar un que si podrá más de un elemento en el ListBox. Puede tomar los siguientes valores: 0 None: Valor predeterminado. No permite seleccionar más de un elemento. 1 - Simple: Selección múltiple simple. Al hacer clic con el Mouse o presionar la BARRA ESPACIADORA se selecciona o se desactiva un elemento de la lista. (Las teclas de Multiselect direccióndesplazanel enfoque.) 2 Extended: Selección múltiple extendida. presionar Al MAYÚS hacer y clic, o al presionar MAYÚS una de las teclasde dirección y (FLECHA ARRIBA, FLECHA ABAJO, FLECHA IZQUIERDA o FLECHA DERECHA) se extiende la selección desde el elemento seleccionado anteriormente hasta el elemento actual. Al presionar CTRL y hacer clic con el Mouse selecciona se o desactiva un elemento de la lista. Establece un valor que indica si los elementos de un ListBox aparecen ordenados alfabéticamente. Sorted Puede tomar los valores True o False (Valor por defecto). Cuando es True los elementos aparecerán ordenados alfabéticamente, y solo lo podrá apreciar los resultados en modo de ejecución. Cuando es False los elementos se muestran tal y como se introducen en el ListBox. Al establecer el valor True en la propiedad Sorted posiblemente se cambie el orden en que introduce los elementos.
  • 14.
    verificación junto acada elemento de texto. Es posible seleccionar múltiples elementos del ListBox si activa la casilla de verificación que hay junto a ellos EVENTOS SOBRE LAS LISTBOX Evento DESCRIPCION Uno de los métodos más importante de una ListBox. Este es utilizado para agregar registros o elementos a una ListBox en modo de ejecución. Su formato es: Objeto.Addltem Elemento, [Posición] Donde: Additem Objeto: Requerido. Indica el nombre de la ListBox, es decir, el valor indicado en la propiedad Name. Elemento: Requerido. Una expresión de cadena que especifica el elemento que se va a agregar al objeto. Posición: Opcional. Un entero que especifica la posición dentro del objeto donde se insertan el elemento o la fila nuevos Este método es utilizado para eliminar un elemento o registro del ListBox. Su formato es: Objeto.Removeltem (Posición) Donde: Removeitem Objeto: Requerido. Una cadena de caracteres que indica el nombre del control ListBox. Posición: Requerido. Un valor numérico que indica la posición del elemento que se desea borrar. La posición del primer elemento de un control ListBox esta representada por el valor 0. Podrá utilizar el método Listlndex para determinar la posición del elemento seleccionado. Este método Clear borra todos los elementos del control ListBox. Su formato es bastante sencillo, solo se debe especificar el nombre del control ListBox seguido del método Clear. Ejemplo: List1.Clear Elimina todo el contenido del ListBox, Devuelve un valor numérico que indica la cantidad de elemento que contiene la ListBox. Este método es muy utilizado para leer todo el contenido de un control ListBox. Para esto se debe combinar con un bucle for o while. Su formato es similar al del método anterior: Listt .L¡stCou nt. Ejemplo 1: Muestra en un cuadro de mensaje la cantidad de elementos de una ListBox. Listcou nt MsgBox(List1 .ListCou nt) Ejemplo 2: Pasa todos ios eiementos cie una ListBox a otra ListBox. Dim i As Long inicia un bucle que se repite según la caraticiaci elementos dei la ListBox. de For i = O To Llst1.LlstCount 1 Restamos i porque una ListBox comienza desde O. List2.Add|tem List1.List(i) Agregarme cada elemento de la primera Lista a la segurlda Lista. Next i Devuelve un valor numérico que indica la posición del elemento seleccionado dentro del control Ejemplo Iistindex ListBox. 1: Muestra en un cuadro de mensaje la posición del elemento seleccionado. MsgBox(List1.ListIndex) Ejemplo 2: Muestra en un cuadro de mensaje el texto del eiemenic seleccionado. MsgBox(List1.List(List1.ListIndex)) se|count Devuelve un valor numérico que indica la cantidad de elementos seleccionados en una 14
  • 15.
    ListBox. Esta propiedades muy útil cuando un control ListBox permite seleccionar varios elementos a la vez. El valor devuelto por esta función se puede utilizar conjuntamente con un bucle para leer únicamente la cantidad de elementos seleccionados en una ListBox. Su formato es similar al del método ListCount. Devuelve o establece un valor lógico (True o False) que indica si un elemento esta o estará seleccionado. Su formato es: Objeto.selected(lndice) = [True/False] Donde: Objeto: de ListBox. Esnombre el la select Indice: Indica la posición del elemento en la ListBox. True/False: Valores que devuelve el método. True indica que elemento está seleccionado. False indica que elemento no está seleccionado. Ejercicios prácticos Aplicación muestra como agregar nombre de países a una ListBox. También permite eliminar un país seleccionado. , , Inserte controles segun imagen i ¡¡ ¡g ¡¡:- e i V. ¿ LIS122iSiIIiiiííiliijiíi_ai;.e|3 Commar ÏÏI" ::.::&#39;:*:&#39;::.::"::"i::&#39;:::::L &#39;&#39; &#39;&#39; &#39;&#39; &#39;&#39; Commam; &#39; &#39; &#39; Form i Tfhiljill]tl(l con czljasde listas 2 Label l i l (Ïïentrfácrieen True Introduzca el ¡Jilísí Modifiquelas propiedades cada control según de L Armr N¿,¡«nm¡_ ¡a la tabla "Taxt l [Tizimrnzmtil W i Lab: 12 Ï cmdsïkgrcegarPais gn:gm" True Lista de pz-iíscs: Taxi"? e ixiTnláilPziises
  • 16.
    Cur11rm1nd2 = ÏÍ COÍHIÏIHYKÏÉ i i cmdlíliltiinzir zzliliminar j K ¿ cmdBiarrarLista &Borrarlista Dentro deievento Click dei botón Agregar escriba Verifica si ia caia de texte se deja vacía. If Len(Trim(txtPai3.Text)) m 0 Then MsgBox ("Introduzca el ¡"lumbrede un país en la cajaf) txtPaisetFocus Else Si ia caja.tiene aigún pais. lstPaiseeAddltem txtPaiaText Agregue ei paie. txtPais.Text m txtPaisSetFocus Limpia ia caja de texte. Hace que ia caja reciba ei animate. Pene ei nïimem de países agregadas en ia caja de lista. txtTotalPaiseaText m lstPaisesiistcourït En casa de que üüurra un «Errarai eiiiïiinai un elemento de ia iisia. On Error ResumeNext IstPaisesHemoveItem txtTotaiPaiseaText (IstPaisesListIndex) m IstPaisesListC-ount Barra ei eierïierïte Seiecaíüiïadm, Amtuaiiza ei icztai de paises. ,................ .................................................... m.................................................. .................................................... .................................................... ..................................................... ..........................¡ Elimina tada ei contenida del Listiïtïzx. lstPaisesïlear txtTotalPaisesTc-z-xt m IstPaisesListCount Un ComboBox Asïstuaiiza tetai de paises. ei no tiene muchas diferencias en relación con un control ListBox. La diferencia que existe entre ambos contro/es es que un 16
  • 17.
    ComboBox oculta lalista de elementos y solo se muestra cuando se hace clic en el botón flecha abajo que contiene el control, mientras que el control ListBox muestra la lista de elementos sin ocultarla Otra de la diferencia principal es que un ComboBox tiene una propiedad llamada Style, que puede adoptar tres valores (1, 2 ó 3) que corresponden con tres distintas formas de presentar una lista: 1.) 0- DropDownCombo: Éstees el valormás habitual corresponde el casoen el que y con sólo se muestra el registro seleccionado, que es editable por el usuario, permaneciendo el resto de los elementos oculto hasta que el usuario despliega la lista completa haciendo clic sobre el botón flecha abajo 2.) 1- Simple Combo: En este caso el registro seleccionado también es editable, y se muestra una lista no desplegable dotada si es necesario de una ScrollBar. 3.) 2- DropDown List: En este último caso el registro seleccionado no es editable y la lista es desplegable. A pesar de estas dos grandes diferencias, existen muchas relaciones con respecto a los métodos y las propiedades entre ambos contro/es. Por ejemplo los métodos Addltem, Removeltem o Clear y las propiedades List, Listlndex o ListCount. La propiedad Text corresponde con lo que aparece en el área de edición del ComboBox que es por Io general el primer elemento de la lista desplegable Ejemplo práctico Realice el siguiente formulario Seleccione-un delïialñïirt- 3 . mira-sem « Haz doble clic en formulario y especifica el evento Load Dentro del evento escribe el siguiente código y ejecútalo 17 A «
  • 18.
    "Muestra los númerosl al 3C!en la caia combinada. Dim ¡As Integer For i m 1 To 30 inicia un bucle del t al 30. Combm Addllem i Agrega et níxmeto actual al Comboüox. Nexti Otros Controles Un control Timer puede ejecutar código a intervalos periódicos produciendo un evento Timer, que ocurre cuando ha transcurrido un Intervalo preestablecido para un control Timer. La frecuencia del intervalo se almacena en la propiedad Interval del control que especifica el tiempo en milisegundos. Propiedades del control tiempo De todas las propiedades de un control tiempo las mas importantes son Enabled para habilitar o deshabilitar el control y la propiedad Interval para especificar el intervalo de tiempo en que el control realizará el evento Para representar los segundos en milisegundos solo debe multiplicar la cantidad de segundos por mil. Por ejemplo, 2 segundos sería 2 x 1000 = 2000 milisegundos, un minuto sería 60 * 1000 = 60000 milisegundos, así sucesivamente Ejercicio Práctico El siguiente ejercicio consiste en una aplicación que muestra un reloj digital en una ventana Inserte una etiqueta como en la imagen con color de fondo verde Inserte en cualquier parte del formulario un control Timer Aplique los siguientes valores 18
  • 19.
    &#39; RH]Üj digi [al ZÏ-CÏBIHQAFSCÏÜQH l. FixedSinglü (ZIÜ:()Ü:()(} Verde l Arial, Fixed Single: NÉQFÏHL Blanco í Éünerïïms ¿ahíïiïa m: la aïáïgueta. LabeH Baption m Formatime, "HHMMSS I ÜÜÜ AMPM") 19