Sunteți pe pagina 1din 34

INTRODUCCIN.

CARACTERSTICAS DE VISUAL BASIC.


Podramos decir que Visual Basic es un lenguaje orientado a eventos. En las aplicaciones tradicionales o "por
procedimientos", la aplicacin es la que controla qu partes de cdigo y en qu secuencia se ejecutan. La ejecucin
comiena con la primera lnea de cdigo y contin!a con una ruta prede"inida a travs de la aplicacin, llamando a los
procedimientos seg!n se necesiten.
En una aplicacin controlada por eventos, el cdigo no sigue una ruta predeterminada# ejecuta distintas secciones de
cdigo como respuesta a los eventos. Los eventos pueden desencadenarse por acciones del usuario, por mensajes
del sistema o de otras aplicaciones, o incluso por la propia aplicacin. La secuencia de estos eventos determina la
secuencia en la que se ejecuta el cdigo, por lo que la ruta a travs del cdigo de la aplicacin es di"erente cada ve
que se ejecuta el programa.
Para manejar los o$jetos y controles del lenguaje %ay que conocer tres conceptos asociados a ellos&
Propiedades: Para todos los o$jetos y controles de Visual Basic, %ay de"inidas una serie de propiedades que
nos permiten controlarlos& nom$re, tama'o, color, posicin, etc..., la mayora de las propiedades ser(n
comunes, pero evidentemente, %a$r( o$jetos que tengan unas determinadas propiedades espec"icas.
Eventos: )ada o$jeto lleva asociados unos determinados eventos que le pueden ocurrir, por ejemplo a un
$otn, le puede ocurrir que el usuario pulse con el $otn principal del ratn so$re l, eso es el evento
No!reDe"Bot#n$C"i%&'(, $ien cuando esto ocurra, se dispara este evento, al cual nosotros le a'adiremos el
cdigo de lo que queremos que %aga la aplicacin cuando el usuario pulse el $otn.
)*todos: *on procedimientos asociados a un o$jeto, es decir, nos permiten realiar acciones como por
ejemplo escri$ir un te+to en un o$jeto, necesitaramos usar el mtodo Print, con la siguiente sinta+is&
No!reDe"O!+eto.Print ,Te-to deseado,.
Encontraremos tanto propiedades, eventos como mtodos comunes, si $ien, dependiendo de los o$jetos que
utilicemos encontraremos elementos espec"icos y e+clusivos del o$jeto.
El esquema de programacin es muy sencillo, para crear una aplicacin, primero crearemos un "ormulario vaco so$re
el que iremos poniendo los controles que deseemos, en tiempo de dise'o podremos especi"icar las propiedades
iniciales de esos controles. Posteriormente escri$iremos el "cdigo respuesta" a los eventos que queramos controlar
de nuestros o$jetos. En ese "cdigo respuesta", que es lo que llamaremos tiempo de ejecucin, podremos modi"icar
algunas propiedades de los o$jetos, lanar mtodos, ejecutar rutinas, llamar a otros procedimientos etc..
DESCRIPCIN DEL ENTORNO.
Para desarrollar el curso se %a utiliado Visual Basic ,.- en castellano, y todas las re"erencias e im(genes ser(n
so$re esa versin, si $ien se podra seguir el curso con la versin anterior, puesto que las di"erencias radicar(n, m(s
que en que no se pueda realiar, en la "orma de %acer o llamar a las cosas.
)uando ejecutamos VB, despus de cargar el entorno, nos aparece el siguiente cuadro&
.os o"rece tres solapas& N.evo, con las di"erentes opciones que nos permite crear VB, en principio slo utiliaremos
E/E est0ndar, que nos llevar( a un "ormulario vaco desde el cual comenaremos a desarrollar nuestra aplicacin.
E-istente, nos permite a$rir proyectos que ya e+isten para continuar implement(ndolos. Re%ientes, lo mismo pero
so$re los !ltimos proyectos que %ayamos estado desarrollando.
/na ve que %ayamos elegido E/E est0ndar, aceptamos y aparece la siguiente ventana 0salvo por las di"erencias de
tama'o, necesarias para que entre la imagen1, en la cual vemos que tenemos un proyecto a$ierto que en principio
cuenta con un "ormulario vaco. Posteriormente, si los necesitamos podremos insertarle tantos "ormularios al proyecto
como queramos.
La ventana principal est( "ormada adem(s de por la $arra de men!s y la $arra de $otones superiores, de un conjunto
de ventanas con "unciones diversas, cada una de ellas es con"igura$le en cuanto tama'o, o incluso se pueden ocultar
para ganar espacio para otras. Las principales son&
Ventana de" Pro1e%to: Es la ventana que va a contener el o$jeto activo del proyecto, en la imagen superior
vemos que contiene el "ormulario vaco, que utiliaremos para el dise'o gr("ico. Pero cuando le queramos
a'adir cdigo, la ventana de cdigo tam$in estar( contenida aqu.
E-p"orador de pro1e%tos: Ventana superior derec%a, nos permite visualiar los o$jetos que contiene el
proyecto actual agrupados por categoras, en nuestro caso y por el momento solo %ay un "ormulario colgando
de la carpeta "ormularios. 2dem(s en la parte superior iquierda de esta ventana %ay dos $otones que nos
permiten intercam$iar la vista de dise'o gr("ico con la ventana de cdigo en la ventana del proyecto. .o
o$stante para pasar a la ventana de cdigo $astara con %acer do$le clic3 so$re cualquier control.
Ventana de propiedades: *ituada de$ajo de la anterior, contiene el conjunto de propiedades, con el valor
actual correspondiente, de cada uno de los o$jetos. Es aqu donde podremos modi"icar los valores iniciales de
esas propiedades, en lo que se conoce como tiempo de dise'o.
Ventana de posi%i#n de" 2or."ario: *ituada de$ajo de la anterior, permite la colocacin del "ormulario en la
pantalla, representado la misma con una imagen a escala.
Ca+a de 3erraientas: *ituada a la iquierda, contiene los controles que podemos ir colocando en el
"ormulario, para ello $astar( con %acer do$le clic3 so$re uno de ellos, o pulsar so$re el control y "di$ujarlo"
so$re el "ormulario.
PRI)ER E4E)PLO.
)rearemos un E/E est0ndar, al cual le insertaremos de la caja de %erramientas un $otn, el cual podemos posicionar
donde queramos y esta$lecerle el tama'o deseado. .uestro primer programa ya "uncionara en el sentido de que si lo
ejecut(semos a%ora, ya podramos pulsar el $otn tantas veces como quisisemos 0no %ara nada, pero tampoco
provocara un error1.
Para que al pulsar el $otn "ocurra algo", de$emos escri$ir el cdigo que deseamos que se ejecute cuando el usuario
pulse el $otn 0que el usuario pulse el $otn, signi"ica para Visual que se dispara el evento C"i%& del o$jeto
Coand51. Por lo tanto el cdigo de$eremos escri$irlo en el procedimiento Coand5$C"i%&'(.
La "orma m(s cmoda de %acer esto consiste en %acer do$le clic3 so$re el $otn de nuestro "ormulario, esto nos
llevar( a la ventana de cdigo y adem(s nos escri$ir( en ella el enca$eado y "inal del evento que necesitamos,
dej(ndolo preparado para que podamos escri$ir nuestro cdigo&
)omo cdigo escri$iremos la lnea&
Print ,6as p."sado e" !ot#n, que
escri$e en el "ormulario el te+to
encerrado entre comillas.
Para ejecutar nuestro programa
tenemos diversas opciones,
incluyendo la generacin de un
ejecuta$le, pero en la "ase de
desarrollo de un programa es la opcin
m(s lenta. 4igamos que %asta que no
%ayamos terminado de implementar el
programa, no crearemos el ejecuta$le.
La "orma m(s cmoda consiste en
ejecutarlo sin compilar, es decir,
interpretando las rdenes, de esta
"orma detectamos m(s r(pidamente
posi$les errores. Para ello iremos al
men! E+e%.tar 7 Ini%iar, o pulsaremos
56, 0tam$in podemos iniciar la ejecucin pulsando el $otn de la $arra de $otones de Visual Basic1. Veremos
nuestro "ormulario en pantalla y cada ve que pulsemos el $otn, se escri$ir( en el mismo el te+to que indicamos
entrecomillado, esto lo podemos %acer tantas veces como queramos.
El "ormulario es redimensiona$le, lo podemos situar donde queramos, tiene el cuadro de control est(ndar de
7indo8s, y todo ello sin que %allamos dedicado ni un pensamiento al respecto.
Para detener la ejecucin del programa, podemos pulsar la 9 del cuadro de control del "ormulario, o pulsar el $otn
de la $arra de $otones de Visual Basic.
Este es el mtodo $(sico de programacin que desarrollaremos en Visual Basic& /no o varios "ormularios a los que
les insertaremos controles, los cuales gestionaremos mediante eventos que desencadenen los usuarios. )omo
respuesta a los eventos, de$eremos programar el cdigo que deseemos ejecutar en cada momento.
8UARDAR UN PRO9ECTO.
)rearemos una carpeta en nuestro disco duro, por ejemplo& )&:;is 4ocumentos:Visual Basic:Proyectos, donde
almacenaremos tanto los proyectos como los "ormularios.
Podemos guardar los "ormularios o el proyecto separadamente, pero lo m(s cmodo es ir al men! Ar%3ivo 7 8.ardar
pro1e%to. 4e esta "orma nos sale primero una ventana para que guardemos los "ormularios que componen nuestro
proyecto, en la cual le podemos indicar la carpeta y el nom$re que queremos asignar. )uando tengamos guardados
todos los "ormularios del proyecto, nos sale otra ventana para %acer lo mismo con el proyecto.
<uardaremos el ejemplo anterior en la carpeta predeterminada, asignando :or5 al "ormulario y Pro1e%to5 al
proyecto. Posteriormente para acceder al mismo, $astar( con a$rir el proyecto Pro1e%to5, lo cual nos a$rir( todos los
"ormularios que contenga.
)uando se desarrolla un aplicacin, se tra$aja con un arc%ivo de proyecto para administrar todos los di"erentes
arc%ivos que se crean. /n proyecto consta de&
/n arc%ivo de proyecto que realia el seguimiento de todos los componentes 0.v$p1
/n arc%ivo para cada "ormulario 0."rm1.
/n arc%ivo de datos $inarios para cada "ormulario que contiene datos so$re propiedades de controles del
"ormulario 0."r+1. Estos arc%ivos no se pueden modi"icar y los genera autom(ticamente cualquier arc%ivo ."rm
que tenga propiedades en "ormato $inario, como Pi%t.re o I%on.
=pcionalmente, un arc%ivo para cada mdulo de clase 0.cls1.
=pcionalmente, un arc%ivo para cada mdulo est(ndar 0.$as1.
=pcionalmente, uno o m(s arc%ivos con controles 2ctive9 0.oc+1.
=pcionalmente, un !nico arc%ivo de recursos 0.res1.
=pcionalmente, un !nico arc%ivo de espacio de tra$ajo de proyecto de Visual Basic 0.v$81.
El archivo de proyecto es simplemente una lista de todos los arc%ivos y o$jetos asociados con el proyecto, as como
in"ormacin acerca de las opciones de entorno esta$lecidas. Esta in"ormacin se actualia cada ve que se guarda el
proyecto. >odos los arc%ivos y o$jetos tam$in se pueden compartir con otros proyectos.
)uando %a completado todos los arc%ivos del proyecto podremos convertir el proyecto en un arc%ivo ejecuta$le 0.e+e1&
en el men! Ar%3ivo, eligiendo el comando 8enerar proyecto.exe.
E+er%i%io 5.
Ejecutar Visual Basic, 2$rir un E/E est0ndar, pulsando en la / de cada una, cerrar todas las ventanas menos la
principal, de "orma que dejemos la siguiente visualiacin&
En el men! 6erraientas ? Op%iones, ir a la solapa A%op"e, activar todas las casillas que no estuviesen activas
menos la del "E+aminador de o$jetos" y 2ceptar. )on esto conseguimos que cuando queramos visualiar una ventana
de las del entorno esta se acople junto con las dem(s para que no aparecan solapadas.
@r al men! Ver y elegir& E-p"orador de pro1e%tos, Ventana Propiedades y
Ventana posi%i#n de" 2or."ario. 4e$eremos redimensionar cada una %asta
o$tener apro+imadamente&
2%ora %aciendo do$le clic3 en :or5 del E-p"orador de pro1e%tos
aparecer( la ventana del "ormulario carg(ndose la ventana de propiedades, y
ya slo nos queda volver al men! Ver para elegir C.adro de 3erraientas, el
cual se posiciona a la iquierda de la ventana principal.
Podremos esta$lecer di"erentes con"iguraciones del entorno, siendo esta
qui( la m(s adecuada para comenar a "amiliariarse con el entorno.
)omo la ventana Posi%i#n de" 2or."ario no es necesaria
permanentemente, conviene ocultarla para que se ample la de Propiedades.
)uando tengamos que decidir la posicin del "ormulario en pantalla 0cuando
se ejecute1, $astar( con mostrarla entonces.
E+er%i%io ;.
2$rir un E9E est(ndar, o$tendremos un "ormulario vaco, pulsando en el $otn 0Ver cdigo1 saldr( la ventana de
cdigo vaca, en el cuadro superior iquierdo desplegaremos y elegiremos :or, veremos como autom(ticamente
nos pone el evento Private S.! :or$Load'(, que es el evento predeterminado para el o$jeto :or, lo ignoramos
puesto que no es el que necesitamos 0posteriormente el editor lo eliminar( ya que no va a contener cdigo1. En el
cuadro superior derec%o desplegamos y elegimos el evento D!"C"i%&, 0do$le clic31, es decir el usuario desencadenar(
la accin cuando %aga do$le clic3 so$re el "ormulario. En este evento escri$imos un mensaje 0recordar que el te+to
de$e ir entrecomillado1 usando el mtodo Print.
2ntes de ejecutar visualiaremos la ventana Posi%i#n de" 2or."ario si no esta$a ya presente y colocaremos el
"ormulario apro+imadamente en medio de la pantalla.
Ejecutaremos y adem(s de o$servar como el "ormulario aparece en la posicin que %emos asignado, veremos como
al %acer do$le clic3 so$re el mismo aparece el mensaje.
E"eentos de" "en<.a+e.
Introd.%%i#n.
)omo todo lenguaje de programacin, Visual Basic tiene un conjunto de varia$les y estructuras que el programador
puede usar. Empearemos introduciendo conceptos poco a poco ya que la e+tensin del lenguaje %ara necesaria la
dedicacin de muc%o tiempo para conocerlo todo antes de empear a realiar el primer programa. 2 medida que
avancemos se ir(n a'adiendo conceptos, slo los m(s importantes en cada caso ya que estudiarlos en pro"undidad
%ara del curso una la$or muy tediosa. *irva como ejemplo que el control Te-t!o- tiene AB propiedades, CA eventos y
DD mtodos. )ierto es que muc%os elementos son comunes a otros controles, por eso slo veremos los m(s
signi"icativos de cada uno. En cualquier caso, cuando el alumno desee conocer un determinado control con mayor
pro"undidad puede recurrir a la ayuda, que sorprendentemente est( muy $ien organiada y clara.
Varia!"es.
Las varia$les que podemos usar en Visual pueden ser de los siguientes tipos&
Inte<er& .!mero entero que oscila entre los valores EBC.F,G y BC.F,F
Lon<& .!mero entero 0entero largo1 que oscila entre los valores EC.DAF.AGB.,AG y C.DAF.AGB.,AF
Sip"e& .!mero real que oscila entre los valores EB.A-EHBG y B.A-EHBG
Do.!"e& .!mero real que oscila entre los valores ED.GEHB-G y D.GEHB-G
Variant& Puede representar di"erentes tipos de datos en distintas situaciones.
Strin<& )adena de caracteres, sirve para almacenar te+tos, apro+imadamente %asta ,6--- caracteres.
Boo"ean& *lo admite dos estados, Verdadero 0>rue1 0ED1 o 5also 05alse1 0-1.
Date& 2lmacena "ec%a y %ora.
2!n %ay m(s tipos, pero en principio slo vamos a usar estos, para lo cual de$eremos seguir el siguiente proceso&
Primero para poder usar una varia$le de$emos declararla, esto lo %aremos mediante la sentencia Di, esto nos crea
la varia$le y reserva el espacio necesario para ella, utiliaremos la siguiente sinta+is&
Di No!re$de$"a$varia!"e As tipo
El nom$re de la varia$le puede tener %asta A- caracteres y de$e empear por letra.
El tipo de$e ser uno de los disponi$les, cuando escri$amos la sentencia, al llegar al tipo veremos como nos sale un
cuadro de lista donde nos muestra las posi$ilidades para el mismo, podemos escri$irlo nosotros o con las "lec%as del
cursor $uscarlo y pulsando espacio o intro que lo escri$a el sistema.
Podemos especi"icar la longitud& Di Cadena As Strin<=>, esta sentencia nos declara una varia$le de tipo string y
longitud "ija de A caracteres. *i no especi"icamos longitud, la cadena tendr( longitud varia$le.
Para declarar vectores $asta con poner el tama'o entre parntesis& Di Ve%tor';?( As Inte<er, declara un vector de
C6 posiciones que van de la - a la CA, y del tipo @nteger.
=tro aspecto a tener en cuenta es dnde %acemos la declaracin, ya que si la %acemos dentro de un procedimiento
espec"ico, esta slo tendr( valide dentro de l, si queremos que la varia$le pueda ser usada por varios
procedimientos de$eremos declararla en el (rea <eneral.
El segundo paso es la inicialiacin del valor de la varia$le, cosa que de$eremos %acer salvo que nos sirvan los
valores por de"ecto& - para las numricas y "" para las al"anumricas. Esto de$eremos %acerlo dentro de alg!n
procedimiento ya que en el (rea <eneral no es posi$le, aunque sea una varia$le com!n. La sinta+is adecuada es&
No!re$de$"a$varia!"e @ Va"or o e-presi#n
Nota& *i queremos usar varia$les del sistema como Date o Tie que contienen la "ec%a y %ora del sistema
respectivamente, no es necesario que las declaremos.
E+ep"o.
2$rir Pro1e%to5, esto lo podemos %acer desde el men! Ar%3ivo 7 A!rir pro1e%to, o desde la ventana inicial cuando
a$rimos Visual Basic, $usc(ndolo tanto en la solapa E-istente como en la solapa Re%ientes.
El o$jetivo es incluir un contador que me in"orme del n!mero de veces que %e pulsado el $otn, para ello
necesitaremos usar una varia$le. *i declaro la varia$le en el procedimiento Private S.! Coand5$C"i%&'(, esta se
inicialiar( cada ve que pulsemos el $otn, con lo que por muc%o que la incrementemos, no conseguiremos que nos
muestre el n!mero de veces que lo %emos pulsado. .ecesitamos declararla "uera del procedimiento, $ien pues
escri$imos la declaracin al inicio del cdigo& Di %ontador As Inte<er, "uera de cualquier procedimiento 0(rea
<eneral1, con esto conseguimos que sea una varia$le p!$lica para nuestro "ormulario y que slo se inicialice al
ejecutar el programa. 2dem(s o$servaremos como el editor de cdigo nos separa esta declaracin del resto de
procedimientos mediante una lnea %oriontal.
;odi"icamos el procedimiento Private S.! Coand5$C"i%&'(, de "orma que nos quede& Print ,6as p."sado e"
!ot#n,A %ontadorA ,ve%es,, a'adimos de$ajo de esta& %ontador @ %ontador B 5 y ejecutamos. )omenando por -
veremos como se incrementa el n!mero cada ve que pulsemos el $otn.
El siguiente paso en la depuracin del programa sera conseguir que comenase por D y no por -. *i inicialiamos la
varia$le contador a D en el procedimiento Private S.! Coand5$C"i%&'(, tenemos el mismo pro$lema que antes,
no conseguimos que se incremente ya que cada ve que pulsemos, vuelve a valer D.
Podemos pensar que la solucin est( en inicialiarla a D "uera de cualquier procedimiento, pero eso no es posi$le, ya
que en lo que se conoce como el (rea <eneral 0donde %emos declarado la varia$le1 slo podemos declarar varia$les,
pero no inicialiarlas.
La solucin est( en usar un evento que se dispare autom(ticamente una sola ve al inicio de la ejecucin de nuestro
programa. Ese evento es el Load del o$jeto :or, este evento se dispara cada ve que se carga el "ormulario y en l
se suelen poner los par(metros comunes y especi"icaciones iniciales del "ormulario.
En la ventana de cdigo, desplegamos el cuadro com$inado de la iquierda y veremos los o$jetos de los que
disponemos, seleccionamos :or, en el cuadro com$inado de la derec%a veremos que autom(ticamente sale el
evento Load y nos escri$e en el cdigo el enca$eamiento y pie del procedimiento Private S.! :or$Load'(. *i
necesit(semos usar otro evento del o$jeto :or, $astara con desplegar el cuadro com$inado de la derec%a donde
veramos todos los que tiene disponi$le ese o$jeto. En este procedimiento escri$imos la inicialiacin de la varia$le a
D, qued(ndonos la ventana de cdigo&
Operadores.
Para construir e+presiones, adem(s
de varia$les o constantes
utiliaremos los operadores, que se
clasi"ican de la siguiente "orma y
respetando la jerarqua que con la
que aparecen&
ARIT)CTICOS.
D E+ponenciacin.
= ;ultiplicacin 7 4ivisin
E 4ivisin entera
)OD ;dulo 0resto de la divisin entera1
B *uma F Iesta
AL:ANU)CRICOS.
G, B )oncatenan te+tos.
L8ICOS.
NOT .egacin
AND J
OR =
CO)PARATIVOS.
H ;enor que H@ ;enor o igual que
I ;ayor que I@ ;ayor o igual que
@ @gual que HI, J@ 4istinto que
Estr.%t.ras.
2 continuacin veremos las estructuras que podemos usar en Visual Basic&
ESTRUCTURAS DE DECISIN
I2& Esta estructura nos permite desviar el "lujo de programa dependiendo de si se cumple una condicin. La sinta+is
es&
I2 Condi%i#n t3en
)onjunto de ordenes que se ejecutar(n cuando la Condi%i#n sea verdadera.
E"se
)onjunto de ordenes que se ejecutar(n cuando la Condi%i#n sea "alsa.
End I2
Se"e%t& 4ependiendo del valor de una e+presin o varia$le ejecuta una opcin u otra. La sinta+is es&
Se"e%t Case E-presi#n
Case Va"or5
)onjunto de ordenes que se ejecutar(n cuando la E+presin tenga ValorD.
Case Va"or;
)onjunto de ordenes que se ejecutar(n cuando la E+presin tenga ValorC.
............
Case E"se
)onjunto de ordenes que se ejecutar(n cuando la E+presin no sea ning!n valor anterior.
End Se"e%t
ESTRUCTURAS DE BUCLE
Las estructuras de $ucle permiten ejecutar una o m(s lneas de cdigo repetidamente. Las estructuras de $ucle que
acepta Visual Basic son&
Do...Loop& /tiliaremos el $ucle Do para ejecutar un $loque de instrucciones un n!mero inde"inido de veces. Kay
algunas variantes en la instruccin Do...Loop, pero cada una eval!a una condicin numrica para determinar si
contin!a la ejecucin. )omo ocurre con I2...T3en, la condicin de$e ser un valor o una e+presin que d como
resultado :a"se 0cero1 o Tr.e 0distinto de cero1.
Las instrucciones se ejecutan siempre y cuando condicin sea Tr.e, la sinta+is es&
Do K3i"e %ondi%i#n
instrucciones
Loop
)uando Visual Basic ejecuta este $ucle Do, primero eval!a condicin. *i condicin es :a"se 0cero1, se salta todas las
instrucciones. *i es Tr.e 0distinto de cero1, Visual Basic ejecuta las instrucciones, vuelve a la instruccin Do K3i"e y
prue$a la condicin de nuevo.
Por tanto, el $ucle se puede ejecutar cualquier n!mero de veces, siempre y cuando condicin sea distinta de cero o
Tr.e. .unca se ejecutan las instrucciones si condicin es :a"se inicialmente.
=tra variante de la instruccin Do...Loop ejecuta las instrucciones primero y prue$a condicin despus de cada
ejecucin. Esta variacin garantia al menos una ejecucin de instrucciones&
Do
instrucciones
Loop K3i"e condicin
Kay otras dos variantes an(logas a las dos anteriores, e+cepto en que repiten el $ucle siempre y cuando condicin
sea :a"se en ve de Tr.e.
6a%e e" !.%"e %ero o 0s ve%es 6a%e e" !.%"e a" enos .na veL
Do Unti" condicin
instrucciones
Loop
Do
instrucciones
Loop Unti" condicin
:or...Ne-t
Los $ucles Do "uncionan $ien cuando no se sa$e cu(ntas veces se necesitar( ejecutar las instrucciones del $ucle. *in
em$argo, cuando se sa$e que se van a ejecutar las instrucciones un n!mero determinado de veces, es mejor elegir el
$ucle :orMNe-t. 2 di"erencia del $ucle Do, el $ucle :or utilia una varia$le llamada contador que incrementa o
reduce su valor en cada repeticin del $ucle. La sinta+is es la siguiente&
:or contador L iniciar To finalizar MStep incrementoN
instrucciones
Ne-t McontadorN
Los argumentos contador, iniciar, finalizar e incremento son todos numricos.
Nota El argumento incremento puede ser positivo o negativo. *i incremento es positivo, iniciar de$e ser menor o
igual que finalizar o no se ejecutar(n las instrucciones del $ucle. *i incremento es negativo, iniciar de$e ser mayor o
igual que finalizar para que se ejecute el cuerpo del $ucle. *i no se esta$lece Step, el valor predeterminado de
incremento es D.
2l ejecutar el $ucle :or, Visual Basic&
D. Esta$lece contador al mismo valor que iniciar.
C. )omprue$a si contador es mayor que finalizar. *i lo es, Visual Basic sale del $ucle.
0*i incremento es negativo, Visual Basic comprue$a si contador es menor que finalizar.1
B. Ejecuta instrucciones.
A. @ncrementa contador en D o en instrucciones, si se especi"ic.
6. Iepite los pasos C a A.
E+ep"o.
2$rir Pro1e%to5. El o$jetivo es modi"icar el programa de "orma que al pulsar el $otn la primera ve, el te+to que
muestre sea "Kas pulsado el $otn D ve", en lugar de lo que muestra a%ora que es& "Kas pulsado el $otn D veces".
Kay que incluir una estructura @", de "orma que cuando %ontador valga D %aga una cosa, y cuando tenga un valor
di"erente %aga otra. La ventana de cdigo, mostrar(&
2dem(s modi"icar el tama'o del "ormulario y el $otn, as como su posicin, de "orma que el resultado sea&
*alir guardando todos los cam$ios.
E+er%i%io 5.
)rear un nuevo proyecto, vamos a ver como utiliar varia$les que contengan te+to. 4e$eremos declarar tres varia$les
de tipo Strin<& No!re, Ape""idos y Todo. En el "ormulario pondremos un $otn de "orma que al pulsarlo el
programa %aga lo siguiente& asigne a las varia$les No!re y Ape""idos los te+tos correspondientes, mediante
concatenacin construya la varia$le Todo, compuesta de los contenidos de No!re y Ape""idos mostrando por
pantalla el contenido de la varia$le Todo.
A1.da& Para asignar valores a una varia$le de tipo *tring, de$eremos encerrar entre comillas el te+to& No!re @
,Ra#n,.
*i %acemos concatenacin normal entre la varia$les el resultado mostrar( los te+tos sin separacin, podramos incluir
un espacio al "inal del nom$re o al inicio de los apellidos, pero la mejor "orma de %acerlo consistir( en concatenar un
espacio en $lanco& Todo @ No!re G , , G Ape""idos.
E+er%i%io ;.
)rear un nuevo proyecto, vamos a ver como usar una estructura de $ucle. @nsertaremos un $otn de "orma que al
pulsarlo nos muestre por pantalla cinco lneas que se corresponder(n a cinco pasos del $ucle. @ncluso numeraremos
cada lnea con un contador.
A1.da& Para realiar este ejercicio, $asta con usar un $ucle de tipo :or, ya que cada ve que pulsemos el $otn
reiniciaremos la cuenta de las lneas.
E+er%i%io N.
)rear un nuevo proyecto, vamos a ver como mantener un acumulador. @nsertaremos un $otn de "orma que al
pulsarlo nos muestre por pantalla cinco lneas que se corresponder(n a cinco pasos del $ucle. @ncluso numeraremos
cada lnea con un contador. 2dem(s, a di"erencia del ejercicio anterior, cuando volvamos a pulsar el $otn la
numeracin de las lneas de$e continuar correlativamente.
A1.da& Para realiar este ejercicio, $asta con usar un $ucle de tipo :or, pero para que cada ve que pulsemos el
$otn, contin!e la cuenta de las lneas, de$eremos declarar otra varia$le que inicialiaremos en el :or$Load del
"ormulario. Esta nueva varia$le ser( la que mostraremos y como slo se inicialia una ve mantendr( el !ltimo valor
asignado pudiendo as seguir a secuencia.
4entro del $ucle :or de$eremos ocuparnos de incrementar nosotros la varia$le mediante& A%.."ador @
A%.."ador B 5. 0En ve de A%.."ador, de$eremos poner el nom$re de la varia$le que %ayamos de"inido para la
tarea1.
)omo el orden de ejecucin es de derec%a a iquierda, primero incrementa la varia$le en uno y luego se lo asigna a la
misma varia$le, con lo que conseguimos que se vaya incrementando de uno en uno.
:.n%iones 1 pa"a!ras reservadas.
Visual Basic tiene un conjunto de "unciones que podremos usar. 2 continuacin veremos las m(s representativas, si
$ien %ay muc%as m(s. *e aconseja ir a la ayuda para ampliar o pro"undiar so$re la cuestin
Pa"a!ras reservadas.
Re& .os permite incluir comentarios so$re el programa en medio del cdigo, la sinta+is es&
Re Coentario
2dem(s, se puede conseguir lo mismo sin necesidad de escri$ir Iem, utiliando la comilla simple, es decir, la anterior
orden es equivalente a&
OCoentario
=$servaremos como el editor de cdigo reconoce los comentarios ya que les aplica como color del te+to el verde.
E-it S.!& .os permite aca$ar la ejecucin del procedimiento en el que lo pongamos, y en punto del mismo donde se
%alle situado.
End& .os permite aca$ar la ejecucin del programa en el punto del mismo donde se %alle situado.
:.n%iones.
)s<Bo-: ;uestra un mensaje en un cuadro de di(logo, espera a que el usuario %aga clic en un $otn y devuelve un
tipo Inte<er correspondiente al $otn elegido por el usuario.
Sinta-is
)s<Bo-'promptM, buttonsNM, titleNM, helpfile, contextN(
La sinta+is de la "uncin )s<Bo- consta de estos argumentos&
Parte Des%rip%i#n
prompt Iequerido. )adena que representa el prompt en el cuadro de di(logo. La longitud m(+ima de prompt
es de apro+imadamente D-CA caracteres, seg!n el anc%o de los caracteres utiliados.
buttons =pcional. E+presin numrica que corresponde a la suma de los valores que especi"ican el n!mero y
el tipo de los $otones que se pretenden mostrar, el estilo de icono que se va a utiliar, la identidad del
$otn predeterminado y la modalidad del cuadro de mensajes. *i se omite este argumento, el valor
predeterminado para buttons es -.
title =pcional. E+presin de cadena que se muestra en la $arra de ttulo del cuadro de di(logo. *i se omite
title, en la $arra de ttulo se coloca el nom$re de la aplicacin.
helpfile =pcional. E+presin de cadena que identi"ica el arc%ivo de 2yuda que se utilia para proporcionar
ayuda interactiva en el cuadro de di(logo. *i se especi"ica helpfile, tam$in se de$e especi"icar
context.
context =pcional. E+presin numrica que es igual al n!mero de conte+to de 2yuda asignado por el autor al
tema de 2yuda correspondiente. *i se especi"ica context, tam$in se de$e especi"icar helpfile.
Va"ores
El argumento buttons tiene estos valores&
Constante Va"or Des%rip%i#n
V!OPOn"1 - ;uestra solamente el $otn A%eptar.
V!OPCan%e" D ;uestra los $otones A%eptar y Can%e"ar.
V!A!ortRetr1I<nore C ;uestra los $otones An."ar, Reintentar e I<norar.
V!9esNoCan%e" B ;uestra los $otones SQ, No y Can%e"ar.
V!9esNo A ;uestra los $otones SQ y No.
V!Retr1Can%e" 6 ;uestra los $otones Reintentar y Can%e"ar.
V!Criti%a" D, ;uestra el icono de ensa+e %rQti%o.
V!R.estion BC ;uestra el icono de pre<.nta de adverten%ia.
V!E-%"aation AG ;uestra el icono de ensa+e de adverten%ia.
V!In2oration ,A ;uestra el icono de ensa+e de in2ora%i#n.
V!De2a."tB.tton5 - El primer $otn es el predeterminado.
V!De2a."tB.tton; C6, El segundo $otn es el predeterminado.
V!De2a."tB.ttonN 6DC El tercer $otn es el predeterminado.
V!De2a."tB.tton> F,G El cuarto $otn es el predeterminado.
V!App"i%ation)oda" - 2plicacin modal# el usuario de$e responder al cuadro de mensajes
antes de poder seguir tra$ajando en la aplicacin actual.
V!S1ste)oda" A-O, *istema modal# se suspenden todas las aplicaciones %asta que el
usuario responda al cuadro de mensajes.
V!)s<Bo-6e"pB.tton D,BGA 2grega el $otn 2yuda al cuadro de mensaje.
V!)s<Bo-Set:ore<ro.nd ,66B, Especi"ica la ventana del cuadro de mensaje como la ventana de
primer plano.
V!)s<Bo-Ri<3t 6CACGG El te+to se alinea a la derec%a.
V!)s<Bo-Rt"Readin< D-AG6F, Especi"ica que el te+to de$e aparecer para ser ledo de derec%a a
iquierda en sistemas %e$reo y (ra$e.
El primer grupo de valores 0- a 61 descri$e el n!mero y el tipo de los $otones mostrados en el cuadro de di(logo# el
segundo grupo 0D,, BC, AG, ,A1 descri$e el estilo del icono, el tercer grupo 0-, C6,, 6DC1 determina el $otn
predeterminado y el cuarto grupo 0-, A-O,1 determina la modalidad del cuadro de mensajes. )uando se suman n!meros
para o$tener el valor "inal del argumento buttons, se utilia solamente un n!mero de cada grupo.
Nota& Estas constantes las especi"ica Visual Basic para 2plicaciones. Por tanto, el nom$re de las mismas puede
utiliarse en cualquier lugar del cdigo en ve de sus valores reales.
Va"ores dev.e"tos
Constante Va"or Des%rip%i#n
v!OP D A%eptar
v!Can%e" C Can%e"ar
v!A!ort B An."ar
v!Retr1 A Reintentar
v!I<nore 6 I<norar
v!9es , SQ
v!No F No
E+ep"o.
La siguiente orden genera un cuadro al cual le indicamos ttulo, te+to, le ponemos tres $otones& *, .o y )ancelar.
2dem(s le incluimos el icono de pregunta&
)s<Bo- ,SEsta se<.ro de T.e T.iere %ontin.arU,V v!9esNoCan%e" B v!R.estionV ,Con2ira%i#n,
El resultado en ejecucin es&
Inp.tBo-: ;uestra un mensaje en un cuadro de di(logo, espera que el usuario escri$a un te+to o %aga clic en un
$otn y devuelve un tipo *tring con el contenido del cuadro de te+to.
Sinta-is
Inp.tBo-'promptM, titleNM, defaultNM, xposNM, yposNM, helpfile, contextN(
La sinta+is de la "uncin Inp.tBo- consta de estos argumentos&
Parte Des%rip%i#n
prompt Iequerido. )adena que se muestra como mensaje en el cuadro de di(logo. La longitud m(+ima de
prompt es de apro+imadamente D-CA caracteres, seg!n el anc%o de los caracteres utiliados.
title =pcional. E+presin de cadena que se muestra en la $arra de ttulo del cuadro de di(logo. *i omite
title, en la $arra de ttulo se coloca el nom$re de la aplicacin.
default =pcional. E+presin de cadena que se muestra en el cuadro de te+to como respuesta
predeterminada cuando no se suministra una cadena. *i omite default, se muestra el cuadro de
te+to vaco.
xpos =pcional. E+presin numrica que especi"ica, en t8ips, la distancia en sentido %oriontal entre el
$orde iquierdo del cuadro de di(logo y el $orde iquierdo de la pantalla. *i se omite xpos, el
cuadro de di(logo se centra %oriontalmente.
ypos =pcional. E+presin numrica que especi"ica, en t8ips, la distancia en sentido vertical entre el $orde
superior del cuadro de di(logo y el $orde superior de la pantalla. *i se omite ypos, el cuadro de
di(logo se coloca a apro+imadamente un tercio de la altura de la pantalla, desde el $orde superior
de la misma.
helpfile =pcional. E+presin de cadena que identi"ica el arc%ivo de 2yuda que se utiliar( para proporcionar
ayuda interactiva para el cuadro de di(logo. *i se especi"ica helpfile, tam$in de$er( especi"icarse
context.
context =pcional. E+presin numrica que es el n!mero de conte+to de 2yuda asignado por el autor al tema
de 2yuda correspondiente. *i se especi"ica context, tam$in de$er( especi"icarse helpfile.
Coentarios
)uando se especi"ica tanto helpfile como context, el usuario puede presionar 5D para ver el tema de A1.da
correspondiente a context. 2lgunas aplicaciones como por ejemplo, ;icroso"t E+cel, tam$in agregan
autom(ticamente un $otn A1.da a" %.adro de di0"o<o. *i el usuario %ace clic en A%eptar o presiona Entrar , la
"uncin @nputBo+ devuelve lo que %aya en el cuadro de te+to. *i el usuario %ace clic en Can%e"ar, la "uncin devuelve
una cadena de caracteres de longitud cero 0""1.
Nota& *i deseamos especi"icar m(s que el primer argumento con nom$re, de$emos utiliar Inp.tBo- en una
e+presin. *i deseamos omitir algunos argumentos de posicin, de$emos incluir el delimitador de coma
correspondiente.
E+ep"o.
La siguiente orden genera un cuadro al cual le indicamos te+to, ttulo y asignamos el te+to que escri$a el usuario a la
varia$le cadena&
Di %adena As Strin<
%adena @ Inp.tBo-',Introd.L%a e" no!re de" .s.ario,V ,Identi2i%a%i#n,(
=$servar que como asignamos el resultado de la "uncin @nputBo+ a una varia$le, de$emos encerrar los argumentos
entre parntesis.
El resultado en ejecucin es&
E+ep"o.
)rear un E9E estandar, llamar E+ep"o; al "ormulario, al cual le insertaremos un $otn en la parte in"erior derec%a,
ponerle como nom$re BotonSa"ir y como )aption Sa"ir 0 si queremos que el usuario pueda activar el $otn con la
com$inacin de teclas 2L> H *, de$eremos anteponer a la letra * del caption el sm$olo P1.
2 este $otn le insertaremos cdigo de "orma que cuando el usuario pulse, salga un cuadro por pantalla pidiendo
con"irmacin para salir del programa, si el usuario pulsa *, de$e aca$ar la ejecucin y si pulsa .o, no de$e %acer
nada.
@nsertar otro $otn en la parte in"erior iquierda, ponerle como nom$re Boton:e%3a y como )aption :e%3a 1 3ora
de" sistea 0 si queremos que el usuario pueda activar el $otn con la com$inacin de teclas 2L> H 5, de$eremos
anteponer a la letra 5 del caption el sm$olo P1
2 este $otn le insertaremos cdigo de "orma que cuando el usuario pulse, imprima en el "ormulario la "ec%a en
"ormato largo, es decir, da de la semana, da, nom$re del mes y a'o con A ci"ras. 4e$ajo de$e imprimir la %ora del
sistema. El "ormulario en dise'o quedar(&
J la ventana de cdigo&
E4ERCICIOS PRACTICOS
E4ERCICIOS CON LABELSV TE/TBO/ES 9 BOTONES EN VISUAL BASIC
Vamos a plantear el enunciado para una serie de ejercicios y posteriormente mostraremos la solucin a los mismos.
E4ERCICIO E4E)PLO RESUELTO NW5
>rans"ormar en cdigo el pseudocdigo que se muestra a continuacin, relativo a proporcionar el volumen de un cilindro
dados su altura y di(metro.
5. Ini%io
C. ;ostrar Q@ntroduca el di(metro, en metrosR & Pedir 4
B. ;ostrar Q@ntroduca la altura, en metrosR & Pedir K
A. I L 4?C & Pi L B,DAD6OB
6. V L Pi S 0I T C1 S K
,. ;ostrar QEl volumen del cilindro es deR, V, Qmetros
c!$icosR
X. :in
SOLUCIN E4ERCICIO E4E)PLO NW5
)reamos un "ormulario donde insertamos dos La$els 0podemos usar arrays de controles como La$elD0-1 yLa$elD0D11
simplemente dos controles como La$elD y La$elC, dos >e+tBo+ 0podemos decir lo mismo que para los la$els1y un La$el
para resultados al que vamos a ponerle nosotros el nom$re y que llamaremos 0La$elIesultados1, as como un $otn al
que llamaremos Button)alcular. El primer La$el mostrar( el mensaje de solicitud del di(metro y el segundo La$el el
correspondiente a la altura. 2 travs de los >e+tBo+ el usuario introducir( los datos solicitados y a travs del La$el de
resultados mostraremos los resultados. El cdigo ser( algo as&
C#di<o 'versionesVB enos re%ientes(
Iem )urso Visual Basic aprenderaprogramar.com
Option E-p"i%it
Iem 4eclaracin de varia$les
)onst Pi 2s *ingle L B.DAD6OC,6A
4im IU, KU, V 2s *ingle
Iem )ontenido del "ormulario
Private S.! :or$Load'(
5ormD.)aption L ")(lculo volumen cilindro"
Button)alcular.)aption L ")alcular Volumen"
La$elD.)aption L "@ntroduca aqu el di(metro, en metros"
La$elC.)aption L "@ntroduca aqu la altura, en metros"
End S.!
Iem )(lculo y muestra resultados
Private S.! B.ttonCa"%."ar$C"i%&'(
I L Val0>e+tD1 ? C
K L Val0>e+tC1
V L Pi S 0I T C1 S K
La$elIesultados.5ont*ie L D-
La$elIesultados.5ontBold L >rue
La$elIesultados.2lignment L C
La$elIesultados L "El volumen del cilindro es de " P V P " metros c!$icos"
End S.!


El resultado gr("ico ser( similar a este&


E+er%i%ios res.e"tos !0si%os 1
de estr.%t.ras de de%isi#n en Vis.a" Basi% Y.Z
5( Escri$ir un programa que agregue un valor de la suma
*e de$e crear&
N La$el 0En el ter%er La$el cam$ia el Border*tyle de Z F None a 5 E :i-ed Sin<"e1
5 >e+tBo+
5 )ommandButton
4e$e quedar as
Kay dos "ormas de %acerlo& :ora sip"e'Nive": :a%i"( y :ora sip"e'Nive": Nora"(. Ver(n porque.
:ora sip"e'Nive": :a%i"(: El pro$lema de la "orma simple es que al agregar el primervalor y al darle sumar nos
agrega el primer valor ingresado, en ve de esperar los otros valores que se van a sumar. Por ejemplo&
5( *i ingreso 5 en lugar de quedar el La!e"N en $lanco te muestra el primer valor ingresado, en ve de quedarse en
$lanco el La!e"N, para poder ingresar el siguiente valor sumarlo y mostrar el resultado. Prue$enlo y veran porque.
2qu esta el cdigo 04arle do$le clc3 al CoandB.tton e introducir lo siguiente1
Option E-p"i%it
Di *uma As Do.!"e
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
Private S.! )ommandDV)lic301
Di Valor As Do.!"e
Valor L >e+tD
*uma L *uma H Valor
La$elB L *uma
End S.!
:ora sip"e'Nive": Nora"(: Esta es la "orma en que vemos si se %a ingresado datos o no en el Te-tBo- usando
condicionales, y tam$in nos ayuda a sumar de "orma cmoda como las calculadora de Kindo[s.
4e$e quedarte as&
2qu esta el cdigo 04arle do$le clc3 al CoandB.tton e introducir lo siguiente1
Di =peracion As Strin<
Di @nicio As Boo"ean
Di PrimerValor, Valor*iguiente, *uma

Private S.! )ommandDV)lic301
PrimerValor L Val0>e+tD.>e+t1
>e+tD.>e+t L ,,
@nicio L :a"se
=peracion L ,S.a,
End S.!
Private S.! )ommandCV)lic301
>e+tD.>e+t L ,,
La$elB L ,,
Valor*iguiente L Z
@nicio L :a"se
End S.!
Private S.! )ommandBV)lic301
I2 >e+tD L ,, T3en
)s<Bo- ,Usted no 3a in<resado s. n.ero,
End I2
Valor*iguiente L >e+tD.>e+t
Se"e%t Case =peracion
Case ,S.a,
*uma L PrimerValor H Valor*iguiente
La$elB L *uma
End Se"e%t
End S.!
;( Escri$ir un programa que lea ? n!meros enteros y escri$a la media aritmtica 0Promedio1 de los mismos
Se 3a%e de tres aneras
Priera anera
*e de$e crear&
? >e+tBo+
X La$el 0En el \"tio La$el cam$ia el Border*tyle de Z F None a 5 F :i-ed Sin<"e1
5 )ommandButton
4e$e quedarte as
2qu esta el cdigo 04arle do$le clc3 al CoandB.tton e introducir lo siguiente1
Private S.! )ommandDV)lic301
Di PrimerValor As Inte<er, *egundoValor As Inte<er, >ercerValor As Inte<er, )uartoValor As Inte<er,
WuintoValor As Inte<er
PrimerValor L >e+tD
*egundoValor L >e+tC
>ercerValor L >e+tB
)uartoValor L >e+tA
WuintoValor L >e+t6
La$elF L 0PrimerValor H *egundoValor H >ercerValor H )uartoValor H WuintoValor1 ??
End S.!
Se<.nda anera:
Esta manera es para que cuando se nos olvide poner el alg!n valor en cualquierTe-tBo-, nos muestre un mensaje de
que "alta ingresar un valor en tal Te-tBo-
Se de!e %rear:
? >e+tBo+
X La$el 0En el !ltimo La!e" cam$ia el Border*tyle de Z F None a 5 F :i-ed Sin<"e1
5 )ommandButton
4e$e quedarte as
2qu esta el cdigo 04arle do$le clc3 al CoandB.tton e introducir lo siguiente1
Private S.! )ommandDV)lic301
Di PrimerValor As Inte<er, *egundoValor As Inte<er, >ercerValor As Inte<er, )uartoValor As Inte<er,
WuintoValor As Inte<er
PrimerValor L Va"0>e+tD1
*egundoValor L Va"0>e+tC1
>ercerValor L Va"0>e+tB1
)uartoValor L Va"0>e+tA1
WuintoValor L Va"0>e+t61
I2 >e+tD L ,, T3en
)s<Bo- ,:a"ta e" .n va"or en "a %asi""a 5,
E"seI2 >e+tC L ,, T3en
)s<Bo- ,:a"ta e" .n va"or en "a %asi""a ;,
E"seI2 >e+tB L ,, T3en
)s<Bo- ,:a"ta e" .n va"or en "a %asi""a N,
E"seI2 >e+tA L ,, T3en
)s<Bo- ,:a"ta e" .n va"or en "a %asi""a >,
E"seI2 >e+t6 L ,, T3en
)s<Bo- ,:a"ta e" .n va"or en "a %asi""a ?,
E"se
La$elF L 0PrimerValor H *egundoValor H >ercerValor H )uartoValor H WuintoValor1 ? 6
End I2
End S.!
Ter%era 2ora:
Para eso de$emos crear una ,)atriL de Contro"es,, lo que signi"ica que de$emos crear ] veces un TE/T5
)omo se muestra gr("icamente.
)reamos un Te-tBo-
Le damos clic3 derec%o del )o.se y nos saldr( el siguiente cuadro lo cual sale una opcin que dice %opiar.
2%ora acercamos el cursor en el espacio del "ormulario le damos %"i%& derec%o y pegar. = lo m(s "(cil apretamos la
tecla Ctr" y la tecla V las dos 0teclas a la ve1
Luego de %a$erle dado pegar te va a salir un cuadro que te dice lo siguiente&
"Ja e+iste un control llamado >e+tD X4eseas crear una matri de controlesY"
Les das clic3 en SI o en A%eptar
)reas ? >e+tD
X La$els
y .n )ommandButton
El "ormulario de$e quedarte as
2qu esta el cdigo 04arle do$le clc3 al CoandB.tton e introducir lo siguiente1
Private S.! )ommandDV)lic301
Di PrimerValor As Inte<er, *egundoValor As Inte<er, >ercerValor As Inte<er, )uartoValor As Inte<er,
WuintoValor As Inte<er
PrimerValor L Va"0>e+tD0Z11
*egundoValor L Va"0>e+tD0511
>ercerValor L Va"0>e+tD0;11
)uartoValor L Va"0>e+tD0N11
WuintoValor L Va"0>e+tD0>11
I2 >e+tD051 L ,, T3en
)s<Bo- ,:a"ta e" .n va"or en "a %asi""a 5,
E"seI2 >e+tD0;1 L ,, T3en
)s<Bo- ,:a"ta e" .n va"or en "a %asi""a ;,
E"seI2 >e+tD0N1 L ,, T3en
)s<Bo- ,:a"ta e" .n va"or en "a %asi""a N,
E"seI2 >e+tD0>1 L ,, T3en
)s<Bo- ,:a"ta e" .n va"or en "a %asi""a >,
E"seI2 >e+tD0?1 L ,, T3en
)s<Bo- ,:a"ta e" .n va"or en "a %asi""a ?,
E"se
La$elF L 0PrimerValor H *egundoValor H >ercerValor H )uartoValor H WuintoValor1 ??
End I2
End S.!
N( El alquiler de un ve%culo cuesta XZ.ZZZ !o"Qvares por da m(s X?Z !o"Qvares por cada 3ilmetro recorrido. Escri$ir
un programa que lea por teclado el n!mero dedQas en a"T.i"er y el n\eros de &i"#etros re%orridos y .estre e"
onto tota" T.e se de!e pa<ar.
*e de$e crear&
; >e+tBo+
> La$el 0En el !ltimo La!e" cam$ia el Border*tyle de Z F None a 5 F :i-ed Sin<"e1
5 )ommandButton
4e$e quedarte as
2qu esta el cdigo 04arle do$le clc3 al CoandB.tton e introducir lo siguiente1
Private S.! )ommandDV)lic301
ODe%"araos "as %onstantes
Const 2lquiler4el2uto L XZZZZ
Const ZilometrosIecorrido L X?Z

Di 4ias4e2lquiler As Inte<er
Di ZilometrosIecorridos As Inte<er

4ias4e2lquiler L Va"0>e+tD1
Zilometros L Va"0>e+tC1

I2 >e+tD L ,, T3en
)s<Bo- ,No 3as in<resado "os dias,
E"seI2 >e+tC L ,, T3en
)s<Bo- ,No 3as in<resado "os &i"oetros,
E"se
La$elB L 04ias4e2lquiler S 2lquiler4el2uto1 H 0ZilometrosIecorrido S Zilometros1
End I2


End S.!
>( Escri$ir un programa que lea por teclado un numero entero, el cual representa un monto en $olvares y muestre
cuantos $illetes de ?Z.ZZZ, ;Z.ZZZ, 5Z.ZZZ, ?.ZZZ,;.ZZZ y 5.ZZZ y cuantas monedas
de ?ZZ, 5ZZ, ?Z, ;Z, 5Z, ? y 5 constituyen esa cantidad.
2qu usaremos Inp.tBo-
*e de$e crear&
5N >e+tBo+
5N La$el
5 )ommandButton
4e$e quedarte as
2qu esta el cdigo 04arle do$le clc3 al CoandB.tton e introducir lo siguiente1
Option E-p"i%it
Private S.! )ommandDV)lic301
Di ;onto As Lon<


OIn<resaos "os datos
;onto L Inp.tBo-0,In<rese s. onto,1

>e+tD L ;onto : ?ZZZZ
>e+tC L ;onto : ;ZZZZ
>e+tB L ;onto : 5ZZZZ
>e+tA L ;onto : ?ZZZ
>e+t6 L ;onto : ;ZZZ
>e+t, L ;onto : 5ZZZ
>e+tF L ;onto : ?ZZ
>e+tG L ;onto : 5ZZ
>e+tO L ;onto : ?Z
>e+tD- L ;onto : ;Z
>e+tDD L ;onto : 5Z
>e+tDC L ;onto : ?
>e+tDB L ;onto : 5



End S.!
?( Escri$ir un programa que solicite al usuario la introduccin de un n!mero de tresdgitos y que lo imprima en orden
inverso. E+ep"o: Para una entrada de Y]?,la salida de$er( ser ?]Y.
*e de$e crear&
; >e+tBo+
; La$el
5 )ommandButton
4e$e quedarte as
2qu esta el cdigo 04arle do$le clc3 al CoandB.tton e introducir lo siguiente1
Private S.! )ommandDV)lic301

Di .umero As Inte<er
Di )alculo/no As Inte<er, Iespuesta/no As Inte<er
Di )alculo4os As Inte<er, Iespuesta4os As Inte<er

.umero L >e+tD

)alculo/no L .umero : 5ZZ
Iespuesta/no L .umero )od 5ZZ

)alculo4os L Iespuesta/no : 5Z
Iespuesta4os L Iespuesta/no )od 5Z

>e+tC L Iespuesta4os G )alculo4os G )alculo/no

End S.!
Y( 4ados tres valores enteros, los cuales representan las longitudes de los lados de un tri(ngulo, escri$ir un programa
que determine si el tri(ngulo es is#s%e"esV eT.i"0tero o es%a"eno.
*e de$e crear&
> La$el
N >e+tBo+
5 )ommandButton
4e$e quedar as
2qu esta el cdigo 04arle do$le clc3 al CoandB.tton e introducir lo siguiente1
Private S.! )ommandDV)lic301
Di Lado/no As Inte<er, Lado4os As Inte<er, Lado>res As Inte<er

Lado/no L >e+tD
Lado4os L >e+tC
Lado>res L >e+tB

I2 Lado/no L Lado4os And Lado4os L Lado>res T3en
La$elA L ,Es eT.i"0tero,
E"seI2 Lado/no L Lado4os Or Lado/no L Lado>res Or Lado4os L Lado>res OrLado4os L Lado/no Or Lado>res L
Lado/no Or Lado>res L Lado4os T3en
La$elA L ,Isos%e"es,
E"se
La$elA L ,Es%a"eno,
End I2
End S.!
X( Escri$ir un programa que dada la %ora en 66&))&SS calcule y muestre la %ora un segundo despus.
4onde&
66 es la %ora
)) son los minutos
SS son los segundos
*e de$e crear&
N >e+tBo+
N )ommandButton
4e$e quedar as
2qu esta el cdigo 04arle do$le clc3 al CoandB.tton e introducir lo siguiente1
Private S.! )ommandBV)lic301
Varia$leKora L >e+tD
Varia$le;inutos L >e+tC
Varia$le*egundos L >e+tB
Varia$le*egundos L Varia$le*egundos H 5
I2 Varia$le*egundos L YZ T3en
Varia$le*egundos L Z
Varia$le;inutos L Varia$le;inutos H 5
I2 Varia$le;inutos L YZ T3en
Varia$le;inutos L Z
Varia$leKora L Varia$leKora H 5
@" Varia$leKora [ 5; T3en
Varia$leKora L 5
End I2
End I2
End I2
>e+tD L Varia$leKora
>e+tC L Varia$le;inutos
>e+tB L Varia$le*egundos
End S.!
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
Private S.! )ommandDV)lic301
>e+tD L ,,
>e+tC L ,,
>e+tB L ,,
End S.!
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
Private S.! )ommandCV)lic301
End
End S.!
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
NOTA:
A( El )ommandButtonB es el $otn 6ora
B( El )ommandButtonD es el $otn Borrar
C( El )ommandButtonC es el $otn Sa"ir

S-ar putea să vă placă și