Vous êtes sur la page 1sur 158

VISUAL BASIC 6.

0
VISUAL BASIC 6.0
Programacin Orienta a Eventos
Programacin Orienta a Eventos
Desarrollando Grupo Experto Bucarelly
Desarrollando Grupo Experto Bucarelly
Primera edicin
VISUAL BASIC 6.0
VISUAL BASIC 6.0
Desarrollando Grupo Experto Bucarelly
Desarrollando Grupo Experto Bucarelly
Primera edicin
CARLOS M. RODRIGUEZ BUCARELLY
Autor de este libro
Maestro actual del Centro Educativo Divina Providencia
Ing. en Sistemas
PABLO A. RODRIGUEZ BUCARELLY
Coautor de este libro
Encargado del departamento de monitoreo en Codetel
Ing. en Sistemas
Diseo de pginas
EDGAR H. SANCHEZ TAVERAS
Tcnico en Informtica
Revisin tcnica
CARLOS A. MOREL PICHARDO
Lic. en Informtica
Impresor
JOSE ENRIQUE GARCIAS
Lic. en Informtica
TWINSMASTER SOFT CORPORATION
1998-2004

Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Agradezco primero a Dios, ser supremo, creador del universo y todas las cosas dentro de l.
Muchas personas ayudaron en la preparacin de esta edicin, pero agradezco principalmente los
importantes comentarios de mi hermano Pablo A. Rodrguez Bucarelly.
os siguientes revisores aportaron comentarios y sugerencias cuidadosas para el me!oramiento del
manuscrito de esta edicin" #ng. $arlos A. Morel Pichardo, %ec. &dgar '. ()nchez %averas y Adm.
*elson M. Rodrguez Bucarelly.
+n agradecimiento especial a mi compa,ero de traba!o ic. -uan .co. Mena Ma,on, /ue m)s /ue mi
compa,ero lo considero como un padre, por sus grandes conse!os y la gran con0ianza /ue ha depositado
en m para la elaboracin de sus proyectos matem)ticos.
1tros agradecimientos /ue son tambin muy especial son para nuestros soles 'na. Miledis y 'na.
Mnica directora y subdirectora del centro educativo 2ivina Providencia /uienes han permitido la
distribucin de este libro en su distinguido centro educativo.
Agradecimientos
Introduccin a la programacin orientada a
objetos
Conociendo los controles ms usados
(propiedades, eventos y mtodos)
Introduccin al Lenguaje Basic
Los mens
C O N T E N I D O
R E D U C I D O
Arc!ivos y "ntrada#$alida de %atos
"ntorno de programacin &isual Basic '()
A*"+,$ y BIBLI,-.A/IA
00!
Ing. Carlos M. Rodrguez Bucarelly
0rlogo
CONTENIDO DET"##"DO
$0
33
33
34
34
34
35
36
37
38
38
$%
39
39
3:
43
44
44
45
45
45
46
47
48
4;
49
&r'logo
Ca(i)ulo I. In)roducci'n a la (rogra*aci'n orien)ada a o+,e)os
3.3 <=u es la programacin orientada a ob!etos> ?????????????????????
3.4 Programas orientados a eventos ??????????????????????????..
3.5 Programas para el entorno de @indoAs ???????????????????????.
B 3.5.3 Modo de dise,o y modo de e!ecucin ????????????????????.
B 3.5.4 .ormularios y controles ?????????????????????????...
B 3.5.5 1b!etos, propiedades y clase ???...????????????????????.
B 3.5.6 *ombre de ob!etos ????..???????????????????????.
B 3.5.7 &ventos ????????????????????????????????
B 3.5.8 Mtodos ???????????????????????????????...
3.6 Preguntas para contestar ?????????????????????????????..
Ca(i)ulo II. En)orno de (rogra*aci'n Visual Basic 6.0
4.3 <=u es la Cisual Basic 8.D> ???????????????????????????...
4.4 &l entorno de Cisual Basic 8.D ???????????????????????????
B 4.4.3 a barra de menEs y las barras de herramientas est)ndar ????????????...
B 4.4.4 a barra de herramientas no est)ndar F%oolboGH ????????????????
B 4.4.5 os 0ormularios F.ormsH ?????????????????????????..
B 4.4.6 a ventana de proyecto ??????????????????????????
B 4.4.7 a ventana de propiedades ????????????????????????..
B 4.4.8 a ventana .orm ayout ?????????????????????????.
4.5 $reacin de programas e!ecutables ?????????????????????????.
4.6 a ayuda FhelpH de Cisual Basic 8.D ????????????????????????...
4.7 +tilizar el $ode &ditor F&ditor de cdigosH ??????????????????????
4.8 +tilizacin del 2ebugger ?????????????????????????????
B 4.8.3 &!ecucin controlada de un programa ????????????????????.
4.; Preguntas para contestar ?????????????????????????????..
-iguien)e (.gina /
CONTENIDO DET"##"DO
0120
53
53
53
55
56
56
5;
5;
59
5:
5:
66
66
66
66
66
7D
7D
73
73
73
76
76
76
77
7;
84
85
87
Ca(i)ulo III. Conociendo los con)roles *.s usados 3(ro(iedades4 e5en)os y *6)odos7
5.3 #ntroduccin a los controles m)s usuales ???????????????????????
B 5.3.3 Botn de comando F$ommandButtonH ????????????????????
B 5.3.3.3 Propiedades de los botones de comando ??????????????...
B 5.3.3.4 &ventos sobre los botones de comando ???????????????.
B 5.3.3.5 Mtodos de los botones de comando ????????????????.
B 5.3.3.6 Algunos e!ercicios pr)cticos ???????????????????..
B 5.3.4 $a!as de teGto F%eGtBoGH ?????????????????????????.
B 5.3.4.3 Propiedades de las ca!as de teGto ?????????????????...
B 5.3.4.4 &ventos sobre las ca!as de teGto ??????????????????.
B 5.3.4.5 Mtodos de las ca!as de teGto ???????????????????
B 5.3.4.6 Algunos e!ercicios pr)cticos ???????????????????..
B 5.3.5 Botones de opcin F1ptionButtonH ?????????????????????..
B 5.3.5.3 Propiedades de los botones de opcin ???????????????...
B 5.3.5.4 &ventos sobre los botones de opcin ????????????????.
B 5.3.5.5 Mtodos de los botones de opcin ?????????????????.
B 5.3.5.6 Algunos e!ercicios pr)cticos ???????????????????..
B 5.3.6 $a!as de comprobacin F$hecIBoGH ????????????????????...
B 5.3.6.3 Propiedades de las ca!as de comprobacin ??????????????
B 5.3.6.4 &ventos sobre los botones de comprobacin ?????????????.
B 5.3.6.5 Mtodos sobre los botones de comprobacin ?????????????
B 5.3.6.6 Algunos e!ercicios pr)cticos ???????????????????..
B 5.3.7 Barras de desplazamiento F(crollBarsH ????????????????????
B 5.3.8 &ti/uetas FabelsH ????????????????????????????
B 5.3.; as ca!as de lista FistBoGH ????????????????????????..
B 5.3.;.3 Mtodos y propiedades de las ca!as de lista ?????????????..
B 5.3.;.4 Algunos e!ercicios pr)cticos ???????????????????..
B 5.3.9 $a!as combinadas F$omboBoGH ??????????????????????..
B 5.3.9.3 Algunos e!ercicios pr)cticos ???????????????????..
5.3.: $ontroles relacionados con 0icheros ????????????????????????.
-iguien)e (.gina /
CONTENIDO DET"##"DO
87
87
88
89
8:
;5
;7
;7
;8
;8
;;
;;
;9
;9
;:
9D
8$
94
94
94
95
95
96
98
98
98
9;
9;
99
99
B 5.3.3D $ontrol tiempo F%imerH ?????????????????????????..
B 5.3.3D.3 Propiedades del control tiempo ?????????????????...
B 5.3.3D.4 Algunos e!ercicios pr)cticos ???????????????????
5.4 Algunas propiedades comunes a varios controles ???????????????????...
5.5 $a!as de dialogo est)ndar F$ommond2ialogH ?????????????????????.
B 5.5.3 Centana abrir y gravar F1penJ(aveH del 2ialog $ontrol ?????????????.
B 5.5.4 Centana de imprimir FPrintH del 2ialog $ontrol ????????????????..
B 5.5.5 Centana de 0uente F.ontH del 2ialog $ontrol ?????????????????..
5.6 os 0ormularios ?????????????????????????????????
B 5.6.3 Propiedades de los 0ormularios ???????????????????????
B 5.6.4 Mtodos sobre los 0ormularios ???????????????????????
B 5.6.5 &ventos de los 0ormularios ???????????????????????..?
B 5.6.6 .ormularios mEltiples ??????????????????????????..
B 5.6.6.3 .ormularios M2# FMultiple 2ocument #nter0aceH ???????????.
5.7 $ontroles basados en arreglos FarraysH ????????????????????????
5.8 #magen con todos los controles m)s usuales en Visual Basic 6.0 ?????????????..
Ca(i)ulo IV. In)roducci'n al #engua,e Basic
6.3 &l lengua!e Basic ????????????????????????????????.
B 6.3.3 #ntroduccin ??????????????????????????????.
6.4 $omentarios y otros elementos en el engua!e Basic ??????????????????.
6.5 1b!eto de un programa ??????????????????????????????
B 6.5.3 #denti0icadores ?????????????????????????????.
B 6.5.4 Palabras reservadas en Cisual Basic 8.D ???????????????????..
6.6 %ipos de datos de variables ????????????????????????????.
B 6.6.3 $lasi0icacin de los tipos de datos ?????????????????????...
B 6.6.3.3 %ipos enteros FByte, #nteger, ongH ????????????????.
B 6.6.3.4 %ipos reales F(ingle, 2ouble, $urrencyH ??????????????.
B 6.6.3.5 %ipos cadena F(tringH ?????????????????????...
B 6.6.3.6 %ipos lgicos FBooleanH ????????????????????...
B 6.6.3.7 %ipos variados FCariantH ????????????????????..
-iguien)e (.gina /
CONTENIDO DET"##"DO
99
9:
:4
:5
:5
:6
:6
:6
:7
:7
:;
:;
3DD
3DD
3D4
3D5
3D7
3D8
3D;
$00
33D
33D
333
334
335
34D
343
6.7 $onstantes ??????????????????????????????????...
B 6.7.3 2eclaracin de constantes ?????????????????????????
6.8 Cariables ???????????????????????????????????..
B 6.8.3 2eclaraciones de variables ????????????????????????...
B 6.8.4 *ombres descriptivos de las variables ????????????????????.
B 6.8.5 Almacenar y recuperar datos en variables ??????????????????...
6.; &Gpresiones y operadores ?????????????????????????????
B 6.;.3 1peradores aritmticos" K,B,L,J ???????????????????????
B 6.;.4 1perador Mod ?????????????????????????????..
B 6.;.5 1peradores lgico ????????????????????????????
B 6.;.6 1peradores de concatenacin ???????????????????????..
6.9 Algunos e!ercicios pr)cticos ????????????????????????????
6.: (entencias de control ??????????????????????????????...
B 6.:.3 (entencia #. ? %'&* ? &(& ? ????????????????????...
B 6.:.4 (entencia (&&$% $A(& ????????????????????????...
B 6.:.5 (entencia .1R ? *&M% ?????????????????????????
B 6.:.6 (entencia 21 ? 11P ?????????????????????????...
B 6.:.7 (entencia @'#& ? @&*2 ???????????????????????..
B 6.:.8 (entencia .1R &A$' ? *&M% ??????????????????????.
Ca(i)ulo V. #os *en9s
7.3 <=u son los menEs> ??????????????????????????????...
7.4 &lementos de los menEs ?????????????????????????????..
7.5 &l &ditor de MenE FMenu &ditorH ?????????????????????????...
B 7.5.3 2escripcin de los elementos del &ditor de MenEs ???????????????.
B 7.5.4 $reacin de menEs en Cisual Basic 8.D ???????????????????...
B 7.5.5 $reacin de submenEs ??????????????????????????.
B 7.5.6 &vento principal de los elementos de los menEs ????????????????.
-iguien)e (.gina /
CONTENIDO DET"##"DO
$
345
348
349
349
353
353
354
354
356
356
358
358
358
35;
35;
35;
359
359
35:
35:
368
373
377
378
37;
Ca(i)ulo VI. "rc:i5os y En)rada;-alida de Da)os
8.3 $a!as de di)logo MsgBoG e #nputBoG ????????????????????????.
8.4 Mtodo Print ??????????????????????????????????
B 8.4.3 $aractersticas generales ???????????????????????...
B 8.4.4 .uncin .ormat ???????????????????????????.
8.5 +tilizacin de impresoras ?????????????????????????????
B 8.5.3 Mtodo Print.orm ??????????????????????????.
B 8.5.4 1b!eto Printer ????????????????????????????
8.6 $ontroles .ileist, 2irist y 2riveist ????????????????????????
8.7 #ntroduccin a los archivos ????????????????????????????..
8.8 $oncepto de archivos ba!o @indoAsJCisual Basic ???????????????????.
8.; 1peraciones sobre el sistema de archivos ???????????????????????
B 8.;.3 (entencia Nill ????????????????????????????
B 8.;.4 (entencia *ame ???????????????????????????.
B 8.;.5 (entencia MI2ir ???????????????????????????
B 8.;.6 (entencia Rm2ir ??????????????????????????...
B 8.;.7 (entencia $h2ir ???????????????????????????.
B 8.;.8 (entencia $h2rive ??????????????????????????.
8.9 1peraciones con archivos ?????????????????????????????
8.: %ipos de archivos ????????????????????????????????.
B 8.:.3 Archivos de acceso secuencial ?????????????????????..
B 8.:.4 Archivos de acceso aleatorio ??????????????????????.
B 8.:.5 Archivos de acceso binario ???????????????????????
"NE<O-
O %abla de valores A($## ??????????????????????????????..
O $ontroles no traba!ados ??????????????????????????????..
O Bibliogra0a ???????????????????????????????????.
(e prohbe la reproduccin parcial o total de este
material si no se especi0ica el nombre del autor. &ste libro
ha sido creado con la 0inalidad de proporcionar la
in0ormacin necesaria para el mane!o del
programa Visual Basic 6.0, por motivo al alto costo de
los libros de esta materia.
(anto 2omingo, Republica 2ominicana.
Por" #ng. $arlos Manuel Rodrguez Bucarelly
&nero del 4DD6.
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
0rlogo
A medida del paso de los a,os los lengua!es de programacin han evolucionado considerablemente
dando lugar a nuevos mtodos de dise,o de programas /ue 0acilitan al programador la tarea de dise,ar
aplicaciones comple!as, /ue re/uieren de una gran cantidad de codi0icacin y dise,os de algoritmos
para su desarrollo.
&Gisten distintos tipo de mtodo de dise,o de programas. &l primer mtodo de dise,o /ue se empleaba
para la creacin de programas es el Ti(o -ecuencial 3+a):7. +n programa secuencial se desarrolla de
0orma ordenada, cada lnea de cdigo se e!ecuta una por una, es decir, cada lnea de cdigo esta
precedida por otra lnea de cdigo /ue ya 0ue e!ecuta. A este tipo de programas se les llaman tambin
programas orientados a procedimientos o algoritmos 3&rocedural #anguages7.
1tros tipos de programas son los interactivos /ue eGigen la intervencin del usuario en tiempo de
e!ecucin, ya sea para suministrar datos, o bien, para indicar al programa lo /ue debe hacer por medio
de menEs.
Por su parte los programas orientados a eventos son los programas tpicos de =indo>s, tales como
=ord, E?cel, &o>er&oin), etc. $uando uno de estos programas ha arrancado, lo Enico /ue hace es
/uedarse a la espera de alguna accin del usuario, /ue en este caso a dicha accin en la programacin
orientada a eventos se le llama evento. +n evento es una accin /ue realiza el usuario hacia un ob!eto,
por e!emplo, cuando el usuario hace clic en un botn de comando, esa accin de hacer clic en el botn
se le llama evento Click. %ambin cabe mencionar el evento MouseMo5e (movimiento del ratn) /ue
ocurre cuando el usuario mueve el puntero del mouse (ratn) por cual/uier ob!eto sobre una ventana.
Por ser considerada la programacin orientada a eventos el mtodo m)s 0)cil de programar, se ha
seleccionado para la elaboracin de este libro uno de los programas m)s popular para el dise,o de
aplicaciones orientas a eventos /ue es Microso@) Visual Basic 6.0.
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo I
Introduccin a la programacin orientada a objetos
CONTENIDO
3.6 <=u es la programacin orientada a ob!etos>
3.7 Programas orientados a eventos
3.8 Programas para el entorno de @indoAs
B 3.5.3 Modo de dise,o y modo de e!ecucin
B 3.5.4 .ormularios y controles
B 3.5.5 1b!etos y propiedades
B 3.5.6 *ombre de los ob!etos
B 3.5.7 &ventos
B 3.5.8 Mtodos
3.6 Preguntas para contestar
$0
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo I
Introduccin a la programacin orientada a objetos
$.$ ABu6 es la (rogra*aci'n orien)ada a o+,e)osC
&n Visual Basic 6.0 y en otros programas, se le llama objeto a todo lo /ue se ve en una ventana tpica
de @indoAsP los ob!etos son por e!emplo un botn de comando, una ca!a de teGto, una imagen, en
general todo ob!eto visible /ue puedas ver en la pantalla.
(e les llaman objetos por/ue cada uno de ellos poseen propiedades, eventos y mtodos. +n botn de
comando tiene propiedades tales como" Ca()ion F%ituloH /ue indica el teGto /ue tiene el botn, tambin
tiene las propiedades=id): FAnchuraH y Deig:) FAlturaH /ue establecen la anchura y altura del botn.
%odos los ob!etos con /ue traba!emos en Visual Basic 6.0 poseen propiedades, mtodos y eventos,
aun/ue algunos ob!etos pueden tener propiedades, mtodos y eventos /ue otros ob!etos no pueden
tener, por e!emplo, un ob!eto Te?)Bo? Fca!a de teGtoH tiene la propiedad Te?) FteGtoH /ue indica el teGto
/ue contiene la ca!a, de tal manera, es obvio /ue un botn de comando no pueda tener esta propiedad,
as como el evento C:ange F$ambioH /ue poseen las ca!as de teGtos /ue indican cuando el usuario esta
cambiando el contenido de la ca!a, tambin esta claro /ue un botn de comando 3Co**andBu))on7 no
pueda tener este evento.
Resumiendo todo lo dicho anteriormente, se puede de0inir la &rogra*aci'n Orien)ada a O+,e)os
3&OO7 como a/uella en la /ue traba!amos con ob!etos visibles cada uno de los cuales poseen sus
propios eventos, mtodos y propiedades.
$. &rogra*as orien)ados a e5en)os
&s lgico /ue para /ue un programa se pueda llamar orientado a eventos debe haber sido creado en un
lengua!e de programacin orientado a objetos, ya /ue cada objeto espera a algEn evento /ue realice el
usuario sobre l.
os programas orientados a eventos son los programas tpicos de @indoAs, inuG, Beos, /ue esperan a
/ue el usuario realice alguna accin, ya sea con el mouse o con el teclado para realizar alguna 0uncin,
por e!emplo, la calculadora de =indo>s espera a /ue el usuario haga clic Fevento clicH con el mouse
sobre uno de los botones /ue contienen los nEmeros para ponerlo en la ca!a de teGto, o bien, espera a
/ue el usuario pulse un nEmero desde el teclado para ponerlo en la ca!a de teGto.
$$
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo I
Introduccin a la programacin orientada a objetos
$.2 &rogra*as (ara el en)orno de =indo>s
Visual Basic 6.0 est) orientado a la realizacin de programas para =indo>s, pudiendo incorporar
todos los elementos de este entrono in0orm)tico" ventanas, botones, ca!as de di)logo y de teGto, botones
de opcin y de seleccin, barras de desplazamiento, gr)0icos, menEs, etc.
Pr)cticamente todos los elementos de interaccin con el usuario de los /ue dispone =indo>s
0E;08;<&;000;NT pueden ser programados en Visual Basic 6.0 de un modo muy sencillo. &n
ocasiones bastan unas pocas operaciones con el ratn y la introduccin a travs del teclado de algunas
sentencias para disponer de aplicaciones con todas las caractersticas de =indo>s 0E;08;<&;000;NT.
1 $.2.$ Modo de diseFo y *odo de e,ecuci'n
a aplicacin Visual Basic de Microso0t puede traba!ar de dos modos distintos" &n modo diseo y en
modo de ejecucin. &n modo diseo el usuario construye interactivamente la aplicacin, colocando
controles en el 0ormulario, de0iniendo sus propiedades, y desarrollando 0unciones para gestionar los
eventos.
a aplicacin se prueba en modo de ejecucin. &n este caso el usuario actEa sobre el programa
Fintroduce eventosH y prueba cmo responde el programa. 'ay algunas propiedades de los controles
/ue deben establecerse en modo de dise,o, pero muchas otras pueden cambiarse en tiempo de e!ecucin
desde el programa escrito en Visual Basic 6.0.
B $.2. Gor*ularios y Con)roles
$ada uno de los elementos gr)0icos /ue pueden 0ormar parte de una aplicacin tpica de =indo>s es
un tipo de control" botones, ca!as de dialogo y de teGto, ca!as de seleccin desplegables, los botones de
seleccin y de opcin, las barras de desplazamiento horizontales y verticales, los gr)0icos, los menEs, y
muchos otros elementos son controles para Visual Basic 6.0. $ada control debe tener un no*+re a
travs del cual se puede hacer re0erencia a el en el programa. Visual Basic 6.0 asigna no*+res por
de0ecto a los controles. Visual Basic permite al usuario cambiar los nombres por defecto.
$
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo I
-uia *ro( 1 &isual Basic
&n Visual Basic 8.D un formulario es una ventana. +n formulario puede ser considerado como una
especie de contenedor para los controles. +na aplicacin puede tener uno o varios formularios
FventanasH, pero un Enico formulario puede ser su0iciente para la creacin de una aplicacin sencilla.
os formularios deben tambin tener un nombre /ue permita hacerse re0erencia a l del l.
1 $.2.2 O+,e)os4 &ro(iedades y Clase
A los controles /ue colocamos en un formulario /ue poseen propiedades, mtodos y eventos se les
llaman objetos y a las caractersticas propias de esos objetos se les llaman propiedades.
a clase es la entidad genrica a la /ue pertenece un control, por e!emplo, en un programa puede haber
varios botones, cada uno de los cuales es un objeto /ue pertenece a una clase de los controles
3Co**andBu))on7. $ada formulario y cada tipo de control tienen un con!unto de propiedades /ue
de0inen su aspecto gr)0ico Ftama,o, color, posicin en la ventana, tipo y tama,o de letra, etc.H y su
0orma de responder a las acciones FeventosH del usuario. $ada propiedad tiene un nombre /ue viene ya
de0inido por el lengua!e.
Por lo general, las propiedades de un objeto son datos /ue tienen valores lgicos 3)rue4 @alse7 o
numricos concretos, propios de ese objeto y distintos de las de otros objetos de su clase. As pues, cada
clase, tipo de objeto o control tienen su con!unto de propiedades, y cada objeto o control tienen valores
determinados para las propiedades de su clase.
$asi todas las propiedades de los objetos pueden establecerse en tiempo de diseo y tambin casi
siempre en tiempo de ejecucin. &n este segundo caso se accede a sus valores por medio de las
sentencias del programa en 0orma an)loga a como se accede a cual/uier variable en un lengua!e de
programacin. Para ciertas propiedades sta es la Enica 0orma de acceder a ellos. Por supuesto Visual
Basic 6.0 permite crear distintos tipos de variables, como ver) m)s adelante.
Para acceder a una propiedad de un objeto se hace por medio del nombre del objeto 3na*e74 seguido de
un punto F.H y el nombre de la propiedad. Por e!emplo, para cambiar el color de 0ondo de una ca!a de
teGto F%eGtBoGH llamada %eGt3 se hara de la siguiente manera"
&!emplo"
%eGt3.BacHColor Q vbRed
$2
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo I
Introduccin a la programacin orientada a objetos
2onde Te?)$ es el nombre del control, BacHColor es el nombre de la propiedad /ue permite cambiar el
color del 0ondo de la ca!a de teGto y 5+Red es el valor /ue se le ha asignado a la propiedad BacHColor,
/ue en este caso es el color ro!o de Visual Basic 6.0.
1 $.2.! No*+re de o+,e)os
&n principio cada objeto de Visual Basic 6.0 debe tener un nombre, por medio del cual se hace
re0erencia a dicho objeto. &l nombre 3na*e7 puede ser el /ue el usuario desee, e incluso Visual Basic
6.0 proporciona nombres por defecto para los diversos controles. &stos nombres por defecto hacen
re0erencia al tipo de control y van seguido de un nEmero /ue se incrementa a medida /ue se van
introduciendo m)s controles de ese mismo tipo en el 0ormulario, por e!emplo, Te?)$ para una ca!a de
teGto, Te?) para otra ca!a de teGto, Co**and$ para un botn de comando, Co**and para otro
botn de comando, etc.
os nombres por defectos no son adecuados por/ue slo hacen re0erencia al tipo de control, pero no al
uso /ue de dicho control est) haciendo el programador. Por e!emplo, si se agregan dos botones a una
aplicacin 3Co**and$4 Co**and7 uno para salir de la aplicacin y otro para guardar los cambios
hechos en la aplicacin, sera recomendable /ue el botn de cerrar lleve por nombre Rcmd$errarS y el
botn de guardar RcmdTuardarS y no los nombres por defecto Co**and$ y Co**and, ya /ue en
ocasiones no sabremos para /ue utilizamos uno y para /ue utilizamos el otro.
Para asignar los nombres a los controles eGiste una convencin ampliamente aceptada /ue es la
siguiente" se utilizan siempre tres letras en minEscula /ue indican el tipo de control, seguido de otras
letras Fla primera en mayEsculaH libremente escogidas por el usuario, /ue tienen /ue hacer re0erencia al
uso /ue se va a dar a ese control.
a )a+la $.$ muestra las abreviaturas de los controles m)s usuales, !unto con la nomenclatura inglesa de
la /ue se derivan.
$!
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo I
Introduccin a la programacin orientada a objetos
Abreviatura Control Control
chk CheckBox Combo y Drop-ListBox
cmd CommandButton DirListBox
drv DriveListBox FileListBox
frm Form Frame
hsb HorizontalScrollBar Image
lbl Label Line
lst List Menu
opt OptionButton PictureBox
shp Shape TExtEditBox
tmr Timer VerticalScrollBar
Tabla 1.1. Abreviaturas para los controles ms usuales.
1 $.2.E E5en)os
Ua se ha dicho /ue las acciones del usuario sobre un programa se llaman eventos. (on eventos tpicos"
hacer clic sobre un botn, el hacer doble clic sobre un 0ichero para abrirlo, el arrastrar un icono, el
pulsar una tecla o combinacin de teclas, el elegir una opcin de un menE, el escribir en una ca!a de
teGto o simplemente mover el mouse.
$ada vez /ue se produce un evento sobre un determinado tipo de control, Visual Basic 6.0 arranca una
determinada funcin o procedimiento /ue realiza la accin programada por el usuario para ese evento
concreto. &stos procedimientos se llaman con un nombre /ue se 0orma a partir del nombre del objeto y
el nombre del evento, separados por el car)cter FIH underscore. Por e!emplo, el evento clic de un botn
de comando"
&ri5a)e -u+ $ommand3V$licI F H
End -u+
2onde &ri5a)e -u+ indica la declaracin del procedimiento, Co**and$ especi0ica el nombre del
control, el car)cter FIH underscore indica la separacin entre el nombre del control y el nombre del
evento, ClicH es el nombre del evento /ue especi0ica /ue la accin de ese procedimiento se e!ecutar)
cuando el usuario haga clic sobre el botn, los parntesis 3 7 se utilizan para otras declaraciones /ue
veremos m)s adelante y End -u+ indica el 0in del procedimiento.
$E
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo I
Introduccin a la programacin orientada a objetos
1 $.2.6 M6)odos
os mtodos son 0unciones /ue tambin son llamadas desde el programa, pero a di0erencia de los
procedimientos no son programadas por el usuario, sino /ue vienen ya preBprogramadas con el lengua!e
de programacin. os mtodos realizan tareas tpicas, previsibles y comunes para todas las aplicaciones.
$ada tipo de objeto o de control tienen sus propios mtodos. Por e!emplo, los 0ormularios poseen un
mtodo llamado Dide /ue permite ocultar el 0ormulario y otro mtodo llamado -:o> /ue permite
mostrarlo despus de haber sido ocultado.
Para hacer re0erencia a un mtodo basta con indicar el nombre del objeto 3na*e7 y el nombre del
mtodo separados por un punto.
&!emplo" Para ocultar un 0ormulario
Gor*$.Dide
2nde Gor*$ indica el nombre del control /ue en este caso es un 0ormulario y Dide especi0ica el
nombre del procedimiento.
$.E &regun)as (ara con)es)ar
3. <=u es la programacin orientada a ob!etos>
4. <=u son los ob!etos, eventos y propiedades>
5. 2iga la di0erencia entre eventos y mtodos.
6. <=u indica la di0erencia entre un tipo de control y otro tipo de control>
7. Mencione algunos programas de @indoAs orientado a eventos.
8. Mencione algunos eventos de algunos controles.
;. <$u)l es la di0erencia entre el modo de dise,o y el modo de e!ecucin>
9. <=u son los 0ormularios>
:. <=u son los controles>
3D. Para /ue se utiliza el punto en una lnea de comando.
33. <Por/ue no es recomendable de!ar los nombres por de0ectos a los controles de Cisual Basic
8.D>
34. 2iga las abreviaturas para los controles" $hecIBoG, $ommandButton, abel, (hape, ist,
%imer, #mage.
$6
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo II
"ntorno de programacin &isual Basic '()
CONTENIDO
4.; <=u es la Cisual Basic 8.D>
4.9 &l entorno de Cisual Basic 8.D
B 4.4.3 a barra de menEs y las barras de herramientas est)ndar
B 4.4.4 a barra de herramientas no est)ndar F%oolboGH
B 4.4.5 os 0ormularios F.ormsH
B 4.4.6 a ventana de proyecto
B 4.4.7 a ventana de propiedades
B 4.4.8 a ventana .orm ayout
4.: $reacin de programas e!ecutables
4.3D a ayuda FhelpH de Cisual Basic 8.D
4.33 +tilizar el $ode &ditor F&ditor de cdigosH
4.34 +tilizacin del 2ebugger
B 4.8.3 &!ecucin controlada de un programa
4.; Preguntas para contestar
$%
Ing. Juri*ayra Mendoza
Visual Basic 6.0
Capitulo I
-uia *ro( 2 "ntorno de programacin &isual Basic '()
.$ ABu6 es Visual Basic 6.0C
Visual Basic 6.0 es una eGcelente herramientas de programacin /ue permite crear aplicaciones para
=indo>s 0E;08;000;<&;NT. $on ella se puede crear desde una simple calculadora hasta una ho!a de
c)lculo de la talla de &Gcel, o un procesador de teGto como @ord o bien, cual/uier aplicacin /ue se le
ocurra al programador.
&ste programa permite crear ventana, botones, menEs y cual/uier otro elemento de @indoAs de una
0orma 0)cil e intuitiva.
. El en)orno de Visual Basic 6.0
$uando se arranca Visual Basic 6.0 aparece en la pantalla una con0iguracin similar a la mostrada en la
siguiente 0igura"
$8
.igura 4.3. &ntorno de 2esarrollo de Cisual Basic 8.D
Visual Basic 6.0
"ntorno de programacin &isual Basic '()
&n ella se pueden distinguir los siguientes elementos"
3.B #a +arra de )i)ulo, la +arra de *en9s y la +arra de :erra*ien)as es).ndar.
4.B Barra de :erra*ien)as no es).ndar F%oolboGH con los controles m)s comunes.
5.B Formulario F.ormH en gris, en el /ue se colocan los controles. &st) dotado de una re!illa FgridH para
0acilitar la alineacin de los controles en el 0ormulario.
6.B Ven)ana de (royec)o FPro!ectH, /ue muestra los 0ormularios y otros mdulos de programas /ue
0orman parte de la aplicacin.
7.B Ven)ana de (ro(iedades FPropertiesH, en la /ue se pueden ver las propiedades de un ob!eto
seleccionado sobre el 0ormulario.
8.B Centana Gor* #ayou), /ue permite determinar la 0orma en /ue se vera la aplicacin cuando
comience a e!ecutarse.
&Gisten otros elementos tales como" la ventana para Edici'n de C'digos 3Code Edi)or7 y la ventana
De(urador De+ugger para ver valores en variables en tiempo de e!ecucin. %odo este con!unto de
herramientas y de ventanas es lo /ue se llama un &ntorno #ntegrado de 2esarrollo o #2& F#ntegrated
2evelopment &nvironmentH.
1 ..$ #a +arra de *en9s y la +arra de :erra*ien)as es).ndar
.igura 4.4. Barra de menEs de Cisual Basic 8.D

a barra de menEs de Visual Basic 6.0 resulta similar a la de cual/uier otra aplicacin de =indo>s, tal
y como aparece en la 0igurar 4.4.
.igura 4.5. Barra de herramientas est)ndar
a Barra de Derra*ien)as Es).ndar aparece deba!o de la barra de menEs, /ue permite acceder a las
opciones m)s importantes de los menEs. &n Visual Basic 6.0 eGisten cuatro barras de herramientas"
Debug, Edit, FormEditor y Estndar, por de0ecto slo aparece la +arra de :erra*ien)as es).ndar,
aun/ue en la Gigura .$ se muestran las cuatro. 'aciendo clic con el botn derecho del mouse sobre
cual/uier parte de la barra de erramientas, aparece un menE conteGtual con el /ue se puede hacer
aparecer y ocultar cual/uiera de las barras.
$0
Visual Basic 6.0
"ntorno de programacin &isual Basic '()
Algunos de los menEs de la barra de men!s tienen muy pocas novedades, es decir, algunos incluyen las
opciones tpicas de los menEs de cual/uier aplicacin.
&l menE Gile tiene pocas novedades. o m)s importante es la distincin entre pro"ectos. +n pro"ecto
reEne y organiza todos los 0icheros /ue componen el programa o aplicacin. &stos 0icheros pueden ser
formulario, mdulos, clases, recursos, etc. Visual Basic 6.0 permite tener m)s de un proyecto abierto
simult)neamente, lo cual puede ser Etil en ocasiones. $on el comando "dd &ro,ec)K se a,ade un
nuevo proyecto en la ventana &ro,ec) Manager. $on los comandos O(en &royec)K o Ne> &ro,ec) se
abre o se crea un nuevo proyecto, pero cerrando el o los pro"ectos /ue estuvieran abiertos previamente.
&n este menE est) el comando MaHe &ro,ec)Na*e.e?eK, /ue permite crear e!ecutables de los
pro"ectos.
%ampoco el menE Edi) aporta cambios importantes sobre lo /ue es lo habitual. Por el contrario el menE
Vie>, generalmente de poca utilizada, es bastante propio de Visual Basic 6.0. &ste permite hacer
aparecer en pantalla las distintas ventanas del entorno de desarrollo, as como acceder a un formulario o
al cdigo relacionado con un control F/ue tambin aparece al hacer doble clic sobre lH, y mane!ar
funciones y procedimientos.
&l menE &royec) permite a,adir distintos tipos de elementos a un proyecto. Con &ro,ec) &ro(er)iesK
se puede elegir el tipo de proyecto y determinar el 0ormulario con el /ue se arrancar) la aplicacin
F#tartup $bjectH. $on el comando Co*(onen)s se pueden a,adir nuevos controles a la barra de
erramientas no estndar F%oolboGH /ue aparece a la iz/uierda de la pantalla.
&n menE Tools se encuentran los comandos para arrancar el Menu Edi)or y para establecer opciones
del programa. &n Tools;O(cionK se encuentras opciones relativas al proyecto en el /ue se traba!a.
Por ultimo, la ayuda 3:el(7 Fsiempre imprescindible y en el cado de Visual Basic 6.0 particularmente
muy bien hechaH /ue se encuentra en el menE Del(, se basa 0undamentalmente en una clasi0icacin
tem)tica ordenada de la in0ormacin disponible 3Con)en)s74 en una clasi0icacin al0abtica de la
in0ormacin 3Inde?7 y en la bEs/ueda de in0ormacin sobre algEn tema por el nombre 3-earc:7.

0
Visual Basic 6.0
"ntorno de programacin &isual Basic '()
1 .. #a +arra de :erra*ien)as no es).ndar 3Tool+o?7
$
a 0igura 4.5 muestra la barra de erramientas no estndar F%oolboGH, /ue incluye los
controles con los /ue se puede dise,ar la pantalla de la aplicacin. &stos controles son
por e!emplo, botones, eti/uetas, ca!as de teGto, zonas gr)0icas, etc.
Para introducir un control en el formulario simplemente hay /ue hacer clic con el botn
iz/uierdo del mouse sobre el control deseado y colocarlo en el 0ormulario con la posicin
y el tama,o deseado. 'aciendo doble clic sobre el control es tambin otra 0orma de
colocar el control en el formulario, /uedando este ubicado en el centro del formulario.
&l nEmero de controles /ue pueden aparecer en esta ventana varan con la con0iguracin
del sistema. Para introducir nuevos componentes se utiliza el comando Co*(onen)sK
del menE &royec), con el cual se abre el cuadro de dialogo mostrado a continuacin en la
0igura 4.6.
.igura 4.6 $uadro de dialogo Co*(onen)s
Visual Basic 6.0
"ntorno de programacin &isual Basic '()
1 ..2 Gor*ularios 3Gor*s7
os formularios son las zonas de la pantalla sobre las /ue se dise,a el programa y sobre los /ue se
sitEan los controles o erramientas del Tool+o?. Al e!ecutar el programa, el Form se convertir) en la
ventana de la aplicacin donde aparecer)n los botones, las ca!as de teGto, los gr)0icos, etc. &n la Gigura
.E se muestra un tpico formulario de Visual Basic 6.0.
.igura 4.7. .ormulario de Cisual Basic 8.D
&l con!unto de puntos /ue aparecen sobre el 0ormulario se llama malla o ret%cula 3grid7 /ue permite
alinear los controles manualmente de una 0orma precisa, evitando tener /ue introducir coordenadas
continuamente. &sta malla slo ser) visible en el proceso de dise,o del programaP al e!ecutarlo la malla
autom)ticamente desaparece.
1 ..! #a 5en)ana de (royec)o 3&ro,ec)7

a ventana de pro"ect permite acceder a los distintos formularios y


mdulos /ue componen el pro"ecto. 2esde ella se puede ver el dise,o
gr)0ico de dichos 0ormularios, y tambin permite editar el cdigo /ue
contienen.
.igura 4.8 Centana de proyecto
Visual Basic 6.0
"ntorno de programacin &isual Basic '()
1 ..E #a 5en)ana de (ro(iedades 3&ro(er)ies7

.igura 4.; Centana de Propiedades
1 ..6 #a 5en)ana Gor* #ayou)
.2 Creaci'n de (rogra*as e,ecu)a+les
+na vez 0inalizada la programacin de la nueva aplicacin, la siguiente tarea suele consistir en la
creacin de un programa e!ecutable para su distribucin e instalacin en cuantos ordenadores se desee,
incluso aun/ue en ellos no este instalado Visual Basic 6.0.
Para crear un programa e!ecutable se utiliza el comando MaHe &ro,ec)Na*e.e?eK del menE Gile. 2e
esta manera se genera un 0ichero cuya eGtensin ser) F.&M&H. Para /ue este programa 0uncione en un
ordenador solamente se necesita /ue el 0ichero M(CBCM8D.2 est instalado en el directorio de
CLM=indo>sM-ys)e* o CLM=inNTM-ys)e*2.
2
&n la ventana de propiedades se muestran todas las propiedades de un
control seleccionado en la aplicacin. Mediante esta ventana es posible
cambiar los valores de las propiedades de cada uno de los controles
indicando as sus caractersticas antes de e!ecutar la aplicacin.
A medida /ue se seleccionan los controles en la aplicacin, se puede
apreciar /ue las propiedades /ue antes mostraba la ventana
desaparecen y muestran las propiedades del control /ue ha sido
seleccionado actualmente.
a cantidad de propiedades /ue aparecen en la ventana de
propiedades, depende de las caractersticas propias de ese control.
&n esta ventana se muestran todos los formularios de una
aplicacin, donde es posible seleccionar cada uno de ellos y
ubicarlos en la posicin deseada de la pantalla. &l formulario
actual, es decir, con el cual se traba!a, es el formulario /ue aparece
seleccionado en la ventana de Gor* #ayou).
Visual Basic 6.0
"ntorno de programacin &isual Basic '()
&n el caso de proyectos m)s comple!os en los /ue se utilicen muchos controles pueden ser necesarios
m)s 0icheros, la mayora de ellos con eGtensiones .oc?, .5+? o .dll. Para saber en cada caso cuales son
los 0icheros necesarios, se puede consulta el 0ichero .5+( /ue contiene la descripcin completa del
proyecto. $asi todos esos 0icheros se instalan autom)ticamente al instalar el compilador de Visual
Basic 6.0 en el ordenador.
.! #a ayuda 3:el(7 de Visual Basic 6.0
Visual Basic 6.0 dispone de un Del( eGcelente, como la mayora de las aplicaciones de Microso0t. &n
esta nueva versin la ayuda se o0rece a travs de una inter0az de usuario similar a la de &nternet
E'plorer. &stando seleccionado un control, una propiedad o un formulario, o estando seleccionada una
palabra clave en la ventana de cdigo, esta ayuda se puede utilizar de modo sensible al conteGto
pulsando la tecla W.3X.
.igura 4.: Ayuda de Cisual Basic 8.D
!
Visual Basic 6.0
"ntorno de programacin &isual Basic '()
1tra 0orma de acceder a la ayuda es mediante las opciones del men! Del(. As, mediante la opcin
&nde' se puede obtener in0ormacin sobre muchos trminos relacionados con Visual Basic 6.0.
+na vez obtenida la ayuda sobre un trmino seleccionado se pueden encontrar temas relacionados con
ese trmino en la opcin -ee "lso. &n caso de /ue se haya solicitado ayuda sobre un determinado tipo
de control, se podra acceder tambin a la ayuda obtener todos y cada uno de sus propiedades, eventos
" mtodos con las opciones &ro(er)ies4 Me):ods y E5en)s, respectivamente.
.E U)ilizaci'n del Code Edi)or
&l Editor de (digo de Visual Basic 6.0 es la ventana en la cual se escriben las sentencias del
programa. &sta ventana presenta algunas caractersticas muy interesantes /ue conviene conocer para
sacar el m)Gimo partido de la aplicacin.
Para abrir la ventana del editor de cdigo se elige Code en el menE Vie>. %ambin se abre haciendo
clic en el botn Vie> Code de la ventana de pro"ecto 3&ro,ec)7, o haciendo doble clic en el formulario
o cual/uiera de sus controles. a Gigura .$0 muestra un aspecto tpico de la ventana de cdigo.
.igura 4.3D. Centana de $ode &ditor
E
Visual Basic 6.0
"ntorno de programacin &isual Basic '()
&n primer lugar, el Code Edi)or utiliza un cdigo de colores para hacer di0erencia entre lneas de
cdigo. As, el cdigo escrito por el usuario aparece en negro, las palabras clave de Basic en azul, los
comentarios en verde, los errores en ro!o, etc. &sta simple ayuda visual permite detectar y corregir
problemas con m)s 0acilidad.
&n la parte superior de la ventana aparecen dos listas desplegables. a de la iz/uierda corresponde a los
distintos controles del 0ormulario, el cual puede seleccionarse desde esta lista y de esta manera
modi0icar su cdigo. a lista desplegable de la derecha muestra los distintos procedimientos /ue se
corresponden con el elemento seleccionado en la lista de la iz/uierda.
&n la parte superior mostrada en la 0igura 4.3D encontramos la declaracin O()ion E?(lici) /ue permite
obliga al programador a declarar todas las variables /ue valla a usar, si utiliza una variable /ue no ha
declarado el programa abortar) con un mensa!e de error.
%ambin encontramos dos procedimientos, uno para uno para el e5en)o ClicH de un botn de comando
y otro para el e5en)o #oad del 0ormulario. 2entro de estos procedimientos he agregado algunos
comentarios /ue aparecen de color verde para indicar /ue esta es la zona donde debe escribirse el
cdigo para cada procedimiento.
&n esta ventana aparecen dos barras de desplazamiento, una vertical y una horizontal /ue permiten
desplazar el contenido de la ventana para observar los cdigos no visibles debido al reducido tama,o de
la ventana y al la gran cantidad de cdigo proporcionado por el usuario para la aplicacin.
.6 U)ilizaci'n del De+ugger
$ual/uier programador con un mnimo de eGperiencia sabe /ue una parte muy importante del tiempo
destinado a la elaboracin de un programa se destina a la de)ecci'n y correcci'n de errores. $asi
todos los entornos de desarrollo disponen hoy en da de potentes herramientas /ue 0acilitan la
depuracin de los programas realizados. a herramienta m)s utilizada para ellos es el Depurador o
De+ugger. a caracterstica principal del De+ugger es /ue permite e!ecutar parcialmente el programa,
deteniendo la e!ecucin en el punto deseado y estudiando cada momento el valor de cada una de las
variables. 2e esta manera se 0acilita enormemente el descubrimiento de las 0uentes de errores.
6
Visual Basic 6.0
"ntorno de programacin &isual Basic '()
1 .6.$ E,ecuci'n con)rolada de un (rogra*a
Para e!ecutar (arcial*en)e un programa se pueden utilizar varias 0ormas. +na de ellas consiste en
incluir +reaH(oin)s Fpuntos de parada de la e!ecucinH en determinadas lneas de cdigo. os
+reaH(oin)s se indican con un punto grueso en el margen y un cambio de color de lnea, tal como se ve
en la 0igura 4.33. &l colocar un +reaH(oin) en una lnea de cdigo implica /ue la e!ecucin del
programa se detendr) al llegar a esa lnea. Para insertar +reaH(oin) en una lnea del cdigo se utiliza la
opcin Toggle BreaH(oin) del menE De+ug, con el botn del mismo nombre o pulsando la tecla W.:X,
estando el cursos posicionado sobre la lnea de cdigo. Para borrarlo se repite la misma operacin.
.igura 4.33. +tilizacin del 2ebugger
%
-uia *ro( 2
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
8
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
CONTENIDO
5.4 #ntroduccin a los controles m)s usuales
B 5.3.3 Botn de comando F$ommandButtonH
B 5.3.3.3 Propiedades de los botones de comando
B 5.3.3.4 &ventos sobre los botones de comando
B 5.3.3.5 Mtodos de los botones de comando
B 5.3.3.6 Algunos e!ercicios pr)cticos
B 5.3.4 $a!as de teGto F%eGtBoGH
B 5.3.4.3 Propiedades de las ca!as de teGto
B 5.3.4.4 &ventos sobre las ca!as de teGto
B 5.3.4.5 Mtodos de las ca!as de teGto
B 5.3.4.6 Algunos e!ercicios pr)cticos
B 5.3.5 Botones de opcin F1ptionButtonH
B 5.3.5.3 Propiedades de los botones de opcin
B 5.3.5.4 &ventos sobre los botones de opcin
B 5.3.5.5 Mtodos de los botones de opcin
B 5.3.5.6 Algunos e!ercicios pr)cticos
B 5.3.6 $a!as de comprobacin F$hecIBoGH
B 5.3.6.3 Propiedades de las ca!as de comprobacin
B 5.3.6.4 &ventos sobre los botones de comprobacin
B 5.3.6.5 Mtodos sobre los botones de comprobacin
B 5.3.6.6 Algunos e!ercicios pr)cticos
B 5.3.7 Barras de desplazamiento F(crollBarsH
B 5.3.8 &ti/uetas FabelsH
B 5.3.; as ca!as de lista FistBoGH
B 5.3.;.3 Mtodos y propiedades de las ca!as de lista
B 5.3.;.4 Algunos e!ercicios pr)cticos
B 5.3.9 $a!as combinadas F$omboBoGH
B 5.3.9.3 Algunos e!ercicios pr)cticos
B 5.3.: $ontroles relacionados con 0icheros
0
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
B 5.3.3D $ontrol tiempo F%imerH
B 5.3.3D.3 Propiedades del control tiempo
B 5.3.3D.4 Algunos e!ercicios pr)cticos
5.4 Algunas propiedades comunes a varios controles
5.5 $a!as de dialogo est)ndar F$ommond2ialogH
B 5.5.3 Centana abrir y gravar F1penJ(aveH del 2ialog $ontrol
B 5.5.4 Centana de imprimir FPrintH del 2ialog $ontrol
B 5.5.5 Centana de 0uente F.ontH del 2ialog $ontrol
5.6 os 0ormularios
B 5.6.3 Propiedades de los 0ormularios
B 5.6.4 Mtodos sobre los 0ormularios
B 5.6.5 &ventos de los 0ormularios
B 5.6.6 .ormularios mEltiples
B 5.6.6.3 .ormularios M2# FMultiple 2ocument #nter0aceH
5.7 $ontroles basados en arreglos FarraysH
5.8 #magen con todos los controles m)s usuales en Visual Basic 6.0
20
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Controles
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
2.$ In)roducci'n a los con)roles *.s usuales

os controles m)s usuales son a/uellos /ue usamos con mayor 0recuencia al momento de crear una
aplicacin. &stos controles son" los botones de comando, los botones de opcin, las ca!as de teGto, las
eti/uetas, las barras de desplazamiento, las listas, las ca!as combinadas, los botones de comprobacin,
etc.
1 2.$.$ Bo)'n de co*ando 3Co**andBu))on7
en especi0ico, por e!emplo, un botn para R$ancelarS, un botn para R(alirS, un botn para R#mprimirS,
etc.
&stos botones poseen una gran cantidad de propiedades, mtodos y eventos /ue de0iniremos a
continuacin. &s importante recordar /ue todos los valores de las propiedades de un control
seleccionado en la aplicacin pueden ser observados y modi0icados desde la ventana de propiedades
FPropertiesH.
1 2.$.$.$ &ro(iedades de los +o)ones de co*ando 3Co**andBu))on7
Antes de describir las propiedades m)s usadas de los botones de comando, abra un nuevo proyecto
desde el menE Gile e inserte un botn de comando F$ommandButtonH de la )arra de
erramientas no estndar F%oolBoGH.
&ro(iedad Descri(ci'n
*ame (e utiliza para asignarle el nombre al control. &ste nombre permite hacer re0erencia
al control.
&!ercicio"
'aga clic en el control o en el botn de comando, bus/ue la propiedad 3Na*e7 en la
ventana de propiedades y borre el valor por de0ecto /ue en este caso es (ommand* y
escriba Rcmd(alirS /ue ser) el nuevo nombre del control.
2$
os botones de comando son a/uellos botones tpicos /ue vemos
siempre en las aplicaciones de @indoAs /ue realizan una operacin
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
&ro(iedad Descri(ci'n
BacI$olor $ambia el color del botn. Para /ue el botn tome el color seleccionado debe
establecer el valor R$1 Nra(:icalS en la propiedad -)yle del botn de comando.
&!ercicio"
Bus/ue la propiedad -)yle del botn de comando y seleccione el valor R$1
Nra(:icalS, luego ub/uese en la propiedad BacHColor y seleccione el color
deseado para el botn. &l botn toma el color seleccionado.
$aption &sta propiedad permite establecer el teGto /ue aparece escrito en el botn de
comando. (i utiliza el car)cter 3O7 a*(ersand delante de cual/uier car)cter del
teGto escrito, ese car)cter permite acceder a la 0uncin del botn con solo
presionar la tecla control (ctrl.) m)s el car)cter /ue tiene colocado el a*(ersand
como si hubiese hecho clic sobre el.
&!ercicio"
(eleccione la propiedad Ca()ion del botn de comando y escriba O-alir. &l
ampersand utilizado delante de la letra R-S indica el acceso directo del botn.
#nmediatamente el botn aparece con el teGto R-alirS
2isabledPicture &stablece la imagen /ue aparecer) en el control cuando este est deshabilitado. &s
decir, cuando la propiedad Ena+led este establecida a Galse.
&nabled 'abilita o deshabilita el control, es decir, indica si el botn responder) a los
eventos del usuario. (i el valor de esta propiedad esta en Galse, el botn no
responder) a ninguna accin /ue el usuario haga sobre l.
.ont Permite cambiar el tipo de 0uente del teGto /ue aparece en el botn.
'eight y @idth Permite cambiar la altura y anchura del botn. 2onde Deig:) representa la altura
y =id): la anchura eGpresada en +,ips Funidad de medida de la pantallaH.
e0t y %op
&stablece la posicin iz/uierda y superior del control sobre su contenedor. 2onde
#e@) indica la posicin a la iz/uierda y To( la posicin superior del control.
Picture
Asigna un Bitmap F#magenH al botn de comando siempre y cuando el valor de la
propiedad -)yle del botn de comando este establecido a R$1 Nra(:icalS
2
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
&ro(iedad Descri(ci'n
%ab#ndeG #ndica el orden o el nEmero de orden a /ue le corresponde el control recibir el 0oco
F0ocusH a mediada /ue se pulse la tecla Ta+ sobre los controles de la aplicacin.
Cisible &stablece si el botn estar) o no visible cuando se e!ecute la aplicacin. Puede tomar
los valores True o Galse Fverdadero o 0alsoH.
%ool%ip%eGt &stablece el teGto conteGtual /ue aparece cuando se coloca el puntero del mouse
sobre el control.
1 2.$.$. E5en)os so+re los +o)ones de co*ando
(e ha dicho /ue los eventos son las acciones /ue espera el control /ue el usuario realice sobre el. os
eventos deben ser seleccionados desde la ventana del Editor de (digo /ue aparece cuando se hace
doble $lic sobre el control. os eventos para el control seleccionado aparecen en la es/uina superior
derecha del Editor de (digo F$ode &ditorH en una lista desplegable.
E5en)o Descri(ci'n
$licI 1curre cuando el usuario presiona y suelta el botn iz/uierdo del mouse FratnH sobre el
control.
&!ercicio"
'aga doble $lic en el botn de comando y seleccione el evento clic-, por de0ecto
aparece seleccionado. &scriba la lnea de cdigo siguiente"
MsgBoG FR+sando los eventos de los controles m)s usuales.SH
&!emplo"
&ri5a)e -u+ cmd(alirV$licIF H
Y a sintaGis &nd permite salir de la aplicacin
End
End -u+
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
No)aL 2espus de haber escrito el cdigo corra la aplicacin presionando la tecla PGEQ y
haga clic sobre el botn. &l programa abortar) de inmediato.
2rag2ro
p
1curre cuando se completa una operacin de arrastrar y colocar como resultado de
arrastrar un control sobre un ob!eto y soltar el botn del mouse o usar el mtodo Drag
con su argumento de accin establecido a 4 FDro(H.
22
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
E5en)o Descri(ci'n
2rag1ver 1curre cuando una operacin de arrastrar y colocar est) en curso. Puede usar este
evento para controlar el puntero del mouse a mediada /ue entra, sale o descansa
directamente sobre un destino dado.
Tot.ocus 1curre cuando el ob!eto recibe el en0o/ue, ya sea mediante una accin del
usuario, como tabular o hacer clic en el ob!eto, o cambiar el en0o/ue en el cdigo
mediante el mtodo -e)Gocus.
Ney2oAn,
Ney+p
1curre cuando el usuario presiona o suelta una tecla mientras en ob!eto tiene el
en0o/ue.
NeyPress 1curre cuando el usuario presiona y suelta una tecla al igual /ue Ney2oAn y
Ney+p.
ost.ocus 1curre cuando el control pierde el en0o/ue.
Mouse2oAn,
Mose+p
1curren cuando el usuario presiona FMouse2oAnH o suelta FMouse+pH un botn
del mouse.
MouseMove 1curre mientras el usuario mueve el puntero del mouse sobre el (ontrol.
1 2.$.$.2 M6)odos de los +o)ones de co*ando
os mtodos son las acciones /ue el control puede realizar sobre si mismo sin la necesidad de la
intervencin del usuario, por medio de cdigos o algEn evento.
M6)odo Descri(ci'n
2rag #nicia, termina o cancela una operacin de arrastre de cual/uier control.
Re0resh .uerza el volver a dibu!ar un control completo.
(et.ocus 'ace /ue el control reciba el en0o/ue.
1 2.$.$.! "lgunos e,ercicios (r.c)icos
$1 7 "(licaci'n Rue *ues)ra un *ensa,e de +ien5enida cuando se :ace clic so+re un +o)'n de
co*ando.
&asos a seguirL
aH Abra una nueva aplicacin y agregue un botn de comando.
2!
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
bH (eleccione el botn de comando y en la propiedad Ca()ion escriba ODola.
cH 'aga doble clic en el botn de comando y escriba dentro del evento ClicH lo siguiente"
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
&ri5a)e -u+ $ommand3V$licI F H
MsgBoG FRBienvenido a Cisual Basic 8.DSH
End -u+
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
dH &!ecute la aplicacin con la tecla W.7X y haga clic luego sobre el botn.
1 7 "(licaci'n Rue (er*i)e :a+ili)ar y des:a+ili)ar un +o)'n de co*ando.
&asos a seguirL
aH Abra una nueva aplicacin e inserte tres botones de comando.
bH &scriba al primer botn en la propiedad Ca()ion RBotn PrincipalS y en la propiedad Na*e escriba
RcmdBotonPrincipalS. Al segundo botn escriba en la propiedad Ca()ion RZ2eshabilitarS y en la
propiedad Na*e Rcmd2eshabilitarS. Al tercer botn escriba en la propiedad Ca()ion RZ'abilitarS y en
la propiedad Na*e Rcmd'abilitarS.
2E
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
cH &n el evento Click del segundo botn escriba lo siguiente"
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
&ri5a)e -u+ cmd2eshabilitarV$licI F H
cmdBotonPrincipal.&nabled Q Galse
End -u+
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
dH &n el evento ClicH del tercer botn escriba lo siguiente"
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
&ri5a)e -u+ cmd'abilitarV$licI F H
cmdBotonPrincipal.&nabled Q True
End -u+
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
eH $orra la aplicacin y haga clic sobre los botones de habilitar y deshabilitar.
0H Tuarde la aplicacin desde -a5e &ro,ec) del menE Gile.
E,ercicios &ro(ues)osL
3.B $rear una aplicacin con tres botones de comando uno para mostrar el mensa!e R'ola a todos los
programadores.S, otro para mostrar el mensa!e RCisual Basic 8.DS y el otro para (alir de la aplicacin.
4.B $rear una aplicacin con tres botones de comando uno de los botones ser) para ocultarse y
mostrarse mediante el evento ClicH de los otros dos botones. +no de los botones debe ocultar el botn
principal y el otro mostrarlo. +tilizar la propiedad Visi+le.
5.B $rear una aplicacin /ue cambie el %eGto /ue muestra el botn cuando se hace clic sobre el mismo.
6.B $rear una aplicacin /ue cambie el %eGto de un botn de comando mediante el evento ClicH de otro
botn de comando.
7.B 'acer una aplicacin /ue muestre el %eGto F$aptionH del botn /ue se pulsa en un cuadro de
dialogo. +tilice la sintaGis MsgBo?.
26
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
1 2.$. Ca,as de )e?)o 3Te?)Bo?7
+n control Te?)Bo? tambin denominado control de campo de edicin
o control de edicin, muestra in0ormacin introducida en tiempo de
e!ecucin introducida por el usuario o asignada al control en cdigo en tiempo de e!ecucin.
1 2.$..$ &ro(iedades de las ca,as de )e?)o
as ca!as de teGto poseen las propiedades comunes F*ame, BacI$olor, &nabled, .ont, 'eight, @idth,
e0t, %op, %ab#ndeG, Cisible y %ool%ip%eGtH ya vistas anteriormente en el control Co**andBu))on.
Aparte de estas propiedades las ca!as de teGto poseen caractersticas especiales, es decir, muy propias
de ellas. &stas propiedades se detallan a continuacin"
&ro(iedad Descri(ci'n
Border(tyle $ambia el estilo de borde del control. &sta propiedad puede tomar los valores 01
None FningEn borde ni elemento relacionado con el.H o $1 Gi?ed-ingle Fcon
borde simple 0i!oH.
&!ercicio"
&n un 0ormulario inserte una ca!a de teGto y establezca el valor de la
propiedad Border-)yle a 01None o a $1 Gi?ed-ingle y observe como el
borde de la ca!a de teGto cambia.
2ata.ield 2evuelve o establece el dato de un campo contenido en una base de datos apuntada
por un control establecido en la propiedad Da)a-ource de la ca!a de teGto.
2ata(ource 2evuelve o establece el origen de datos mediante el cual un receptor de datos enlaza
con una base de datos.
.ore$olor .i!a el color de teGto /ue contendr) la ca!a de teGto.
&!ercicio"
(eleccione la ca!a de teGto del 0ormulario, ub/uese en la GoreColor y seleccione el
color deseado. $orra la aplicacin y escriba en la ca!a de teGto. &l teGto /ue digite o
escriba en el )rea de edicin de la ca!a de teGto aparece con el color seleccionado en
la propiedad GoreColor.
'ide(election 2etermina si el teGto seleccionado con la propiedad -el#eng):, aparece resaltado.
&sta propiedad puede tomar los valores True o Galse.
2%
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
&ro(iedad Descri(ci'n
(el(tart *o disponible en la ventana de propiedades, pero si en la ventana del (ode Editor y
tambin en modo de e!ecucin de la aplicacin. &sta propiedad devuelve o indica el
comienzo de la seleccin en una cadena de caracteres, donde el valor indicado es la
posicin de un car)cter de la cadena.
(elength 2evuelve o establece el nEmero de caracteres seleccionados. *o disponible en la
ventana de propiedades
(el%eGt 2evuelve o establece una cadena con el teGto seleccionado actualmente o es una
cadena de longitud cero si no hay caracteres seleccionados.
%eGt (i duda la propiedad m)s importante. 2evuelve o establece el teGto contenido en el
)rea de edicin.
&!ercicio"
'aga $lic sobre la ca!a de teGto. Bus/ue la propiedad Te?) y escriba R$ontenido de
la ca!aS. &l teGto aparecer) en el )rea de edicin de la ca!a.
ocIed 2evuelve o establece un valor /ue indica si un control se puede modi0icar. &sta
propiedad puede tomar los valores True o Galse.
MaGenth 2evuelve o establece un valor /ue indica el nEmero de caracteres /ue puede tener la
ca!a de teGto en el )rea de edicin.
Multiine 2evuelve o establece un valor /ue indica si el control acepta m)s de una lnea de
teGto.
Puede tomar los valores True y Galse y solo de lectura en tiempo de e!ecucin.
(crollBars 2evuelve o establece un valor /ue indica si un objeto tiene barras de
desplazamiento horizontal o vertical. Puede tomar los valores 01 None Fsi barraH, $1
Dorizon)al Fbarra horizontalH, 1 Ver)ical Fbarra verticalH y 21 Bo): Fambas barrasH.
PassAord$har 2evuelve o establece un valor /ue se muestra cada vez /ue se escribe en la ca!a de
teGto. &sta propiedad solo admite un car)cter.
1 2.$.. E5en)os so+re las ca,as de )e?)o
as ca!as de teGto incluyen los eventos tpicos de los controles F$lic, 2bl$licI, 2rag2rop, 2rag1ver,
Tot.ocus, Ney2oAn, Ney+p, NeyPress, ost.ocus, Mouse2oAn, MouseMoveH ya estudiados
anteriormente. Aparte de estos eventos las cajas de te'to incluyen un evento muy propio de l /ue es el
evento C:ange /ue ocurre cuando se modi0ica el teGto en el )rea de edicin de la caja de te'to.
28
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
1 2.$..2 M6)odos de las ca,as de )e?)o
#ncluye los mtodos m)s usuales de los controles F2rag, Re0resh, (et.ocusH aparte de otros mtodos
/ue no son tan us)ndos con tanta 0recuencia en una aplicacin de Visual Basic.
1 2.$..! "lgunos e,ercicios (r.c)icos
3.H Aplicacin /ue suma el contenido de dos ca!as de teGto y muestra el resultado en otra ca!a de teGto.

&asos a seguirL
aH #nserte tres " abels F&ti/uetasH tal y como se ven en la imagen anterior. (eleccione la primera
eti/ueta Fabel3H y en la propiedad Ca()ion de esta escriba R&ri*er 5alorLS y en la propiedad Gon)
seleccione R.egritaS, seleccione la segunda eti/ueta Fabel4H y en la propiedad Ca()ion escriba
R-egundo ValorLS y al igual establezca en la propiedad Gon) R.egritaS y en la tercera eti/ueta
Fabel5H escriba RResul)adoLS y establezca R*egritaS en la propiedad Gon).
bH #nserte tres ca!as de teGto F%eGt3, %eGt4, %eGt5H tal y como se ven en la imagen y en la propiedad
Te?) de cada ca!a de teGto borre su el valor por de0ecto F%eGt3, %eGt4 y %eGt5H.
cH #nserte dos botones de comando como se muestra en la imagen. &n la propiedad Ca()ion del primer
botn escriba RZ(umarS y en el segundo botn de comando escriba R$ZerrarS.
&l aspecto de los controles sobre el 0ormulario debe ser el siguiente"
20
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
dH 'aga doble clic sobre el botn P-u*arQ y en el evento (lic- escriba la siguiente lnea de cdigo
dentro del procedimiento"
&ri5a)e -u+ (umarV$licI F H
%eGt5.%eGt Q CalF%eGt3.%eGtH K CalF%eGt4.%eGtH
End -u+
*ota" a sintaGis Val indica /ue el contenido de la ca!a de teGto ser) tratado como nEmeros y no como
cadena de teGto.
eH 'aga doble clic en Form* de la 5en)ana de (royec)o FPro!ectH para volver al 0ormulario.
0H 'aga doble clic en el botn PCerrarQ y en el evento (lic- escriba"
&ri5a)e -u+ $errarV$licI F H
End
End -u+
gH $orra la aplicacin pulsando la tecla W.7X.
hH #ntroduzca valores a las ca!as de teGto y haga clic en el botn P-u*arQ.
iH Para salir haga clic en el botn PCerrarQ.
!H Tuarde la aplicacin desde -a5e &ro,ec) del menE Gile.
!0
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
4.H Programa /ue permite cambiar el tipo de 0uente de un teGto introducido en una ca!a de teGto.
&asos a seguirL
aH Abra un nuevo proyecto y en la propiedad Deig:) del 0ormulario establezca el valor E!20 y en la
propiedad =id): establezca el valor %00.
bH #nserte una ca!a de teGto y cuatro botones de comando tal y como se ve en la imagen.
cH (eleccione la ca!a de teGto y en la propiedad Na*e escriba R)?)Con)enidoS y en la propiedad Te?)
borre el valor por de0ecto F%eGt3H y en la propiedad Mul)i#ine seleccione el valor RTrueS.
dH (eleccione el primer botn de comando y en la propiedad Na*e escriba Rcmd*egritaS y en la
propiedad Ca()ion escriba RZ*egritaS. (eleccione el segundo botn y en la propiedad Na*e escriba
Rcmd$ursivaS y en la propiedad Ca()ion escriba RZ$ursivaS. (eleccione el tercer botn y en la
propiedad Na*e escriba Rcmd(ubrayadoS y en la propiedad Ca()ion escriba RZ(ubrayadoS. &n el
cuarto botn Fcommand/H escriba en la propiedad Na*e Rcmd$errarS y en la propiedad Ca()ion
escriba R$ZerrarS.

eH &l aspecto de los controles sobre el 0ormulario debe ser el siguiente"
!$
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
0H &scriba en el e5en)o ClicH de cada botn el cdigo correspondiente mostrado a continuacin.
&ri5a)e -u+ cmd*egritaV$licI F H
I@ %Gt$ontenido..ontBold Q Galse T:en
%Gt$ontenido..ontBold Q True
Else
%Gt$ontenido..ontBold Q Galse
End I@
End -u+
&ri5a)e -u+ cmd$ursivaV$licI F H
I@ %Gt$ontenido..ont#talic Q Galse T:en
%Gt$ontenido..ont#talic Q True
Else
%Gt$ontenido..ont#talic Q Galse
End I@
End -u+
&ri5a)e -u+ cmd(ubrayadoV$licI F H
I@ %Gt$ontenido..ont+nderline Q Galse T:en
%Gt$ontenido..ont+nderline Q True
Else
%Gt$ontenido..ont+nderline Q Galse
End I@
End -u+
!
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
&ri5a)e -u+ cmd$errarV$licI F H
End
End -u+
gH $orra la aplicacin pulsando la tecla W.7X.
hH &scriba en la ca!a de teGto y utilice los botones para cambiar el tipo de 0uente.
iH (alga de la aplicacin haciendo clic en el botn PCerrarQ de la aplicacin.
!H Tuarde la aplicacin desde -a5e &ro,ec) del menE Gile.
"(licaciones (ara realizarL
3.B 'acer una aplicacin /ue calcule la suma y la resta del contenido de cuatro ca!as de teGto y
muestra la suma en una ca!a de teGto y la resta en otra ca!a de teGto. a aplicacin debe tener botn
para salir.
4.B 'acer una aplicacin /ue permita cambiar el tama,o de letra del teGto contenido en una ca!a de
teGto. &l programa debe tener una ca!a de teGto donde se indi/ue el tama,o de la letra y mediante
ese valor se realizar) la codi0icacin necesaria para aplic)rselo a la ca!a de edicin /ue contiene el
teGto.
5.B 'acer una aplicacin /ue permita cambiar el color de 0ondo y el color de letra del contenido de
una ca!a de teGto. &l programa debe tener los botones con el color deseado por el programador, una
parte de los botones ser) para cambiar el color del 0ondo de la ca!a de teGto y otra parte ser) para
cambiar el color de la letra.
6.B 'acer una aplicacin /ue muestre en una ventana de dialogo la longitud o la cantidad de
caracteres /ue posee una ca!a de teGto. &l programa debe tener un botn para mostrar la ventana
con la longitud de la ca!a de teGto. +tilizar la sintaGis MsgBo? para la ventana de dialogo.
7.B 'acer una aplicacin /ue traduzca al idioma ingles el contenido de una ca!a de teGto y muestre
la traduccin en otra ca!a de teGto. &l programa debe tener un botn para Traducir y otro para
-alir de la aplicacin.

8.B 'acer una aplicacin /ue realice las cuatros operaciones b)sicas" suma, resta, multiplicacin,
divisin, de tres valores contenidos en ca!as de teGto y muestre los resultados en ca!as distintas.
!2
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
1 2.$.2 Bo)ones de o(ci'n 3O()ionBu))on7

+n botn de opcin muestra una opcin /ue se puede activar o desactivar.
Teneralmente, los controles O()ionBu))on se utilizan en un grupo de opciones para mostrar opciones
entre las cuales el usuario solo puede seleccionar una, los controles O()ionBu))on se agrupan si los
dibu!a dentro de un contenedor como un control Gra*e, un control &ic)ureBo? o un Gor*ulario. Para
agrupar controles O()ionBu))on en un Gra*e o &ic)ureBo?, dibu!e en primer lugar el Gra*e o el
&ic)ureBo? y, a continuacin, dibu!e dentro los controles O()ionBu))on.
1 2.$.2.$ &ro(iedades de los +o)ones de o(ci'n
os botones de opcin poseen las mismas propiedades de los botones de comando de la cual se destaca
la propiedad Ca()ion /ue muestra el teGto indicador de la 0uncin de ese botn en la aplicacin y la
propiedad Value /ue indica si el control esta seleccionado o no, puede tomar los valores True
FseleccionadoH y Galse Fno seleccionadoH.
1 2.$.2. E5en)os so+re los +o)ones de o(ci'n
os botones de opcin poseen al igual /ue los controles ya estudiados los mismos eventos tpicos.
1 2.$.2.2 M6)odos de los +o)ones de o(ci'n
os botones de opcin tambin se complementan con los mtodos tpicos ya estudiados anteriormente.
os mtodos son muy poco usados en los controles /ue usamos 0recuentemente, por tal razn, nos
limitaremos en hacer n0asis en cada uno de ellos.
1 2.$.2.! "lgunos e,ercicios (r.c)icos
3.H Aplicacin /ue posee un con!unto de botones de opcin /ue indican los colores /ue se le aplicaran
al 0ondo y a la letra de una ca!a de teGto F%eGtBoGH. $ada con!unto de colores estar) por separado en
controles Gra*e /ue tendr)n por encabezado la 0uncin /ue realizar) ese con!unto de botones dentro
del control Gra*e.
!!
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
&asos a seguirL
aH Abra un nuevo proyecto desde el menE Gile.
bH &n la propiedad Deig:) del 0ormulario escriba el valor 7:47 y en la propiedad =id): escriba
9897 para 0i!ar el tama,o adecuado en el 0ormulario.
cH #nserte dos Gra*e en el 0ormulario tal y como se ve en la imagen.
dH 2entro del primer Gra*e inserte cinco botones de opcin y dentro del segundo tambin inserte
cinco botones de opcin.
eH #nserte una ca!a de teGto a la derecha de los controles Gra*e y un botn de comando en la
es/uina in0erior iz/uierda del 0ormulario tal y como se puede apreciar en la imagen anterior.
0H Apli/ue las siguientes caractersticas a los controles del 0ormulario"
Con)rol &ro(iedades Valor
.rame3 .ame
(aption
0rm$olor.ondo
$olores de 0ondo
.rame4 .ame
(aption
0rm$oloretra
$olores de letra
%eGt3 .ame
+e't
tGt$ontenido
FvacoH
!E
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
Con)rol &ro(iedades Valor
$ommand3 .ame
(aption
cmd(alir
Z(alir
1ption3 .ame
(aption
optRo!o.ondo
Ro!o
1ption4 .ame
(aption
optCerde.ondo
Cerde
1ption5 .ame
(aption
optAzul.ondo
Azul
1ption6 .ame
(antion
optAmarillo.ondo
Amarillo
1ption7 .ame
(aption
optBlanco.ondo
Blanco
1ption8 .ame
(aption
opt$yanetra
$yan
1ption; .ame
(aption
optMagentaetra
Magenta
1ption9 .ame
(aption
optBlancoetra
Blanco
1ption: .ame
(aption
opt*egroetra
*egro
1ption3D .ame
(aption
optAzuletra
Azul
gH &l aspecto del 0ormulario debe ser el /ue se muestra en la siguiente p)gina"
!6
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
gH A cada control escriba las lneas de cdigo correspondiente"
&ri5a)e -u+ optRo!o.ondoV$licI F H
tGt$ontenido.BacI$olor Q vbRed
End -u+
&ri5a)e -u+ optCerde.ondoV$licI F H
tGt$ontenido.BacI$olor Q vbTreen
End -u+
&ri5a)e -u+ optAzul.ondoV$licI F H
tGt$ontenido.BacI$olor Q vbBlue
End -u+
&ri5a)e -u+ optAmarillo.ondoV$licI F H
tGt$ontenido.BacI$olor Q vbUelloA
End -u+
&ri5a)e -u+ optBlanco.ondoV$licI F H
tGt$ontenido.BacI$olor Q vb@hite
End -u+
&ri5a)e -u+ opt$yanetraV$licI F H
tGt$ontenido..ore$olor Q vb$yan
End -u+
&ri5a)e -u+ optMagentaetraV$licI F H
tGt$ontenido..ore$olor Q vbMagenta
End -u+
!%
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
&ri5a)e -u+ optBlancoetraV$licI F H
tGt$ontenido..ore$olor Q vb@hite
End -u+
&ri5a)e -u+ opt*egroetraV$licI F H
tGt$ontenido..ore$olor Q vbBlacI
End -u+
&ri5a)e -u+ optAzuletraV$licI F H
tGt$ontenido..ore$olor Q vbBlue
End -u+
&ri5a)e -u+ cmd(alirV$licI F H
End
End -u+
hH $orra la aplicacin pulsando la tecla W.7X.
iH 2espus /ue el programa esta en e!ecucin utilice los botones de opcin para cambiar el color de la
ca!a y de la letra. Para ver el color de la letra debe escribir en la ca!a de teGto.
!H (alga de la aplicacin haciendo clic en el botn P-alirQ.
4.H Aplicacin /ue realiza las cuatro operaciones b)sicas de matem)tica mediante cuatro botones de
opcin"
&asos a seguirL
aH #nserte primero dos eti0uetas y dos cajas de te'to, luego inserte un control Gra*e y dentro de ese
Gra*e inserte cuatro botones de opcin. uego inserte una tercera eti/ueta y una tercera ca!a de teGto
tal y como se ve en la imagen.
!8
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
bH Apli/ue las siguientes caractersticas a los controles del 0ormulario"
Con)rol &ro(iedades Valor
abel3 1uto#i2e
(aption
%rue
Primer valor"
abel4 1uto#i2e
(aption
%rue
(egundo valor"
%eGt3 .ame
+e't
tGtPrimerCalor
FvacoH
%eGt4 .ame
+e't
tGt(egundoCalor
FvacoH
.rame3 (aption 1peraciones
1ption3 .ame
(aption
opt(umar
(umar
1ption4 .ame
(aption
optRestar
Restar
1ption5 .ame
(aption
optMultiplicar
Multiplicar
1ption6 .ame
(aption
opt2ividir
2ividir
abel5 1uto#i2e
(aption
%rue
Resultado"
%eGt5 .ame
+e't
tGtResultado
FvacoH
cH a apariencia de los controles sobre el 0ormulario debe ser la siguiente"
!0
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
dH &scriba el cdigo correspondiente en los e5en)os ClicH de cada control"
&ri5a)e -u+ opt(umarV$licI F H
tGtResultado.%eGt Q CalFtGtPrimerCalor.%eGtH K CalFtGt(egundoCalor.%eGtH
End -u+
&ri5a)e -u+ optRestarV$licI F H
tGtResultado.%eGt Q CalFtGtPrimerCalor.%eGtH B CalFtGt(egundoCalor.%eGtH
End -u+
&ri5a)e -u+ optMultiplicarV$licI F H
tGtResultado.%eGt Q CalFtGtPrimerCalor.%eGtH L CalFtGt(egundoCalor.%eGtH
End -u+
&ri5a)e -u+ opt2ividirV$licI F H
I@ CalFtGt(egundoCalor.%eGtH Q D T:en
MsgBoG F[*o se puede dividir por cero.[H
Else
tGtResultado.%eGt Q CalFtGtPrimerCalor.%eGtH J CalFtGt(egundoCalor.%eGtH
End I@
End -u+
eH $orra la aplicacin pulsando la tecla W.7X.
0H #ntroduzca valores a las ca!as de teGto y utilice los botones de opcin para realizar la operacin
deseada.
gH (alga de la aplicacin desde el botn cerrar P<Q de la ventana.
hH Tuarde la aplicacin desde -a5e &ro,ec) del menE Gile.
1 2.$.! Ca,as de co*(ro+aci'n 3C:ecHBo?7
a Enica di0erencia entre los botones de opcin F1ptionButtonH y las ca!as de
comprobacin F$hecIBoGH es /ue dentro de un mismo contenedor se pueden
seleccionar m)s de una ca!a de comprobacin, es decir, pueden haber varias
ca!as de comprobacin con la propiedad Value a $1 C:ecHed establecida.
1 2.$.!.$ &ro(iedades de las ca,as de co*(ro+aci'n
Al igual /ue en los botones de opcin, las propiedades m)s importantes son las propiedad Ca()ion y la
propiedad Value /ue indica si el elemento esta seleccionado o no.
E0
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
1 2.$.!. E5en)os so+re las ca,as de co*(ro+aci'n
as ca!as de comprobacin no se di0erencian en nada a los dem)s controles con respecto a los eventos
tpicos de los controles. Puede utilizar los eventos ya vistos anteriormente.
1 2.$.!.2 M6)odos de las ca,as de co*(ro+aci'n
as ca!as de comprobacin poseen todos los mtodos ya estudiados anteriormente F2rag, Re0resh,
(et.ocus, &tcH.
1 2.$.!.! "lgunos e,ercicios (r.c)icos
3.H Aplicacin /ue muestra en ventanas de dialogo los elementos seleccionados en un contenedor con
un con!unto de (ec-)o' /ue representan libros de programacin.
&asos a seguirL
aH Abra un nuevo proyecto desde el menE Gile.
bH &n la propiedad Deig:) establezca el valor 2600 y en la propiedad =id): establezca el valor !00E.
&n la propiedad Ca()ion del 0ormulario escriba Ribros de programacinS.
cH #nserte un Gra*e y dentro de este agregue cuatro cajas de comprobacin, tal y como se ve en la
imagen.
dH #nserte dos botones de comando F$ommand3, $ommand4H en la parte in0erior del 0ormulario.
eH &stablezca las siguientes caractersticas a los controles del 0ormulario"
E$
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
Con)rol &ro(iedades Valor
.rame3 (aption
3eigt
4idt
ibros de programacin
43;7
6437
$hecI3 .ame
(aption
4idt
chIibro3
Cisual Basic 8.D, %omo #. Autor" Microso0t.
5977
$hecI4 .ame
(aption
4idt
chIibro4
Pascal estructurado ;.D, %omo ##. Autor" Borland.
5977
$hecI5 .ame
(aption
4idt
chIibro5
2elphi 8.D, %omo #. Autor" Borland.
5977
$hecI6 .ame
(aption
4idt
chIibro6
$obol 4.D, Autor" Borland.
5977
$ommand3 .ame
(aption
cmdMostraribro
ZMostrar libro
$ommand4 .ame
(aption
cmd(alir
Z(alir
0H &l aspecto de los controles sobre el 0ormulario debe ser el siguiente"
E
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
gH Agregue el cdigo correspondiente a cada procedimiento de los controles"
&ri5a)e -u+ cmdMostraribroV$licIFH
I@ chIibro3.Calue Q 3 T:en
MsgBoG FchIibro3.$aptionH
End I@

I@ chIibro4.Calue Q 3 T:en
MsgBoG FchIibro4.$aptionH
End I@

I@ chIibro5.Calue Q 3 T:en
MsgBoG FchIibro5.$aptionH
End I@

I@ chIibro6.Calue Q 3 T:en
MsgBoG FchIibro6.$aptionH
End I@

I@ chIibro3.Calue Q D "nd chIibro4.Calue Q D "nd chIibro5.Calue Q D "nd V
chIibro6.Calue Q D T:en
MsgBoG F[(eleccione un libro de la lista.[H
End I@
End -u+
&ri5a)e -u+ cmd(alirV$licIFH
End
End -u+
hH $orra la aplicacin con la tecla W.7X.
iH (eleccione algunos libros de la lista, y a continuacin, haga clic en el botn Mos)rar li+ro.
!H (alga de la aplicacin haciendo clic en el botn salir.
IH Tuarde la aplicacin desde el menE Gile.
E2
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
1 2.$.E Barras de des(laza*ien)o 3-crollBars7
n
&n este tipo de control las propiedades m)s importantes son Ma? y Min, /ue determinan el
rango en el /ue est) incluido su valor, #argeC:ange y -*allC:ange /ue determinan lo /ue
se modi0ica su valor al hacer clic en la barra o en el botn con la 0lecha del control. 1tra
de las propiedades importantes es la propiedad Value /ue determina el valor actual de la
barra de desplazamiento. as barras de desplazamiento no incluyen la propiedad Ca()ion.
&l evento /ue se programa habitualmente es C:ange, /ue se activa cuando la barra de desplazamiento
modi0ica su valor. Para mas in0ormacin sobre este control consulte la ayuda de Visual Basic 6.0.
1 2.$.6 " #as e)iRue)as 3#a+els7
+n control abel es un control gr)0ico /ue se puede usar para mostrar teGto /ue el usuario no podr)
cambiar directamente. &n las eti/uetas la propiedad m)s importante es Ca()ion, /ue contiene el teGto
/ue aparece sobre el control. &sta propiedad puede ser modi0icada desde el programa, pero no
interactivamente sino, mediante lneas de cdigo.
as eti/uetas tienen las propiedades "u)o-ize y =ord=ra(. a primera, cuando est) a True, a!usta el
tama,o del control al del teGto en l contenido. a segunda hace /ue el teGto se distribuya en varias
lneas cuando no cabe en una sola.
1 2.$.% #as ca,as de lis)a 3#is)Bo?7
+na lis)a es un control en el /ue se pueden tomar varios
varios registros de lneas, teniendo uno o varios de ellos
seleccionado. (i en la lista hay m)s registros de los /ue se
pueden mostrar al mismo tiempo, se a,ade autom)ticamente
una ScrollBar.
Para a,adir o eliminar registros de la lista en modo de
&!ecucin se utilizan los mtodos "ddI)e* y Re*o5eI)e*.
E!
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
&l contenido de un istBoG suele inicializarse desde el evento Gor*I#oad de los 0ormularios, de tal
manera, las listas obtienen sus elementos antes de /ue la aplicacin cargue totalmente.

1 2.$.%.$ M6)odos y (ro(iedades de las ca,as de lis)a
A continuacin se detallan los mtodos y las propiedades m)s importantes de un #is)Bo?.
M6)odo Descri(ci'n
Add#tem (e utiliza para agregar registros a la lista cuando la aplicacin esta en e!ecucin.
(u 0ormato es" O+,e)o#is)."ddI)e* Ele*en)o4 &osici'n
2onde O+,e)o#is) representa el control #is)Bo?, "ddI)e* es el mtodo /ue agrega
el elemento al ListBox, Ele*en)o es el teGto /ue se muestra en la posicin indicada,
y &osici'n es el lugar donde se ubicar) el elemento, comenzando desde la posicin D.
&!ercicio"
aH Abra un nuevo proyecto desde el menE Gile.
bH #nserte un #is)Bo?.
cH 'aga doble clic en cual/uier parte del formulario menos donde se encuentre
el cuadro de lista.
dH &n el evento #oad del 0ormulario escriba"
&ri5a)e -u+ .ormVoad F H
ist3.Add#tem [Cisual Basic 8.D, %omo #. Autor" Microso0t.[, D
ist3.Add#tem R2elphi 8.D, %omo ##. Autor" Borland.S, 3
ist3.Add#tem R%urbo Pascal ;.D, %omo #. Autor" Borland.S, 4
End -u+
eH $orra la aplicacin pulsando la tecla W.7X.
0H 1bserve /ue se han a,adido los elementos al cuadro de lista.
gH $ierre la aplicacin desde el botn cerrar WMX.
Remove#tem &ste mtodo se utiliza para eliminar un elemento o registro del #is)Bo?.
(u .ormato es" Re*o5eI)e* 3&osici'n7
2onde &osici'n es el lugar de la lista donde se encuentra el elemento /ue desea
borrar.
EE
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
M6)od
o
Descri(ci'n
$lear Borra todo el contenido del control istBoG.
(u 0ormato es" O+,e)o#is).Clear
&ro(iedadesL
&ro(iedad Descri(ci'n
ist (e utiliza para agregar elementos o registros en tiempo de dise,o al control ListBox.
(e recomienda utilizar el mtodo "ddI)e* para agregar los elementos en vez de la
propiedad #is) /ue es menos pr)ctica y menos especi0ica.
ist$ount 2evuelve el nEmero de elementos /ue contiene un control #is)Bo?.
&!emplo"
MsgBoGFist3.ist$ountH
#ndeG
2evuelve o establece el nEmero /ue identi0ica un control de 0orma eGclusiva en
una matri2 de controles. (lo est) disponible si el control 0orma parte de una
matriz de controles.
ist#ndeG
2evuelve o establece el ndice del elemento seleccionado actualmente en el
control. *o est) disponible en tiempo de diseo.
E,e*(lo 3a7L
YMuestra en una ventana la posicin de un elemento seleccionado en un control
istBoG.
MsgBo? Fist3.ist#ndeGH
E,e*(lo 3+7L
YMuestra en una ventana el teGto de un elemento seleccionado en un control
istBoG.
MsgBo? Fist3.istFist3.ist#ndeGHH
Multi(elect
2evuelve o establece un valor /ue indica si el usuario puede realizar
selecciones mEltiples en un control Gile#is)Bo? o #is)Bo?, y la 0orma de
llevarlas a cabo. &s de slo lectura en tiempo de e!ecucin.
E6
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
&ro(iedad Descri(ci'n
(el$ount
2evuelve el nEmero de elementos seleccionados en un control #is)Bo?.
(elected 2evuelve o establece el estado de seleccin de un elemento de un control Gile#is)Bo?
o #is)Bo?. &sta propiedad es una matriz de valores booleanos con el mismo nEmero de
elementos /ue la propiedad #is). *o est) disponible en )ie*(o de diseFo.
-in)a?is
ob!eto.-elec)ed3ndice7 WT booleanoX
(orted
2evuelve un valor /ue indica si los elementos de un control se colocan
autom)ticamente en orden al0abtico.
1 2.$.%. "lgunos e,ercicios (r.c)icos
3.H Aplicacin /ue permite agregar y remover pases en un control istBoG.
&asos a seguirL
aH Abra un nuevo proyecto desde el menE Gile.
bH &n la propiedad Deig:) agregue !00, en la propiedad =id): establezca el valor %$%0 y en la
propiedad Ca()ion escriba RPasesS.
cH #nserte primero una eti0ueta Fabel3H y deba!o de esta inserte un control Te?)Bo? F%eGt3H y un
botn de comando F$ommand3H tal y como se puede apreciar en la imagen.
E%
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
dH #nsertar una segunda eti/ueta Fabel4H y deba!o de esta un control istBoG Fist3H.
eH 2eba!o de estos inserte una tercera eti0ueta Fabel5H, una segunda caja de te'to F%eGt4H y dos
botones de comandos F$ommand4, $ommand5H.
0H Apli/ue las siguientes caractersticas a los controles sobre el 0ormulario"
Con)rol &ro(iedad Valor
abel3 1uto#i2e
(aption
Font
%rue
#ntroduzca el pas"
%ama,o 3D, &stilo *egrita.
%eGt3 .ame
+e't
tGtPais
FvacoH
$ommand3 .ame
(aption
cmdAgregar
ZAgregar
abel4 1uto#i2e
(aption
Font
%rue
ista de pases"
%ama,o 3D, &stilo *egrita.
ist3 .ame lstPaises
abel5 1uto#i2e
(aption
Font
%rue
Pases agregados"
%ama,o 9, &stilo *egrita.
%eGt4 .ame
+e't
5oc-ed
tGt$antidadPaises
FvacoH
%rue
$ommand4 .ame
(aption
cmd&liminar
Z&liminar
$ommand4 .ame
(aption
cmd(alir
Z(alir
gH a apariencia de los controles sobre el 0ormulario debe ser como se muestra en la p)gina siguiente"
E8
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
hH 2entro de cada procedimiento escriba el cdigo correspondiente"
&ri5a)e -u+ cmdAgregarV$licIFH
YCeri0ica /ue la ca!a no se de!e vaca
I@ enFtGtPais.%eGtH Q D T:en
MsgBoG F[*o puede de!ar la ca!a vaca.[H
Else
lstPaises.Add#tem tGtPais.%eGt \ Agrega el pas en el control istBoG
tGtPais.%eGt Q [[ \ impia la ca!a de teGto
tGtPais.(et.ocus \ 'ace /ue el cursor se mantenga sobre la ca!a
tGt$antidadPaises.%eGt Q lstPaises.ist$ount YPone el nEmero de pases agregados
End I@
End -u+
&ri5a)e -u+ cmd&liminarV$licIFH
On Error NoTo &rror YCeri0icar si ocurre un error tratar de borrar un elemento.
lstPaises.Remove#tem FlstPaises.ist#ndeGH YBorra el elemento
tGt$antidadPaises.%eGt Q lstPaises.ist$ount
E?i) -u+ Y#ndica /ue lo /ue esta deba!o solo ocurrir) cuando pase algEn error.
&rror"
MsgBoG F[*o eGisten elementos seleccionados.[H
End -u+
E0
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
&ri5a)e -u+ cmd(alirV$licIFH
End Y .inaliza la aplicacin
End -u+
iH $orra la aplicacin pulsando la tecla W.7X.
!H &n la ca!a de teGto de la aplicacin introduzca algEn pas, y a continuacin, haga clic en el botn
"gregar. Agregue todos los pases /ue desee y podr) observar /ue todos los pases se agregan al
control #is)Bo?.
IH (eleccione algunos de los pases ya agregados y luego, haga clic en el botn Eli*inar.
lH (alga de la aplicacin.
mH Tuarde la aplicacin desde el menE Gile.
4.BH Aplicacin /ue te muestra en un cuadro de dialogo la capital de un pas seleccionado en un control
#is)Bo?.
&asos a seguirL
aH Abra un nuevo proyecto desde el menE Gile.
bH &n la propiedad Deig:) establezca el valor E%00 y en la propiedad =id): el valor 6%0.
cH &n la propiedad Ca()ion del 0ormulario escriba RPases y capitalesS.
60
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
dH #nserte una eti0ueta en la parte superior del 0ormulario.
eH #nserte un control #is)Bo? como se ve en la imagen.
0H #nserte un botn de comando F$ommand3H deba!o del control #is)Bo?.
gH Agregue las siguientes caractersticas a los controles sobre el 0ormulario"
Con)rol &ro(iedad Valor
abel3 1uto#i2e
(aption
%rue
(eleccione un pas"
ist3 .ame lstPaises
$ommand3 .ame
(aption
cmd(alir
Z(alir
hH 'aga doble clic en cual/uier zona libre del 0ormulario, es decir, en una parte /ue no resida algEn
control, y en el evento #oad del 0ormulario escriba la siguiente lnea de cdigo"
&ri5a)e -u+ .ormVoadFH
\Agrega los pases al control
lstPaises.Add#tem [RepEblica 2ominicana[
lstPaises.Add#tem [PerE[
lstPaises.Add#tem [(alvador[
lstPaises.Add#tem [MGico[
lstPaises.Add#tem [Puerto Rico[
lstPaises.Add#tem [&cuador[
End -u+
iH &n el evento ClicH del control #is)Bo? escriba lo siguiente"
&ri5a)e -u+ lstPaisesV$licIFH
I@ lstPaises.istFlstPaises.ist#ndeGH Q [RepEblica 2ominicana[ T:en
MsgBoG F[(anto 2omingo[H
ElseI@ lstPaises.istFlstPaises.ist#ndeGH Q [PerE[ T:en
MsgBoG F[ima[H
ElseI@ lstPaises.istFlstPaises.ist#ndeGH Q [(alvador[ T:en
MsgBoG F[(an (alvador[H
ElseI@ lstPaises.istFlstPaises.ist#ndeGH Q [MGico[ T:en
MsgBoG F[MGico[H
ElseI@ lstPaises.istFlstPaises.ist#ndeGH Q [Puerto Rico[ T:en
MsgBoG F[(an -uan[H
ElseI@ lstPaises.istFlstPaises.ist#ndeGH Q [&cuador[ T:en
MsgBoG F[=uito[H
End I@
End -u+
6$
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
!H $orra la aplicacin pulsando la tecla W.7X.
IH (eleccione cual/uier pas de la lista para /ue el programa muestre su capital en una ventana de
dialogo.
lH (alga de la aplicacin.
mH Tuarde la aplicacin desde el menE Gile.
1 E,ercicios (ro(ues)os
aH $rear una aplicacin /ue permita agregar y eliminar libros en un control #is)Bo? mediante una
caja de te'to. &l programa debe tener una eti0ueta donde muestre la cantidad de libros /ue
contiene el #is)Bo?.
bH $rear una aplicacin /ue contenga dos controles #is)Bo? /ue permitan cambiar el color de
0ondo y el color de letra de una caja de te'to /ue se encuentre sobre un 0ormulario. +no de los
#is)Bo? debe tener la lista de los colores de 0ondo /ue se le aplicar) a la caja de te'to y el otro
control #is)Bo? los colores para la letra de la caja de te'to.
cH $rear una aplicacin /ue en un control #is)Bo? contenga 4D nEmeros cuales /uiera. $uando un
nEmero de lo de la lista sea seleccionado debe mostrarse ese nEmero en una ventana de dialogo.
dH $rear una aplicacin /ue permita agregar y eliminar nombres de personas en un control
#is)Bo? y /ue permita organizarlos al0abticamente.
eH $rear una aplicacin /ue mediante una lista de colores en un control #is)Bo? permita cambiar
el color de la ventana de la aplicacin.
1 2.$.8 Ca,as co*+inadas 3Co*+oBo?7
+n Co*+oBo? no tiene muchas di0erencias en relacin con un control
#is)Bo?. a di0erencia /ue eGiste entre ambos controles es /ue un Co*+oBo?
oculta la lista de elementos y solo se muestra cuando se hace clic en el botn
fleca abajo PUQ /ue contiene el control, mientras /ue el control #is)Bo?
muestra la lista de elementos sin ocultarla.
6
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
1tra de la di0erencia principal es /ue un Co*+oBo? tiene una propiedad llamada -)yle, /ue puede
adoptar tres valores F3, 4 5H /ue corresponden con tres distintas 0ormas de presentar una lista"
3.H 01 Dro(Do>nCo*+o" ]ste es el valor m)s habitual y corresponde con el caso en el /ue slo se
muestra el registro seleccionado, /ue es editable por el usuario, permaneciendo el resto de los
elementos oculto hasta /ue el usuario despliega la lista completa haciendo clic sobre el botn fleca
abajo PUQ.
4.H $1 -i*(le Co*+o" &n este caso el registro seleccionado tambin es editable, y se muestra una lista
no desplegable dotada si es necesario de una -crollBar.
5.H 1 Dro(Do>n #is)" &n este Eltimo caso el registro seleccionado no es editable y la lista es
desplegable.
A pesar de estas dos grandes di0erencias, eGisten muchas relaciones con respecto a los mtodos y las
propiedades entre ambos controles. Por e!emplo los mtodos "ddI)e*, Re*o5eI)e* o Clear y las
propiedades #is), #is)Inde? o #is)Coun).
a propiedad Te?) corresponde con lo /ue aparece en el rea de edicin del Co*+oBo? /ue es por lo
general el primer elemento de la lista desplegable.
1 2.$.8.$ "lgunos e,ercicios (r.c)icos
Aplicacin /ue muestra los nEmero del 3 a 5D en un control Co*+oBo?.
62
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
bH #nserte una eti0ueta en la es/uina superior iz/uierda del 0ormulario.
cH 2eba!o de la eti/ueta inserte un control Co*+oBo?.
dH #nserte un botn de comando en la parte in0erior del 0ormulario tal y como se ve en la imagen
anterior.
eH &stablezca las siguientes caractersticas a los controles sobre el 0ormulario"
Con)rol &ro(iedad Valor
abel3 1uto#i2e
(aption
%rue
ista de nEmeros del 3 al 5D"
$ombo3 .ame
+e't
cbo*umeros
FvacoH
$ommand3 .ame
(aption
cmd(alir
Z(alir
0H &l aspecto de los controles sobre el 0ormulario debe ser el siguiente"
gH A cado control escriba el cdigo correspondiente"
&ri5a)e -u+ .ormVoad F H
Di* i "s In)eger \2eclara una variable para un bucle
Gor i Q 3 To 5D \ #nicia el bucle del 3 hasta 5D
cbo*umeros.Add#tem i \ Agrega el elemento
Ne?) i \ Repite hasta /ue el bucle no termina.
End -u+
6!
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
&ri5a)e -u+ cmd(alirV$licIFH
End
End -u+
hH $orra la aplicacin pulsando la tecla W.7X.
iH 2espliegue la lista haciendo clic en el botn fleca abajo PUQ del control Co*+oBo?.
!H $ierra la aplicacin.
IH Tuarde la aplicacin desde el menE Gile.
1 2.$.0 Con)roles relacionados con @ic:eros
&n una aplicacin de @indoAs es habitual tener /ue abrir y cerrar 0icheros para leer datos, guardar un
documento, cambiar entre unidades de disco, etc. 'ay tres controles b)sicos /ue resultan de suma
utilidad para realizar cual/uiera de estas tareas. &l control Dri5e#is)Bo? /ue muestra las
unidades lgicas de discos de un computador, &l control Dir#is)Bo? /ue muestra la lista de
directorios de la unidad actualmente seleccionada y el control Gile#is)Bo? /ue muestra la lista
de 0icheros /ue contiene un directorio o una unidad de disco. &stos tres controles traba!an
mayormente en con!unto como veremos en el Ca(i)ulo 6 de este libro.
1 2.$.$0 Con)rol )ie*(o 3Ti*er7
+n control Ti*er puede e!ecutar cdigo a intervalos peridicos produciendo un evento Ti*er,
/ue ocurre cuando ha transcurrido un &ntervalo preestablecido para un control Ti*er. a 0recuencia del
intervalo se almacena en la propiedad In)er5al del control /ue especi0ica el tiempo en milisegundos.
1 2.$.$0.$ &ro(iedades del con)rol )ie*(o
2e todas las propiedades de un control tiempo son Ena+led para habilitar o deshabilitar el control y la
propiedad In)er5al para especi0icar el intervalo de tiempo en /ue el control realizar) el evento.
Para representar los segundos en milisegundos solo debe multiplicar la cantidad de segundos por mil.
Por e!emplo, 4 segundos sera 4 G 3DDD Q 4DDD milisegundos, un minuto sera 8D L 3DDD Q 8DDDD
milisegundos, as sucesivamente.
6E
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
1 2.$.$0. "lgunos e,ercicios (r.c)icos
3.BH Aplicacin /ue simula una barra de progreso sin usar un contenedor.
&asos a seguirL
aH Abra un nuevo proyecto.
bH #nserte una eti/ueta y un control tiempo tal y como se ve en la imagen.
cH Apli/ue las siguientes caractersticas a los controles sobre el 0ormulario.
Con)rol &ro(iedades Valor
abel3 .ame
(aption
)ac-(olor
5eft
+op
3eigt
4idt
BarraProgreso
FvacoH
(eleccione el color /ue pre0iera.
46D
:8D
5;7
37
%imer &nterval 3DD
dH 2entro del control tiempo agregue las siguientes lneas de cdigo"
&ri5a)e -u+ %imer3V%imer F H
I@ BarraProgreso.@idth ^ 6437 T:en
BarraProgreso.@idth Q BarraProgreso.@idth K 3DD Y(uma 3DD tAip a la anchura del control
Else
BarraProgreso.@idth Q 6437
%imer3.&nabled Q Galse Y2eshabilita el tiempo
End I@
End -u+
66
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
eH $orra la aplicacin pulsando la tecla W.7X.
0H Para cerrar la aplicacin haga clic en el botn cerrar P<Q de la ventana.
gH Tuarde la aplicacin.
4.BH Aplicacin /ue mueve un botn de comando por distintas zonas de un 0ormulario.
&asos a seguirL
aH Abra un nuevo proyecto.
bH #nserte un botn de comando y un control tiempo en cual/uier parte del 0ormulario.
cH &n la propiedad In)er5al del control tiempo escriba el valor $00.
dH 'aga doble clic sobre el control tiempo y en el evento Ti*er escriba"
&ri5a)e -u+ %imer3V%imer F H
Randomize Y#nicia el generador de nEmeros aleatorios.
$ommand3.%op Q #ntFF5DDD L RndH K 3H \Tenera valores aleatorios entre 5DDD y 3 para %op.
$ommand3.e0t Q #ntFF5DDD L RndH K 3H YTenera valores aleatorios entre 5DDD y 3 para e0t.
End -u+
eH $orra la aplicacin pulsando la tecla W.7X.
0H $ierra la aplicacin desde el botn cerrar P<Qde la ventana.
gH Tuarde la aplicacin desde el menE Gile.
6%
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
5.BH Aplicacin /ue pone la hora del sistema en un control #a+el.
&asos a seguirL
aH Abra un nuevo proyecto.
bH #nserte una eti/ueta un control Tie*(o tal y como se ve en la imagen.
cH &n la propiedad In)er5al del control Tie*(o escriba el valor $000.
dH 'aga doble clic sobre el control Tie*(o y escriba la siguiente lnea de cdigo"
&ri5a)e -u+ %imer3V%imer F H
abel3.$aption Q %ime
End -u+
eH $orra la aplicacin pulsando la tecla W.7X.
0H Para cerrar la aplicacin haga clic en el botn cerrar P<Q de la ventana.
gH Tuarde la aplicacin desde el menE Gile.
2. "lgunas (ro(iedades co*unes a 5arios con)roles
$omo pudimos observar al traba!ar con los controles de Visual Basic 6.0 /ue hay algunas propiedades
/ue son comunes a muchos controles. A continuacin se hace una lista de estos controles"
"((earanceL 2evuelve o establece el estilo de dibu!o o la apariencia de los controles de un
ob!eto.
BacHColorL &stablece el color de 0ondo de un ob!eto.
Ca()ionL &stablece el teGto /ue aparece dentro o !unto al ob!eto.
68
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
Ena+led" &stablece si un ob!eto es accesible o modi0icable.
Gon)" &stablece las caractersticas del tipo de letra del ob!eto.
GoreColor" &stablece el color del teGto yJo gr)0icos de un ob!eto.
Deig:) y =id):" &stablecen la altura y anchura de un ob!eto.
#e@) y To(" &stablecen la distancia horizontal y vertical entre el origen del control y el origen
del ob!eto /ue lo contiene, /ue puede ser un formulario, un control Gra*e o un &ic)ureBo?.
Mouse&oin)er" &stablece la 0orma /ue adoptar) el puntero del ratn al posicionarse sobre el
ob!eto.
Na*e" #ndica el nombre del ob!eto. %odos los ob!etos sobre un 0ormulario deben tener su
nombre ya sea el nombre por defecto /ue le asigna Visual Basic o un nombre definido por el
usuario, /ue permite hacer re0erencia al ob!eto.
Visi+le" &stablece si el ob!eto es visible o invisible en el momento /ue se e!ecuta la aplicacin.
2.2 Ca,as de dialogo es).ndar 3Co**ondDialog7
&l control Co**onDialog proporciona un con!unto de cuadros de di)logo est)ndar para realizar
operaciones como abrir y guardar archivos, establecer las opciones de impresin y seleccionar colores y
0uentes. &l control tambin tiene la posibilidad de presentar Ayuda e!ecutando el motor de Ayuda de
@indoAs.
-in)a?is
$ommond2ialog.Metodo
&l control Co**onDialog proporciona una inter0az entre Visual Basic y las rutinas de la biblioteca de
vnculos din)micos Co**dlg.dll de Microso0t @indoAs. Para crear un cuadro de di)logo utilizando
este control, Co**dlg.dll debe encontrarse en el directorio -J-TEM de Microso0t @indoAs.
Para usar el control Co**onDialog en una aplicacin, agrguelo a un 0ormulario y establezca sus
propiedades. &l cuadro de di)logo presentado por el control est) determinado por los mtodos del
control.
60
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
&n tiempo de ejecucin se presenta un cuadro de di)logo o se e!ecuta el motor de Ayuda, cuando se
invoca el mtodo apropiadoP en tiempo de diseo, el control Co**onDialog se presenta como un
icono dentro de un 0ormulario. *o se puede cambiar el tama,o de dicho icono.
&l control Co**onDialog puede presentar los cuadros de di)logo siguientes utilizando el mtodo
especi0icado.
M6)odo Cuadro de di.logo (resen)ado
-:o>O(en $uadro de di)logo "+rir.
-:o>-a5e $uadro de di)logo Nuardar co*o.
-:o>Color $uadro de di)logo Color.
-:o>Gon) $uadro de di)logo Guen)e.
-:o>&rin)er $uadro de di)logo I*(ri*ir u O(ciones de i*(resi'n.
-:o>Del( $uadro de di)logo #nvoca el motor de "yuda de =indo>s.
A continuacin se muestran las ventanas /ue puede abrir el control Co**ondDialog"



%0
.igura 5.3. $uadro de dialogo Abrir F1penH
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
%$
.igura 5.4. $uadro de dialogo Tuardar F(aveH.
.igura 5.5. $uadro de dialogo color.
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
%
.igura 5.6. $uadro de dialogo .uente.
.igura 5.7. $uadro de dialogo de #mpresin.
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
&n las 0iguras anteriores se pueden observar distintos tipos de ventanas de dialogo /ue puede
proporcionar el control Co**onDialog. Por e!emplo, si se desea visualizar una de las ventanas de
dialogo o cuadro de dialogo, solo debe especi0icar el nombre del control y el mtodo /ue corresponde a
esa ventana"
$ommon2ialog3.(hoA1pen Y Abre el cuadro de dialogo Abrir.
&l control Co**onDialog no aparece por de0ecto en la barra de herramientas no est)ndar. Para
agregar este control a la barra de erramientas no estndar, haga clic en el menE &ro,ec) y luego
seleccione la opcin Co*(onen)sK o simplemente presione C)rl V T. Aparecer) el siguiente cuadro
de dialogo"
&n la ventana Co*(onen)s seleccione el elemento Microsoft Commond Dialog Control 6.0 tal y
como se puede apreciar en la imagen y luego, haga clic en el botn "ce()ar. &l control
Co**onnDialog se agregar) a la barra de erramientas no estndar.
1 2.2.$ Ven)ana a+rir y gra5ar 3O(en;-a5e7 del Dialog Con)rol
A continuacin se muestra una tabla con las propiedades m)s importantes para los mtodos -:o>O(en
y -:o>-a5e.
%2
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
&ro(iedad Descri(ci'n
DefaultE't &s la eGtensin por de0ecto a utilizar para a+rir;sal5ar archivos. $on -a5e, si el
nombre del 0ichero se teclea sin eGtensin, se a,ade esta eGtensin por de0ecto.
Dialog+itl
e
2evuelve o da valor al ttulo de la ca!a de di)logo.
File.ame *ombre completo del archivo a a+rir;sal5ar, incluyendo el (a):.
File+itle *ombre del archivo a abrirJsalvar sin la ruta de acceso correspondiente.
Filter $ontiene los 0iltros de seleccin /ue aparecer)n indicados en la parte in0erior de la
pantalla en la lista de tipos de archivo. Pueden indicarse mEltiples tipos de archivo,
separ)dolos mediante una barra vertical WXS /ue se puede obtener pulsando las teclas
$trl K Alt K 3.
-u sin)a?is es la siguien)eL
1b!eto..ilter Q RFdescripcin a aparecer en la ca!a de listaH _ 0iltroS
E,e*(loL
$ommon2ialgo3.(hoA1pen
$ommon2ialog3..ilter Q R%eGto FL.tGtH _ L.tGt _ #m)genes FL.bmpP L.icoH _ L.bmpP
L.icoS
Aparecer) la siguiente ventana con la lista Ti(o de la siguiente manera"
%!
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
&ro(iedad Descri(ci'n
Filter&nde
'
#ndica el ndice de los elementos del 0iltro. Por de0ecto empieza a enumerar por R3S.
&nitDir $ontiene el nombre del directorio por de0ecto. (i no se especi0ica, se utiliza el
directorio actual.
Flags 2evuelve o establece las opciones de los cuadros de dialogo /ue muestra el control
Co**onDialog.
1 2.2. Ven)ana de i*(ri*ir 3&rin)7 del Dialog Con)rol
A continuacin se muestra una tabla con las propiedades m)s importantes para el mtodo de impresin
F-:o>&rin)H.
&ro(iedad Descri(ci'n
(opies 2etermina el nEmero de copias a realizar por la impresora.
From6age (elecciona el nEmero de p)gina a partir del cual comienza el rango de impresin.
+o6age (elecciona el nEmero de p)gina hasta la cual llega el rango de impresin.
6rinterDefaul
t
$uando es True se imprime en el ob!eto Visual Basic &rin)er. Adem)s las
opciones actuales de impresin /ue se cambien ser)n asignadas como las opciones
de impresin por de0ecto del sistema.
1 2.2.2 Ven)ana de @uen)e 3Gon)7 del Dialog Con)rol
as propiedades m)s importantes para el mtodo -:o>Gon) son"
&ro(iedad Descri(ci'n
(olor $olor de impresin. Para usar esta propiedad hace 0alta establecer la
propiedad Glags al valor de la constante cdlCGE@@ec)s.
Font)old, Font&talic,
Font#tri-etru,
Font7nderline
2evuelve o asigna los valores de los estilos de la 0uente actual.
Font#i2e 2evuelve o asigna el tama,o de la 0uente en uso.
Font.ame 2evuelve o asigna el nombre de la 0uente en uso.
8in " 8a' Asigna o lee los valores del tama,o de 0uente mnimo y m)Gimo
respectivamente /ue aparecer)n en la lista de seleccin del tama,o
de la 0uente.
%E
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
2.! #os @or*ularios
(e sobre entiende /ue un formulario es la ventana de m)Gimo nivel en la /ue aparecen los distintos
controles de la aplicacin. Pero se debe tener en cuenta /ue los formularios tambin poseen
propiedades, mtodos y eventos sobre los cuales el usuario traba!a para propsitos espec0icos en la
aplicacin. A continuacin se muestra una tabla con las propiedades m)s importantes de los
formularios.
1 2.!.$ &ro(iedades de los @or*ularios
&ro(iedad Descri(ci'n
Border(tyle &stablece el estilo de borde del 0ormulario. Puede tomar entre los valores" 01
None F(in bordeH, $1 Gi?ed-ingle F(imple 0i!oH, 1 -iza+le FPredeterminado.
%ama,o a!ustableH, 21 Gi?edDou+le F2ialogo 0i!oH, !1 Gi?edTool=indo>
FCentana 0i!aH, E1 -iza+leTool=indo> FCentana de tama,o a!ustableH. Para m)s
in0ormacin acerca de los estilos puede consultar la ayuda F:el(H de Visual Basic
6.0.
$aption Muestra el ttulo del 0ormulario.
BacI$olor &stablece el color de 0ondo del 0ormulario.
MaGButton 2etermina si el botn de maGimizar estar) activo o no. Puede tomar los valores
True o Galse.
MinButton 2eterminar si el botn de minimizar estar) activo o no. Puede tomar los valores
True o Galse.
M2#$hild
2evuelve o establece un valor /ue indica si un formulario debe mostrarse como
@or*ulario secundario MDI dentro de un @or*ulario MDI. &s de slo lectura
en tiempo de ejecucin. Puede tomar los valores True o Galse.
(hoA#n%asIBar 2etermina si el icono de la aplicacin se muestra cuando el 0ormulario se
minimiza. Puede tomar los valores True o Galse.
(tart+pPosition &stablece la posicin inicial del formulario. Puede tomar los valores" 01
-)ar)U(Manual F*inguna posicin inicialH, $1 -)ar)U(O>ner F$entrado en el
elemento /ue perteneceH, 1 -)ar)U(-creen F$entrado en toda la pantallaH y 21
-)arU(=indo>sDe@aul) F&s/uina superior iz/uierda de la pantallaH.
@indoA(tate &stablece el estado del formulario al iniciar la aplicacin. &l estado puede ser 01
Nor*al, $1 Mini*ized Fel 0ormulario aparece minimizadoH 1 Ma?i*ized Fel
0ormulario aparece maGimizadoH.
%6
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
1 2.!. M6)odos so+re los @or*ularios
A continuacin se muestra una tabla con los mtodos m)s usuales sobre los 0ormularios.
M6)od
o
Descri(ci'n
3ide 1culta un formulario pero no lo descarga.
#o, Muestra un 0ormulario ya sea /ue este se halla ocultado o /ue nunca se halla ocultado.
6rint #mprime el 0ormulario con todos sus controles. (i no /uiere imprimir un control en
especi0ico solo debe establecer el valor Galse a la propiedad Visi+le de ese control.
1 2.!.2 E5en)os de los @or*ularios
A continuacin se muestra una tabla con los eventos m)s usuales de los formularios.
E5en)o Descri(ci'n
oad 1curre al momento /ue el formulario se carga. +na carga ocurre cuando un 0ormulario
es mostrado o al momento /ue la aplicacin se e!ecuta. #oad tambin puede ser
utilizado para cargar un 0ormulario, es decir, ponerlo en 0uncionamiento a el y a todos
sus controles sobre el pero sin mostrar el 0ormulario.
+nload 1curre cuando el 0ormulario se descarga. +na descarga ocurre cuando el formulario o
la ventana son cerradas, ya sea por medio de cdigos o por el botn cerrar de la
aplicacin. Unload tambin puede ser utilizado para cerrar un formulario.
&!emplo"
Unload Me Y2escarga el 0ormulario actual.
Resize
1curre cuando un ob!eto se muestra primero o cuando cambia el estado de una ventana.
FPor e!emplo, cuando se maGimiza, minimiza o restaura un 0ormulario.H
%erminat
e
(e produce cuando todas las re0erencias a una instancia de un formulario, un formulario
M2#, un control User, una p)gina de propiedades, una clase de @eb, un dise,ador de
p)ginas 2'%M o una clase se /uitan de la memoria estableciendo a No):ing todas las
variables /ue hacen re0erencia al ob!eto o cuando la Eltima re0erencia al ob!eto /ueda
0uera del alcance.
%%
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
1 2.!.! Gor*ularios *9l)i(les
+n programa puede contener m)s de un formulario. 2e hecho, habitualmente los programas contienen
mEltiples formularios.
(in embargo, un programa siempre debe tener un formulario principal, /ue es el /ue aparece al
arrancar el programa. (e puede indicar cu)l debe ser el formulario principal en el menE &ro,ec);&ro,ec)
&ro(er)ies, en la 0icha Neneral, en la seccin -)ar)u( Gor*. Por de0ecto, el programa considera como
formulario principal el primero /ue se haya creado. &l resto de formularios /ue se incluyan en el
programa ser)n cargados en su momento, a lo largo de la e!ecucin del programa.
Para a,adir en tiempo de dise,o nuevos formularios al programa, hay /ue acudir al menE &ro,ec);"dd
Gor*. a 0orma de cargar y descargar estos formularios se ha eGplicado con anterioridad. &s
importante sin embargo recordar /ue conviene descargar a/uellos subB0ormularios /ue ya no sean de
utilidad, ya /ue as se ahorran recursos al sistema.
1 2.!.!.$ Gor*ularios MDI 3Mul)i(le Docu*en) In)er@ace7
&n algunos casos puede ser interesante establecer una !erar/ua entre las ventanas o formularios /ue
van apareciendo sucesivamente en la pantalla del ordenador, de tal manera /ue al cerrar una /ue se haya
establecido como principal, se cierren tambin todas las /ue se han abierto desde ella y dentro de ella.
2e esta 0orma una misma aplicacin puede tener varios documentos abiertos, uno en cada ventana hi!a.
As traba!an por e!emplo los programas =ord4 E?cel4 &o>er&oin)4 etc. A este con!unto de documentos
o ventanas /ue traba!an a con!unto y dependen de una ventana principal se le llama MDI FMul)i(le
Docu*en) In)er@aceH.
+n 0ormulario MDI Fin)er@az de *9l)i(les docu*en)osH es una ventana /ue actEa como 0ondo de una
aplicacin y es el contenedor de 0ormularios /ue tienen su propiedad MDIC:ild establecida a True.
-in)a?is
MDIGor*
%8
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
Para crear un ob!eto MDIGor*, eli!a "gregar @or*ulario MDI en el menE &royec)o.
+na aplicacin slo puede tener un ob!eto MDIGor*, pero varios 0ormularios secundarios 8D&. (i
un 0ormulario secundario M2# tiene menEs, la barra de menEs del 0ormulario secundario reemplazar)
autom)ticamente a la barra de menEs del ob!eto MDIGor* cuando el 0ormulario secundario M2# est
activo. +n 0ormulario secundario M2# minimizado se mostrar) como un icono en el MDIGor*.
+n ob!eto MDIGor* slo puede contener controles Menu y &ic)ureBo?, y controles personalizados
/ue tengan una propiedad "lign. Para colocar otros controles en un MDIGor*, puede dibu!ar un
cuadro de imagen en el 0ormulario y despus dibu!ar otros controles dentro del cuadro de imagen.
Puede usar el mtodo &rin) para mostrar teGto en un cuadro de imagen de un MDIGor*, pero no puede
usar este mtodo para mostrar teGto en el MDIGor* propiamente dicho.
+n ob!eto MDIGor* no puede ser modal.
os 0ormularios secundarios M2# se dise,an de 0orma independiente del MDIGor*, pero siempre
est)n contenidos en el MDIGor* en tiempo de ejecucin.
Puede tener acceso a la coleccin de controles de un MDIGor* mediante la coleccin Con)rols. Por
e!emplo, para ocultar todos los controles de un MDIGor* puede usar cdigo similar a ste"
Gor Eac: Control in MDIForm1.Controls
Control.Visible = False
Ne?) Control
a propiedad Coun) del MDIGor* indica el nEmero de controles de la coleccin Con)rols.
2.E Con)roles +asados en arreglos 3arrays7
+n array de controles esta 0ormado por controles del mismo tipo /ue comparten el nombre y los
procedimientos o 0unciones para gestionar los eventos. Para identi0icar a cada uno de los controles
pertenecientes al array se utiliza Inde? o Indice, /ue es una propiedad m)s del control.
a utilidad principal de los arrays se presenta en a/uellos casos en los /ue el programa debe responder
de 0orma seme!ante a un mismo evento sobre varios controles del mismo tipo. os botones m)s claro
son los botones de opcin y los menEs.
%0
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo III
Conociendo los controles ms usados (propiedades, eventos y
mtodos)
&n estos casos el programa responde de manera seme!ante independientemente de cu)l es la opcin
seleccionada. os arrays de controles comparten cdigo, lo cual /uiere decir /ue slo hay /ue
programar una 0uncin para responder a un evento de un determinado tipo sobre cual/uier control del
array. as 0unciones /ue gestionan los eventos de un array tienen siempre un argumento adicional del
tipo Inde? "s In)eger /ue indica /u control del array ha recibido el evento.
2.6 I*agen con )odos los controles *.s usuales en Visual Basic 6.0
80
.igura 5.8. os controles m)s usados en Cisual Basic 8.D
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
CONTENIDO
6.3D &l lengua!e Basic
B 6.3.3 #ntroduccin
6.33 $omentarios y otros elementos en el engua!e Basic
6.34 1b!eto de un programa
B 6.5.3 #denti0icadores
B 6.5.4 Palabras reservadas en Cisual Basic 8.D
6.35 %ipos de datos de variables
B 6.6.3 $lasi0icacin de los tipos de datos
B 6.6.3.3 %ipos enteros FByte, #nteger, ongH
B 6.6.3.4 %ipos reales F(ingle, 2ouble, $urrencyH
B 6.6.3.5 %ipos cadena F(tringH
B 6.6.3.6 %ipos lgicos FBooleanH
B 6.6.3.7 %ipos variados FCariantH
6.36 $onstantes
B 6.7.3 2eclaracin de constantes
6.37 Cariables
B 6.8.3 2eclaraciones de variables
B 6.8.4 *ombres descriptivos de las variables
B 6.8.5 Almacenar y recuperar datos en variables
6.38 &Gpresiones y operadores
B 6.;.3 1peradores aritmticos" K,B,L,J
B 6.;.4 1perador Mod
B 6.;.5 1peradores lgico
B 6.;.6 1peradores de concatenacin
6.3; Algunos e!ercicios pr)cticos
6.39 (entencias de control
B 6.:.3 (entencia #. ? %'&* ? &(& ?
B 6.:.4 (entencia (&&$% $A(&
B 6.:.5 (entencia .1R ? *&M%
B 6.:.6 (entencia 21 ? 11P
B 6.:.7 (entencia @'#& ? @&*2
B 6.:.8 (entencia .1R &A$' ? *&M%
8$
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
!.$0 El lengua,e Basic
1 !.$.$ In)roducci'n

2espus de haber conocido todos los elementos y controles m)s importantes de Cisual Basic 8.D es
imprescindible conocer los 0undamentos del lengua!e de programacin Basic.
+n (rogra*a de computadora est) constituido en sentido general por 5aria+les /ue contienen los
datos con los /ue se traba!a y por algori)*os /ue son las sentencias /ue operan sobre estos datos. &stos
datos y algori)*os suelen estar incluidos dentro de funciones y procedimientos.
2esde un principio los distintos tipos de lenguaje de programacin han mane!ado variables y sentencias
/ue permiten realizar operaciones simples y comple!as /ue de una 0orma u otra proporcionan valores
/ue !uegan un papel muy importante en la aplicacin FprogramaH. 2e tal manera, Visual Basic 6.0 a
pesar de ser un lengua!e de programacin orientado a ob!etos y no estructurado, proporciona una gran
cantidad de herramientas y sintaGis para la manipulacin de valores y variables /ue son de suma
utilidad en cual/uier aplicacin /ue se realice en Visual Basic.
&n este capitulo trataremos el uso de los comentarios, las variables, constantes, los distintos tipos de
operadores y los distintos tipos de datos para las variables.
!.0 Co*en)arios y o)ros ele*en)os en el #engua,e Basic
Visual Basic 6.0 interpreta /ue todo lo /ue est) a la derecha de una comilla simple F YH en una lnea
cual/uiera del programa es un co*en)ario y no lo tiene en cuenta al momento de compilacin. &l
co*en)ario puede empezar al comienzo de la lnea o a continuacin de una instruccin /ue debe ser
e!ecutada.
+na de las caractersticas principales de los co*en)arios es /ue toman el color verde por de0ecto al
momento de ser declarados, por e!emplo"
Y&ste proceso /ue esta deba!o de mi, suma dos valores contenidos en A y B.
( Q A K B Y Almacena la suma en la variable (.
8
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
os comentarios son bastante Etiles para poder entender el cdigo utilizado, 0acilitando de ese modo
0uturas revisiones y correcciones. &n programas /ue no contengan muchas lneas de cdigo puede no
parecer demasiado importante, pero cuando se trata de proyectos realmente comple!os, o desarrollados
por varias personas su utilizacin es imprescindible. &n el caso de /ue el cdigo no est comentado este
traba!o de actualizacin y revisin puede resultar una tarea muy complicada.
1tro aspecto pr)ctico en la programacin es la posibilidad de escribir una sentencia en m)s de una
lnea. &n el caso de sentencias bastantes largas es conveniente cortar la lnea para /ue entre en la
pantalla. Para ello es necesario de!ar un espacio en blanco al 0inal de la lnea y escribir un underscore
FIH o car)cter de subrayado tal y como se muestra a continuacin.
I@ Fa ` bH "nd Fa ` cH "nd Fa ` dH "nd Fa ` eH "nd Fa ` 0H "nd Fa ` gH "nd Fa ` hH V
"nd Fb ^` DH "nd Fc ^` DH "nd Fd ^` DH "nd Fe ^` DH "nd F0 ^` DH "nd Fg ^` DH T:en
MsgBoG FR&l valor de a es" R Z aH
End I@
Visual Basic 6.0 permite tambin incluir varias sentencias en una misma lnea. Para ello las sentencias
deben ir separadas por el car)cter dos puntos FLH. Por e!emplo"
MsgBo? FRBienvenidoSH L MsgBo? FRa Cisual Basic 8.DSH
!.$ O+,e)o de un (rogra*a
os ob!etos son las unidades signi0icativas m)s pe/ue,as de teGto de una aplicacin Visual Basic y se
dividen en" smbolos especiales, identi0icadores, eti/uetas, nEmeros, constantes, variables, etc.
1 !.2.$ Iden)i@icadores
os identificadores representan los ob!etos de un programa Fconstantes, variables, tipos de datos,
procedimientos, 0unciones, programas, campos de registros, etc.H. +n identificador es una secuencia de
caracteres /ue puede ser de cual/uier longitud, pero slo 477 primeros caracteres son signi0icativos.
82
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
+n identi0icador se caracteriza por estas reglas"
3. 2ebe comenzar con una letra FA a a, mayEsculas o minEsculasH y no puede contener blancos.
4. etras, dgitos y caracteres subrayados FVH est)n permitidos despus del primer car)cter eGcepto
como Eltimo car)cter.
5. *o se puede utilizar una palabra reservada como identi0icador.
6. os caracteres b, Z, c, d, e, f solo pueden ser usados al 0inal del identi0icadorFvariableH para indicar
el tipo de datos /ue almacenar) dicha variable.
&stos pueden ser identi0icadores v)lidos"
.ombre
1rea9:ectangulo
5ado*
&mpuesto9#obre95a9:enta
&mpuesto+otales
&stos son iden0iciadores no validos"
AreaZRectangulo &l ampersand FZH solo puede ser usado al 0inal
ado 3 $ontiene espacios en blanco
#mpuestoeRenta %iene un e despus del primer car)cter
.or &s una palabra reservada en Visual Basic 6.0
1 !.2. &ala+ras reser5adas en Visual Basic 6.0
as palabras reservadas en Visual Basic 6.0 no se pueden utilizar como identi0icadores, ya /ue tienen
signi0icado especial en Visual Basic y no se utilizan para otros propsitos. A continuacin se muestra
una lista con las palabras reservados en Visual Basic 6.0.
8!
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
Abs Add And App
Activate Array Ascatn Base
Beep $bool $byte $cur
$date $dbl $dec $int
$lng $sng $str $var
$verr $all $ase $dh
$hoose $hdir $hdrive $lear
$lose $ollection $ommand $ompare
$onst $os $reate1b!ect $urdir
2ateserial 2atevalue 2ay 2db
2e00type 2im 2eletesetting 2ir
2o 2oevents &ach &nd
&nviron &o0 &/v &rase
&rr &rror &Git &Gp
&Gplicit .ileattr .ilecopy .iledatetime
.ilelen .iG .or .ormat
.ree0ile .unction .v Tet
Tetattr Tet1b!ect Tetsetting Tetallsetting
Tosub Toto 'eG 'our
#mp #nput #nstr #nt
#nteger #pmt #rr #s
#sarray #sdate #sempty #serror
#smissing #snull #snumeric #sob!ect
#tem Nill bound case
e0t et iIe oc
ocI o0 og oop
set trim Me Mid
Minute Mirr MIdir Mod
Month *ame *eA *eGt
*ot *per *pv 1ct
1n 1nerror 1pen 1r
1ption Print Ppmt Printd
Private Property Public Put
Pv =bcolor Raise Randomize
Rate Redim Remove Reset
Resume Return Rgb Right
Rmdir Rnd Rset Rtrim
(avesettings (econd (electcase (eeI
(hell (endNeys (etattr (gn
(in (ingle (ln (pace
(pc (/r (tatic (top
(tr (trcomp (trconv (tring
(ub (yd (Aitch %ab
%an %imer %ime(erial %imeCalue
%rim %ypename +bound +case
+nlocI Cal Cartype @eeIday
@end @hile @idth @rited
Mor Ue/r di0 delse
Palabras del propio lengua!e de Visual Basic 6.0.
8E
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
!. Ti(os de da)os de 5aria+les
os tipos de datos de variables son los distintos ob!etos de in0ormacin con los /ue traba!a una
aplicacin en Cisual Basic. %odos los datos tienen un tipo asociado con ellos. +n dato puede ser un
simple car)cter, tal como un YBg, un valor entero tal como :D o un nEmero real tal como 7.38.
1 !.!.$ Clasi@icaci'n de los )i(os de da)os
os tipos de datos de variables se pueden clasi0icar de acuerdo a su almacenamiento en" tipos enteros
FByte, #nteger, ongH, tipos reales F(ingle, 2ouble, $urrencyH, tipos cadena F(tringH, tipos lgicos
FBooleanH, tipos 0echa F2ateH, tipos variados FCariantH.
1 !.!.$.$ Ti(os en)eros 3By)e4 In)eger4 #ong7
Visual Basic tiene tres tipos de datos prede0inidos para representar los nEmeros enteros" Byte, #nteger y
ong.
$7 By)e" as variables tipo By)e se almacenan como nEmeros de 9 bits F3 byteH sencillos sin signo con
un intervalo de valores entre D y 447. &l tipo de datos By)e es Etil para almacenar datos binarios.
7 In)eger" as variables In)eger se almacenan como nEmeros de 38 bits F4 bytesH con valores /ue van
de B54.;89 a 54.;8;. &l car)cter de declaracin de tipo para el tipo In)eger es el signo de porcenta!e
FZH.
as variables tipo In)eger tambin se pueden utilizar para representar valores enumerados. +n valor
enumerado puede contener un con!unto 0inito de nEmeros enteros Enicos, cada uno de los cuales tiene
un signi0icado especial en el conteGto en el /ue se utiliza. os valores enumerados proporcionan una
0orma cmoda de seleccionar entre un nEmero conocido de opciones. Por e!emplo, cuando se pregunta
al usuario /ue eli!a un color de una lista, se podra tener D Q negro, 3 Q blanco y as sucesivamente. &s
una buena pr)ctica de programacin de0inir constantes utilizando la instruccin Cons) para cada valor
enumerado.
27 #ong" as variables #ong Fenteros largosH se almacenan como nEmeros con signo de 54 bits F6
bytesH con un valor comprendido entre B4.36;.695.869 y 4.36;.695.86;. &l car)cter de declaracin de
tipo para #ong es el signo O.
86
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
1 !.!.$. Ti(os reales 3-ingle4 Dou+le4 Currency7
Cisual Basic tambin posee tres tipos de datos para representar los nEmeros reales" (ingle, 2ouble y
$urrency.
$7 -ingle" as variables -ingle Fpunto 0lotante de precisin simpleH se almacenan como nEmeros #&&&
de coma 0lotante de 54 bits F6 bytesH con valores /ue van de B5,6D4945&59 a B3,6D34:9&B67 para
valores negativos y de 3,6D34:9&B67 a 5,6D4945&59 para valores positivos. &l car)cter de declaracin
de tipo para (ingle es el signo de eGclamacin F[H.
7 Dou+le" as variables dobles Fpunto 0lotante de doble precisinH se almacenan como nEmeros #&&&
de coma 0lotante de 86 bits F9 bytesH con valores de B3,;:;8:535698454&5D9 a B6,:6D8786796346;&B
546 para valores negativos y de 6,:6D8786796346;&B546 a 3,;:;8:535698454&5D9 para valores
positivos. &l car)cter de declaracin de tipo para Dou+le es el signo de nEmero F\H.
27 Currency" as variables tipo Currency se almacenan como nEmeros de 86 bits F9 bytesH en un
0ormato de nEmero entero a escala de 3D.DDD para dar un nEmero de punto 0i!o con 37 dgitos a la
iz/uierda del signo decimal y 6 dgitos a la derecha. &sta representacin proporciona un intervalo de
B:44.55;.4D5.897.6;;,79D9 a :44.55;.4D5.897.6;;,79D;. &l car)cter de declaracin de tipo para
Currency es el signo ].
&l tipo de datos Currency es Etil para c)lculos monetarios y para c)lculos de punto 0i!o, en los cuales la
precisin es especialmente importante.
1 !.!.$.2 Ti(os cadena 3-)ring7
'ay dos clases de cadenas" cadenas de longitud variable y cadenas de longitud 0i!a.
as cadenas de longitud variable pueden contener hasta 4.DDD millones de caracteres F4h53H.
as cadenas de longitud 0i!a /ue pueden contener de 3 a 86 NB F4h38H caracteres.
No)a" *o se puede usar una cadena &u+lic de longitud 0i!a en un mdulo de clase.
8%
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
os cdigos para caracteres de tipo -)ring varan desde D a 477. os primeros 349 caracteres FDi34;H
del !uego de caracteres corresponden a las letras y los smbolos de un teclado est)ndar de &&.++. &stos
primeros 349 caracteres son los mismos /ue los de0inidos por el !uego de caracteres "-CII. os
siguientes 349 caracteres F349i477H representan caracteres especiales, como letras de al0abetos
internacionales, acentos, smbolos de moneda y 0racciones. &l car)cter de declaracin de tipo para
-)ring es el signo de dlar F^H.
1 !.!.$.! Ti(os l'gicos 3Boolean7
as variables tipo Boolean se almacenan como nEmeros de 38 bits F4 bytesH, pero slo pueden ser
True o Galse. as variables tipo Boolean se presentan como True o FalseFcuando se utiliza &rin)H o
#TRUE# o #FALSE# Fcuando se utiliza =ri)e \H. +tilice las palabras clave True y Galse para asignar
uno de los dos estados a las variables tipo Boolean.
$uando se convierten a tipo Boolean otros tipos numricos, D se convierte en Galse, y el resto de los
valores se convierten en True. $uando los valores tipo Boolean se convierten a otros tipos de datos
numricos, Galse se convierta en D y True se convierte en B3.
1 !.!.$.E Ti(os 5ariados 3Varian)7
+na variable Varian) es capaz de almacenar todos los tipos de datos de0inidos en el sistema. *o tiene
/ue convertir entre esos tipos de datos si los asigna a una variable Varian)P Visual Basic realiza
autom)ticamente cual/uier conversin necesaria.
!.2 Cons)an)es
A menudo ver) /ue el cdigo contiene valores constantes /ue reaparecen una y otra vez. 1 puede /ue
el cdigo dependa de ciertos nEmeros /ue resulten di0ciles de recordar FnEmeros /ue, por s mismos,
no tienen un signi0icado obvioH.
&n estos casos, puede me!orar mucho la legibilidad del cdigo y 0acilitar su mantenimiento si utiliza
constantes. +na constante es un nombre signi0icativo /ue sustituye a un nEmero o una cadena /ue no
vara. Aun/ue una constante recuerda ligeramente a una variable, no puede modi0icar una constante o
asignarle un valor nuevo como ocurre con una variable. 'ay dos orgenes para las constantes"
detalles acerca de la utilizacin del &Gaminador de ob!etos, vea [Programar con ob!etos[.
88
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
(onstantes intr%nsecas o definidas por el sistema; proporcionadas por aplicaciones y controles. as
constantes de Visual Basic se muestran en Visual Basic 3VB7 y Visual Basic para aplicaciones 3VB"7
y las bibliotecas de ob!etos en el &Gaminador de ob!etos. 1tras aplicaciones /ue proporcionan
bibliotecas de ob!etos, como Microso0t &Gcel y Microso0t Pro!ect, tambin proporcionan una lista de
constantes /ue puede usar con sus ob!etos, mtodos y propiedades. %ambin se de0inen constantes en la
biblioteca de ob!etos de cada control "c)i5e<. Para obtener m)s detalles acerca de la utilizacin del
&Gaminador de ob!etos, vea [Programar con ob!etos[.
5as constantes simblicas o definidas por el usuario; se declaran mediante la instruccin Cons). as
constantes de0inidas por el usuario se describen en la prGima seccin, [$rear sus propias constantes[.
&n Visual Basic, los nombres de constantes tienen un 0ormato /ue combina mayEsculas y minEsculas,
con un pre0i!o /ue indica la biblioteca de ob!etos /ue de0ine la constante. as constantes de las
bibliotecas de ob!etos de Visual Basic y Visual Basic para aplicaciones tienen el pre0i!o [vb[P por
e!emplo, 5+TileDorizon)al.
1 !.E.$ Declaraci'n de cons)an)es
a sintaGis para declarar una constante es la siguiente"
P&u+lic X &ri5a)eQ Cons) *ombre$onstante P"s Ti(oQ Q &Gpresin
&l argumento NomreConstante es un nombre simblico valido Fas reglas son las mismas /ue para
crear variablesH, y E?(resi'n est) compuesta por constantes y operadores de cadena o nEmeros. (in
embargo, no puede usar llamadas a 0unciones en eGpresin.
a declaracin de una constante puede ser de distintos tipos" 6!blica Fdentro de un mduloH, 6rivada
Fen el )rea de declaraciones general de un 0ormularioH o 5ocal Fdentro de un procedimientoH.
*.< Declaracin de una constante p!blica;

2eclarar una constante p!blica signi0ica /ue esa constante podr) ser utilizada desde cual/uier
80
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
procedimiento, 0ormulario o mdulo. Para declarar una constante p!blica siga los siguientes pasos"
aH #nserte un mdulo desde el menE &ro,ec);"dd Module.
bH 2entro de ese modulo escriba la instruccin &u+lic seguida de la instruccin Cons) y a continuacin,
el nombre de la constante con su tipo asociado.
&!emplo"
cH 2espus de hacer esta declaracin puede usar la constante P# dentro de cual/uier procedimiento Fun
botn de comando, un control istBoG, un 0ormulario, etc.H sin la necesidad de re0erenciar al mdulo
/ue la contiene.
=.< Declaracin de una constante privada;
2eclarar una constante privada signi0ica /ue esa constante puede ser usada dentro de todos los
procedimientos de un mismo 0ormulario o dentro del 0ormulario donde se declara la constante. Para
declarar una constante privada siga los siguientes pasos"
aH &n la declaracin 3Neneral7 de un 0ormulario escriba la instruccin Cons) seguida del nombre de la
constante, su tipo asociado y eGpresin. $omo se muestra a continuacin"
00
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
bH Al hacer esto puede utilizar la constante P# desde cual/uiera de los procedimientos dentro de ese
0ormulario, es decir, puede agregar un botn de comando, un control istBoG, una eti/ueta, cual/uier
control en general y hacer re0erencia a esta constante solo por su nombre desde cual/uiera de los
eventos de dicho control.
0$
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
>.< Declaracin de una constante local;
2eclarar una constante local signi0ica /ue esa constante solo puede ser usada dentro del
procedimiento donde se declara. Para declarar una constante local escriba la instruccin Cons)
seguida del nombre de la constante, su tipo asociado y su eGpresin dentro del mismo
procedimiento.
&!emplo"
!.6 Varia+les
&n Visual Basic puede usar variables para almacenar valores temporalmente durante la e!ecucin de
una aplicacin. as variables tienen un nombre Fla palabra /ue utiliza para re0erirse al valor /ue
contiene la variableH y un tipo de dato F/ue determina la clase de datos /ue la variable puede
almacenarH.
Puede considerar una variable como un marcador de posicin en memoria de un valor desconocido. Por
e!emplo, suponga /ue est) creando un programa para una 0rutera /ue haga un seguimiento del precio
de las manzanas. *o sabe el precio de una manzana o la cantidad /ue se ha vendido hasta /ue no se
produce realmente la venta. Puede usar dos variables para almacenar los valores desconocidos Fvamos a
llamarlos PrecioManzanas y ManzanasCendidasH. $ada vez /ue se e!ecuta el programa, el usuario
especi0ica los valores de las dos variables. Para calcular las ventas totales y mostrarlas en un cuadro de
teGto llamado tGtCentas, el cdigo debera parecerse al siguiente"
0
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
tGtCentas.teGt Q PrecioManzanas L ManzanasCendidas
a eGpresin devuelve un total distinto cada vez, dependiendo de los valores /ue indi/ue el usuario. as
variables le permiten realizar un c)lculo sin tener /ue saber antes cu)les son los valores especi0icados.
!.6.$ Declaraciones de 5aria+les
2eclarar una variable es decirle al programa algo de antemano. (e declara una variable mediante la
instruccin Di*, proporcionando un nombre a la variable"
Di* nombreCariable P"s )i(oQ
as variables /ue se declaran en un procedimiento mediante la instruccin Di* slo eGisten mientras
se e!ecuta el procedimiento. $uando termina el procedimiento, desaparece el valor de la variable.
Adem)s, el valor de una variable de un procedimiento es local de dicho procedimientoP es decir, no
puede tener acceso a una variable de un procedimiento desde otro procedimiento. &stas caractersticas
le permiten usar los mismos nombres de variables en distintos procedimientos sin preocuparse por
posibles con0lictos o modi0icaciones accidentales.
a cl)usula opcional "s tipo de la instruccin Di* le permite de0inir el tipo de dato o de ob!eto de la
variable /ue va a declarar. os tipos de datos de0inen el tipo de in0ormacin /ue almacena la variable.
Algunos e!emplos de tipos de datos son -)ring4 In)eger y Currency. as variables tambin pueden
contener ob!etos de Visual Basic u otras aplicaciones. Algunos e!emplos de tipos de ob!eto de Visual
Basic, o clases, son $bject, Form* y +e't)o'.
1 !.6. No*+res descri()i5os de las 5aria+les
os nombres de las variables deben estar sometidos a las siguientes reglas"
2eben comenzar con una letra.
*o pueden incluir un punto o un car)cter de declaracin de tipo.
*o debe eGceder de 477 caracteres.
2eber ser Enica en el mismo alcance, es decir, o es pEblica, privada o solo local.
02
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
1 !.6.2 "l*acenar y recu(erar da)os en 5aria+les
+tilice instrucciones de asignacin para realizar c)lculos y asignar el resultado a una variable"
ManzanasCendidas Q 3D \ (e pasa el valor 3D a la variable.
ManzanasCendidas Q ManzanasCendidas K 3 \ (e incrementa la variable.
1bserve /ue el signo igual del e!emplo es un operador de asignacin, no un operador de igualdadP el
valor F3DH se asigna a la variable FManzanasCendidasH.
!.% E?(resiones y o(eradores
+na e'presin es un con!unto de datos o 0unciones unidos por operadores aritmticos. as e'presiones
aritmticas est)n representados por" una constante, una variable o una combinacin de constantes o
variables unidas por operadores aritmticos.
&!emplos de algunas eGpresiones aritmticas"
3H (uma Q a K b
4H Area Q Fbase L alturaHJ4
1 !.%.$ O(eradores ari)*6)icosL V4 14 _4 ;
(on a/uellos /ue se utilizan para realizar las operaciones b)sicas de las matem)ticas. &n las operaciones
b)sicas tenemos" suma, resta, multiplicacin y divisin.
O(erador -igni@icado E,e*(lo Resul)ado
K (uma a K b (uma de a y b.
B Resta a i b 2i0erencia entre a y b.
L Multiplicacin a L b Producto de a por b.
J 2ivisin a J b $ociente de a sobre b.
j 2ivisin entera a j b $ociente entero de a sobre b.
Mod Mdulo o
Resto
a mod b Resto de a sobre b.
h &Gponenciacin a h b Potencia de a elevado a b.
0!
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
1 !.%. O(erador Mod
2ivide dos nEmeros y devuelve slo el resto.
-in)a?is
Resultado Q nEmero3 Mod nEmero4
2onde :esultado es cual/uier variable numrica, nEmero3 y nEmero4 es cual/uier eGpresin numrica.
&!emplos"
; Mod 5 Q 3 ; 5
3 4
34 Mod 5 Q D 34 5
D 6
1 !.%.2 O(erador l'gico
(e utilizan para combinar las eGpresiones lgicas, es decir, /ue nos permiten evaluar m)s de una
eGpresin lgica a la vez. os operadores and, or y no) traba!an con operando /ue son eGpresiones
lgicas.
(u 0ormato es"
W1perando3X o(erador l'gico W1perando4X
2onde operando* y operando= pueden ser cual/uier eGpresin lgica.
&!emplos"
0E
; J 5 Q 4 F4 cocienteH
; Mod 5 Q 3 F3 restoH
34 J 5 Q 6 F6 cocienteH
34 Mod 5 Q D FD restoH
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
7 ` 8 And ; ` 4D .also.
5 ` 3 And 8 ^ 4D Cerdadero.
1 El o(erador l'gico "nd 3y7L
&l operador "nd 3y7 combina dos o m)s condiciones simples y produce un resultado verdadero slo si
todos los operando son verdaderos.
1perador and
$perando * and $perando = Calor
%rue %rue %rue
%rue .alse .alse
.alse %rue .alse
.alse .alse .alse
1 El o(erador l'gico or 3o7L
Proporciona un valor verdadero si uno de los operando es verdadero.
1perador or
$perando * or $perando = Calor
%rue %rue %rue
%rue .alse %rue
.alse %rue %rue
.alse .alse .alse
El o(erador l'gico no) 3no7L
*iega el valor original de una eGpresin, si es verdadero ser) 0also, si es 0also ser) verdadero.
1perador no)
not $perando * Calor
%rue .alse
.alse %rue
06
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
1 !.%.! O(eradores de conca)enaci'n
a concatenacin en la programacin consiste en la unin de dos o m)s cadenas de caracteres
mediante los smbolos FVH y FOH. +nir dos o m)s cadenas de caracteres mediante uno de estos
operadores es bastante sencillo y se aseme!a al proceso realizado en una suma.
&!emplo"
$adena3 Q RBuenos R
$adena4 Q R2as.S
$adena5 Q $adena3 K $adena4
MsgBoG F$adena5H
$adena5 Q $adena3 Z $adena4
MsgBoG F$adena5H
!.8 "lgunos e,ercicios (r.c)icos
k (e solicita calcular el )rea de un rect)ngulo donde" area Q lado3 L lado4. &l lado3 y el lado4 deben
introducidos mediante dos ca!as de teGto y el resultado FareaH debe ser mostrado en otra ca!a de teGto.
&asos a seguirL
aH Abra un nuevo proyecto desde el MenE Gile;Ne> &ro,ec).
bH #nserte tres eti/uetas, tres ca!as de teGto y dos botones de comando tal y como se muestra a
continuacin"
0%
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
cH Aplica las siguientes caractersticas a los controles sobre el 0ormulario"
Con)rol &ro(iedad Valor
.orm (aption lrea de un rect)ngulo
abel3 1uto#i2e
(aption
Font
%rue
ado 3"
%ama,o 3D, *egrita.
abel4 1uto#i2e
(aption
Font
%rue
ado 4"
%ama,o 3D, *egrita.
abel5 1uto#i2e
(aption
Font
%rue
Area"
%ama,o 3D, *egrita.
%eGt3 .ame
+e't
tGtado3
FvacoH
%eGt4 .ame
+e't
tGtado4
FvacoH
%eGt5 .ame
+e't
tGtArea
FvacoH
$ommand3 .ame
(aption
cmd$alcular
Z$alcular
$ommand4 .ame
(aption
cmd(alir
Z(alir
dH a apariencia de los controles sobre el 0ormulario debe ser la siguiente"
08
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
eH 2entro de cada procedimiento escriba el cdigo correspondiente"
Private (ub cmd$alcularV$licI F H
2im lado3, lado4, area As ong \ 2eclara las variables
lado3 Q CalFtGtado3.%eGtH \ Almacena el lado3
lado4 Q CalFtGtado4.%eGtH \ Almacena el lado4
area Q lado3 L lado4 \ $alcula el )rea
tGtArea.%eGt Q area \ Muestra el )rea
&nd (ub
Private (ub cmd(alirV$licI F H
&nd
&nd (ub
0H $orra la aplicacin pulsando la tecla PGEQ.
gH #ntroduzca valores en las ca!as de los lados del rect)ngulo y haga clic en el botn Calcular.
hH (alga de la aplicacin y gu)rdela.
1 E,ercicios (ro(ues)os
3H (e re/uiere calcular el )rea de un tri)ngulo" area ! "ase # altura$%&, la base y la altura deben ser
introducidas mediante ca!as de teGto. &l programa debe mostrar el )rea del tri)ngulo en una ca!a de
teGto.
4H (e re/uiere calcular el volumen de una es0era" volumen ! '%( # )* # radio+
5H (e re/uiere evaluar la siguiente 0ormula" M3 Q
4a
6ac B m b b +
Fes la solucin positiva de una
ecuacin de segundo gradoH. os datos deben ser proporcionados mediante ca!as de teGto.
6H (e re/uiere calcular el )rea y el volumen de un cilindro" area T 3 _ 3&I _ radio`77 V 33 _ &I _
radio7 _ :7 y 5olu*en T 3&I _ radio`7 _ :.
7H (e re/uiere calcular las races de una ecuacin de segundo grado" ?$T 31+ V raiz3+` 1 3! _ a _ c77 ;
_ a y ?T 31+ 1 raiz3+` 1 3! _ a _ c77 ; _ a. os datos deben ser proporcionados mediante ca!as de
teGto.
00
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
!.$ -en)encias de con)rol
as sen)encias de con)rol, denominadas tambin estructuras de control, permiten tomar decisiones y
realizar un proceso repetidas veces. (on los denominados bi0urcaciones y bucles. &ste tipo de
estructuras son comunes en cuanto a concepto en la mayora de los lengua!es de programacin, aun/ue
su sintaGis puede variar de un lengua!e de programacin a otro. (e trata de un con!unto de estructuras
muy importantes ya /ue se encargan de controlar el flujo de un programa segEn los re/uerimientos del
mismo. Visual Basic 6.0 dispone de las siguientes estructuras de control.
I@ K T:en K Else
-elec) Case
Gor K Ne?)
Do K #oo(
=:ile K =end
Gor Eac: K Ne?)
!.0.$ -en)encia IG K TDEN K E#-E K
2ado /ue una condicin produce un valor verdadero o 0also, se necesita una sentencia de control /ue
e!ecute determinada sentencia si la condicin es verdadera, y otra si es 0alsa. &n Pascal esta alternativa
se realiza con la sentencia IG1TDEN1E#-E. A continuacin se describe el diagrama de 0lu!o y el
0ormato de la sentencia.
Gor*a)os de la sen)encia IGL
If <condicin> Then
<Sentencias1>
Else
<Sentencias2>
End If
If <condicin> Entonces
<Sentencias1>
Sino
<Sentencias2>
End If
$00
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
(i condici'n es True 35erdadera7, se e!ecutan las sentencias /ue est)n a continuacin de T:en, y si
condici'n es Galse 3@alsa7, se e!ecutan las sentencias /ue est)n a continuacin de Else, si esta cl)usula
ha sido especi0icada.
&!emplo"
numero Q 3D
I@ numero ^ 4D T:en
MsgBoG FR&l nEmero es menor de 3D.SH
Else
MsgBoG FR&l nEmero es mayor de 3D.SH
End I@
&s lgico /ue la sentencia especi0icada despus de la cl)usula Else nunca se e!ecutar), esto es por/ue se
ha especi0icado /ue la variable nu*ero tiene por valor diez y por ende la condicin seguida a I@ es
verdadera. Para indicar /ue se /uiere e!ecutar uno de varios blo/ues de sentencias dependientes cada
uno de ellos de una condicin, la estructura adecuada es la siguiente"
I@ condicion3 T:en
(entencias3
ElseI@ condicion4 T:en
(entencias4
Else
(entenciasBn
End I@
(i se cumple la condicion$ se e!ecutan las sen)encias$, y si no se cumple, se eGaminan
secuencialmente las condiciones siguientes hasta Else, e!ecut)ndose las sentencias correspondientes al
primer ElseI@ cuya condicin se cumpla. (i todas las condiciones son Falsas, se e!ecutan las
sen)encias1n correspondiente a la cl)usula Else, /ue es la opcin por de0ecto.
$0$
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
1 !.0. -en)encia -E#ECT C"-E
a sentencia case se utiliza para elegir entre di0erentes alternativas. +na sentencia case se compone de
varias sentencias simples. $uando case se e!ecuta, una de las sentencias simples se selecciona y e!ecuta.
(u 0ormato es"
2onde e?(resi'n es una eGpresin numrica o al0anumrica /ue puede proporcionar una serie de
valores distintos y uno de ellos puede o no encontrarse en la lista. A estos valores en una sentencia
Case se les podran llamar R5alores (ro(orcionados (or la e?(resi'n 35(e7S. as eti0uetas 5($, 5(e,
5(eKN representan valores /ue puede o no proporcionar la eGpresin, segEn sea el valor se e!ecutan
las sentencias seguidas a la eti0ueta F5(eNH correspondiente. a clausula opcional Case Else indica /ue
si los valores proporcionados por la e?(resi'n no se encuentran en la listas de las eti/uetas F5(eNH
entonces se e!ecutar)n las W-en)encias1sinoX.
&!emplo"
*umero Q M
-elec) Case *umero
Case 3
MsgBoG FR&ste es el nEmero uno.SH
Case 4
$0
-elec) Case &Gpresin
Case vpe3
Wsentencias3X
Case vpe4
Wsentencias4X
Case vpe?*
W(entencias?*X
Case Else
W(entenciasBsinoX
End -elec)
-eleccione seg9n eGpresin
-ea vpe3
Wsentecias3X
-ea vpe4
Wsentencias4X
-ea vpe?*
W(entencias?*X
No sea vpe3, vpe4, vpe?*
W(entenciasBsinoX
Gin selecci'n
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
MsgBoG FR&ste es el nEmero dos.SH
Case 2
MsgBoG FR&ste es el nEmero tres.SH
Case !
MsgBoG FR&ste es el nEmero cuatro.SH
Case Else
MsgBoG FR*o se a proporcionado los valores 3, 4, 5 o 6SH
End -elec)
a variable < en la variable nu*ero representa un valor cual/uiera /ue puede estar comprendido en el
intervalo 3...6 o puede no ser uno de estos valores. (i < toma el valor de $ entonces se e!ecuta el caso
uno F5(e$H /ue en este caso se e!ecuta la sintaGis MsgBo? 3WEs)e es el n9*ero uno.S7, si < toma el
valor de entonces se e!ecuta el caso dos F5(eH, y a si sucesivamente.
1 !.0.2 -en)encia GOR K NE<T
a sentencia Gor K Ne?) repite una determinada serie de sentencias dado un valor inicial y un valor
0inal. &ste +ucle se utiliza cuando se conoce por anticipado el nEmero de repeticiones re/uerida por el
programa. (i el nEmero de repeticiones no se conoce por anticipado entonces debe utilizar las sentencia
=:ile K =end o Do K #oo( en lugar de @or.
-u @or*a)o esL
aH
bH
$02
Gor variable Q valor inicial To valor final
W(entencias?X
Next variable
Gor variable Q valor inicial To valor final -)e( iM
W(entencias?X
Ne?) variable
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
Al e!ecutarse la sentencia Gor por primera vez, el valor inicial se asigna a variable /ue se denomina
variable de control, y a continuacin se e!ecuta la sentencia del interior del bucle hasta /ue la variable
de control toma el valor final.
&!emplo"
Gor # Q 3 To 8
MsgBoG FR&l valor de # ahora es" R Z #H
Ne?) #
&n el segundo 0ormato vemos la cl)usula condicional -)e( a < /ue indica /ue el bucle se decrementa
en M.
&!emplo"
Gor # Q 8 To 3 -)e( B 3
MsgBoG FR&l valor de # ahora es" R Z #H
Ne?) #
&n este caso I tomar) valores comenzando desde 8 hasta llegar a 3 F8, 7, 6, 5, 4, 3H. (i en caso de haber
especi0icado 1 en vez de 1$, entonces se decrementa de dos en dos F8, 6, 4, DH.
Al usar la cl)usula -)e( debe tener en cuenta /ue si el valor inicial del bucle es menor /ue el valor
final del bucle, el bucle nunca se e!ecutar).
$0!
?ariable control. 6uede
tomar los valoes*, =, >,
/, @ A
?alor inicial. &ndica el
valor donde comen2ar
el intervalo del bucle.
?alor final. &ndica el valor
final del bucle, es decir,
donde terminar el bucle.
(uerpo del bucle.
3ace 0ue el bucle se repita asta
0ue se obtenga el valor final.
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
1 !.0.! -en)encia DO K #OO&
+tilice el bucle Do para e!ecutar un blo/ue de instrucciones un nEmero inde0inido de veces. 'ay
algunas variantes en la instruccin Do...#oo(, pero cada una evalEa una condicin numrica para
determinar si continEa la e!ecucin. $omo ocurre con I@...T:en, la condicin debe ser un valor o una
eGpresin /ue d como resultado Galse FceroH o True Fdistinto de ceroH.
&n el e!emplo de Do...#oo( siguiente, las instrucciones se e!ecutan siempre y cuando condicin sea
True"
Do =:ile condicin
instrucciones
#oo(
$uando Cisual Basic e!ecuta este bucle Do, primero evalEa condicin. (i condicin es Galse FceroH, se
salta todas las instrucciones. (i es True Fdistinto de ceroH, Cisual Basic e!ecuta las instrucciones, vuelve
a la instruccin Do =:ile y prueba la condicin de nuevo.
Por tanto, el bucle se puede e!ecutar cual/uier nEmero de veces, siempre y cuando condicin sea
distinta de cero o True. *unca se e!ecutan las instrucciones si condicin es Galse inicialmente.
&!emplo"
Di* contador "s #nteger
contador Q D
Do =:ile contador ^ 3D
contador Q contador K 3
MsgBoG FcontadorH
#oo(
Mientras contador sea menor de diez el bucle se repetir). $uando el cuerpo del bucle se e!ecuta la
variable contador se incrementa en uno.
$0E
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
1 !.0.E -en)encia =DI#E K =END
a estructura repetitiva >:ile FmientrasH es a/uella en la /ue el nEmero de iteraciones no se conoce por
anticipado y el cuerpo del bucle se repite mientras se cumple una determinada condicin. Por esta
razn, a estos bucles se les denomina bucles condicionales.
(u 0ormato es"
aH bH
5as reglas de funcionamientos de estos bucles son las siguientes;
3. a condicin se evalEa antes y despus de cada e!ecucin del bucle. (i la condicin es verdadera, se
e!ecuta el bucle, y si es 0alsa, el bucle no se e!ecuta.
4. (i la condicin se evalEa a 0also cuando se e!ecuta el bucle por primera vez, el cuerpo del bucle no se
e!ecutar) nunca. &n este caso se dice /ue el bucle se ha e!ecutado cero veces.
5. Mientras la condicin sea verdadera el bucle se e!ecutar). &sto signi0ica /ue el bucle se e!ecutar)
inde0inidamente a menos /ue RalgoS en el interior del bucle modi0i/ue la condicin haciendo /ue su
valor pase a 0also.
&!emplo"
Di* Contador
Contador = 0 ' Inicializa la variable.
=:ile $ontador ^ 4D \ $omprueba el valor del $ontador.
Contador = Contador + 1 ' Incrementa Contador.
=end ' Finaliza el bucle End While cuando Contador > 19.
$06
=:ile condicin
W(entencias?X
=end
Mien)ras condicin sea verdadera
W(entencia?X
=end
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
1 !.0.6 -en)encia GOR E"CD K NE<T
Repite un grupo de instrucciones para cada elemento de una matri2 o coleccin.
-in)a?is
Gor Eac: elemento In grupo
WinstruccionesX
WE?i) GorX
WinstruccionesX
Ne?) WelementoX
a sintaGis de la instruccin Gor Eac: ... Ne?) consta de las siguientes partes"
&ar)e Descri(ci'n
elemento Re/uerido. Varia+le /ue se utiliza para iterar por los elementos del
con!unto o matriz. Para con!untos, elemento solamente puede ser una
variable del tipo Varian) , una variable de ob!eto genrica o cual/uier
variable de ob!eto espec0ica. Para matrices, elemento solamente puede ser
una variable tipo Varian).
grupo Re/uerido. *ombre de un con!unto de ob!etos o de una matriz FeGcepto una
matriz de tipos definidos por el usuarioH.
instrucciones 1pcional. +na o m)s instrucciones /ue se e!ecutan para cada elemento de
un grupo.
a entrada al blo/ue Gor Eac: se produce si hay al menos un elemento en grupo. +na vez /ue se ha
entrado en el bucle, todas las instrucciones en el bucle se e!ecutan para el primer elemento en grupo.
2espus, mientras haya m)s elementos en grupo, las instrucciones en el bucle continEan e!ecut)ndose
para cada elemento. $uando no hay m)s elementos en el grupo, se sale del bucle y la e!ecucin
continEa con la instruccin /ue sigue a la instruccin Ne?).
$0%
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo IV
Introduccin al Lenguaje Basic
(e pueden colocar en el bucle cual/uier nEmero de instrucciones E?i) Gor. a instruccin E?i) Gor se
utiliza a menudo en la evaluacin de alguna condicin Fpor e!emplo, I@...T:enH y trans0iere el control a
la instruccin /ue sigue inmediatamente a la instruccin Ne?).
Puede anidar bucles Gor Eac:...Ne?), colocando un bucle Gor Eac:...Ne?) dentro de otro. (in
embargo, cada elemento del bucle debe ser Enico.
No)a (i omite elemento en una instruccin Ne?), la e!ecucin continEa como si se hubiera incluido. (i
se encuentra una instruccin Ne?) antes de su instruccin Gor correspondiente, se producir) un error.
*o se puede utilizar la instruccin Gor Eac:...Ne?) con una matriz de tipos de0inidos por el usuario
por/ue un tipo Varian) no puede contener un tipo de0inido por el usuario.
$08
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo V
Los mens
CONTENIDO
7.6 <=u son los menEs>
7.7 &lementos de los menEs
7.8 &l &ditor de MenE FMenu &ditorH
B 7.5.3 2escripcin de los elementos del &ditor de MenEs
B 7.5.4 $reacin de menEs en Cisual Basic 8.D
B 7.5.5 $reacin de submenEs
B 7.5.6 &vento principal de los elementos de los menEs
$00
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo V
Los mens
E.% ABu6 son los *en9sC

Por e!emplo, el menE "rc:i5o 3Gile7 de Microso0t @ord incluye opciones o comandos tales como"
*uevo, Abrir, $errar, Tuardar, Tuardar como, #mprimir, etc.
os menEs presentan sobre los dem)s controles la venta!a de /ue ocupan menos espacio en pantalla,
pero tienen la limitante de /ue las opciones o comandos de los menEs no est)n visibles hasta /ue se
despliega totalmente el menE.
E.$ Ele*en)os de los *en9s
&ntre los elementos principales de los menEs tenemos los accesos directos, los indicadores de cuadro
de dialogo FKH, el indicador de submen! FnH, las l%neas divisoras y las imgenes. %odos estos
elementos permiten una me!or legibilidad al traba!ar con los menEs.
k 5os accesos directos; son a/uellos /ue mediante combinaciones de teclas nos permiten acceder a un
menE o a una opcin de un menE. Por e!emplo, para desplegar el menE "rc:i5o 3Gile7 de Microso0t
@ord basta con pulsar las combinaciones de teclas "l) V " Fen espa,olH "l) V G Fen inglsH, o para
activar la ventana de dialogo "+rir se pulsan las teclas C)rl V " Fen espa,olH C)rl V O Fen inglsH.
k 5os indicadores de cuadro de dialogo (B)" &stos est)n representados por tres puntos suspensivos
FKH /ue indican /ue al seleccionar esta opcin se mostrar) una ventana de dialogo dnde se re/uerir)
de algEn evento proporcionado por el usuario.
$$0
Al con!unto de opciones presentadas al usuario para su seleccin
en una zona determinada de la pantalla se les llaman *en9s. a
gran mayora de las aplicaciones de @indoAs poseen menEs /ue
contienen todas las herramientas necesarias /ue hacen posible la
utilidad de la aplicacin.
os programas tales como @ord, &Gcel, @ordPad, incluyen
Barras de Men9s y dentro de estas barras se encuentran los
menEs y dentro de los menEs las opciones para cada menE.
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo V
Los mens
k El indicador de submen! (C); &l indicador de submenE esta representado por una fleca a la
dereca, /ue indica /ue el elemento de ese menE posee otras opciones de menE llamado submenE.
k 5as l%neas divisoras; As como su nombre lo indica, son l%neas divisoras /ue dividen entre un
con!unto de opciones y otro con!unto de opciones dentro de un mismo menE. as lneas divisoras no
tienen ninguna 0uncin especial dentro de un menE, solo indican la divisin entre un con!unto de
opciones dentro de un mismo menE.
k as im)genes" as imgenes en los menEs !uegan un papel muy importante, ya /ue ilustran
gr)0icamente la 0uncin de un elemento dentro de ese menE. Por e!emplo, la opcin I*(ri*ir del
menE "rc:i5o de Microso0t @ord posee la imagen de una impresora , /ue indica /ue es la opcin
de imprimir.
E. El Edi)or de Men9 3Menu Edi)or7
Visual Basic 6.0 posee una potente herramienta para la creacin de menEs y todos los elementos /ue
estos los componen. &l Edi)or de Men9 FMenu Edi)orH es la herramienta /ue permite la creacin de
estos. Para activar o mostrar la ventan del Menu Edi)or, haga clic en la opcion Menu Edi)or del menE
Tools FerramientasH o bien, haga clic en el botn correspondiente al Menu Edi)or de la barra de
erramientas estndar. Al seleccionar esta opcin se mostrar) la siguiente ventana"
.igura 7.3. MenE &ditor de Cisual Basic 8.D
$$$
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo V
Los mens
1 E.2.$ Descri(ci'n de los ele*en)os del Edi)or de Men9s
&n la @igura E.$ se muestra la ventana del Editor de 8en!s /ue posee todas las herramientas necesarias
para la creacin de estos. A continuacin se describen cada uno de los elementos del Editor de 8en!s.
k (aption (+%tulo); &n esta caja de te'to se escribe el nombre del menE o elemento de un menE o
submenE. &n esta caja de te'to, el car)cter FOH a*(ersand tiene un signi0icado especial, ya /ue indica
/ue el car)cter o la letra a la derecha de l ser) el acceso directo a ese menE o elemento de un menE o
submenE. Por e!emplo, si un menE denominado "rc:i5o tiene el car)cter FOH a*(ersand posicionado
a la iz/uierda, es decir, delante de la letra " signi0ica /ue slo basta con pulsar las combinaciones de las
teclas "l) V " para tener acceso a ese menE, elemento de un menE o submenE.
k .ame (.ombre); &n esta caja de te'to se especi0ica el nombre del menE, elemento de un menE o
submenE, /ue se utiliza para re0erenciar a ese menE en el editor de cdigos.
k &nde' (Dndice); a caja de te'to bndice hace re0erencia a la posibilidad de crear arra"s de menEs.
k #ort(ut (1cceso directo); Permite asignar acceso directo a los elementos de cada menE. &n esta lista
se muestran una serie de combinaciones, el cual el usuario puede seleccionar la m)s adecuada para ese
elemento de menE.
k (ec-ed (?erificacin); Permite agregar un cote!o de veri0icacin FcH a un elemento de un menE.
E Enabled (3abilitado); #ndica si el menE o elemento del menE responder) a los eventos del usuario.
k ?isible (?isible); #ndica si el menE o elemento del menE estar) visible o no.
as dem)s opciones 3elp(onte't&D, .egotiate6osition y 4indo,5ist son pocas usadas, por tal razn
sean limitado su descripcin. Para m)s in0ormacin acerca de est)s opciones, consulte la ayuda FhelpH
de Visual Basic 6.0.
$$
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo V
Los mens
1 Descri(ci'n de los +o)ones del Edi)or de Men9s

&l botn fleca i20uierda se utiliza para eliminar cuatro puntos suspensivos a la iz/uierda, /ue
indican si ese elemento es un comando de un menE o submenE.

&l botn fleca dereca agrega cuatro puntos suspensivos FK.H a la iz/uierda de un elemento de
un menE o submenE. (i este botn se pulsa dos veces se agregan ocho puntos suspensivos FKK..H a la
iz/uierda de un elemento, indicando /ue es un elemento de un submenE. Puede pulsar este botn las
veces /ue se necesario siempre y cuando sepa establecer el orden !er)r/uico entre los elementos del
menE.
os botones fleca arriba " fleca abajo se utilizan para desplazarse entre los menEs,
elementos de menE o submenE.
&l botn siguiente se utiliza para agregar un menE, un elemento de menE o submenE.
Al pulsar este botn sobre un elemento ya agregado se inserta otra nueva lnea en el editor de menE con
el mismo 0ormato de la lnea interior, es decir, si el elemento sobre el cual se pulsa este botn es un
elemento de un menE, entonces la lnea /ue se agrega tambin ser) un elemento de menE para ese
mismo menE.
&l botn insertar se utiliza para insertar un elemento o tem en la posicin de un
elemento seleccionado /uedando este deba!o del nuevo elemento.
&l botn guardar guarda todas las modi0icaciones echas en el Editor de 8en!s.
&l botn cancelar omite cual/uier modi0icacin echa en el Editor de 8en!s y al
mismo tiempo cierra la ventana del editor.

1 E.2. Creaci'n de *en9s en Visual Basic 6.0
$omo su nombre lo indica, la creacin de menEs es un proceso pr)ctico y por tal razn vamos a crear el
siguiente menE"
$$2
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo V
Los mens
Creaci'n del *en9 "rc:i5o
&asos a seguirL
3.B Abra un nuevo proyecto desde el menE Gile.
4.B 'aga clic en el icono del &ditor de MenEs .
5.B &n la caja de te'to Ca()ion 3))ulo7 escriba O"rc:i5o y en la caja de te'to Na*e 3no*+re7 escriba
*enu"rc:i5o.
6.B 'aga clic en el botn Ne?) 3siguien)e7.
7.B 'aga clic en el botn fleca dereca 3d7 para agregar cuatro puntos suspensivos FK.H.
8.B 'aga clic en la ca!a de teGto Ca()ion 3))ulo7 y escriba ONue5o y en la ca!a de teGto Na*e
3no*+re7 escriba ele*en)oNue5oMenu"rc:i5o. &n la caja combinada de -:or)cu) seleccione C)rl V
N, y a continuacin, haga clic en el botn Ne?) 3-iguien)e7.
;.B &n la caja de te'to Ca()ion 3))ulo7 escriba O"+rirK y en la caja de te'to Na*e 3no*+re7 escriba
ele*en)o"+rirMenu"rc:i5o. &n la caja combinada de -:or)cu) seleccione C)rl V ", y a
continuacin, haga clic en el botn Ne?) 3-iguien)e7.
9.B &n la caja de te'to Ca()ion 3))ulo7 escriba ONuardar y en la caja de te'to Na*e 3no*+re7
escriba ele*en)oNuardarMenu"rc:i5o. &n la caja combinada de -:or)cu) seleccione C)rl V N, y a
continuacin, haga clic en el botn Ne?) 3-iguien)e7.
:.B &n la caja de te'to Ca()ion 3))ulo7 escriba ONuardar co*oK y en la caja de te'to Na*e
3no*+re7 escriba ele*en)oNuardarCo*oMenu"rc:i5o, y a continuacin, haga clic en el botn
Ne?) 3-iguien)e7.
$$!
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo V
Los mens
3D.B &n la caja de te'to Ca()ion 3))ulo7 escriba un guin o el smbolo de resta R1R y en la caja de te'to
Na*e 3no*+re7 escriba #inea$Menu"rc:i5o, y a continuacin, haga clic en el botn Ne?)
3-iguien)e7.
33.B &n la caja de te'to Ca()ion 3))ulo7 escriba OCon@igurar (.ginaK y en la caja de te'to Na*e
3no*+re7 escriba ele*en)oCon@igurar&aginaMenu"rc:i5o, y a continuacin, haga clic en el botn
Ne?) 3-iguien)e7.
34.B &n la caja de te'to Ca()ion 3))ulo7 escriba OI*(ri*irK y en la caja de te'to Na*e 3no*+re7
escriba ele*en)oI*(ri*irMenu"rc:i5o. &n la caja combinada de -:or)cu) seleccione C)rl V &, y a
continuacin, haga clic en el botn Ne?) 3-iguien)e7.
35.B &n la caja de te'to Ca()ion 3))ulo7 escriba un guin o el smbolo de resta R1R y en la caja de te'to
Na*e 3no*+re7 escriba #ineaMenu"rc:i5o, y a continuacin, haga clic en el botn Ne?)
3-iguien)e7.
36.B &n la caja de te'to Ca()ion 3))ulo7 escriba -aOlir y en la caja de te'to Na*e 3no*+re7 escriba
ele*en)o-alirMenu"rc:i5o, y a continuacin, haga clic en el botn Ne?) 3-iguien)e7.
Creaci'n del *en9 Edici'n
&asos a seguirL
$$E
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo V
Los mens
3.B'aga clic en el botn fleca i20uierda FeH para eliminar los cuatro puntos suspensivos a la
iz/uierda.
4.B &n la caja de te'to Ca()ion 3))ulo7 escriba OEdici'n y en la caja de te'to Na*e 3no*+re7 escriba
MenuEdicion, y a continuacin, haga clic en el botn Ne?) 3-iguien)e7.
5.B'aga clic en el botn fleca dereca FdH para agregar los cuatro puntos suspensivos a la iz/uierda.
6.B &n la caja de te'to Ca()ion 3))ulo7 escriba un guin o el smbolo de resta R1R y en la caja de te'to
Na*e 3no*+re7 escriba #inea$MenuEdicion, y a continuacin, haga clic en el botn Ne?)
3-iguien)e7.
7.B &n la caja de te'to Ca()ion 3))ulo7 escriba ODes:acer y en la caja de te'to Na*e 3no*+re7
escriba ele*en)oDes:acerMenuEdici'n. &n la caja combinada de -:or)cu) seleccione C)rl V f, y a
continuacin, haga clic en el botn Ne?) 3-iguien)e7.
8.B &n la caja de te'to Ca()ion 3))ulo7 escriba un guin o el smbolo de resta R1R y en la caja de te'to
Na*e 3no*+re7 escriba #ineaMenuEdicion, y a continuacin, haga clic en el botn Ne?)
3-iguien)e7.
;.B &n la caja de te'to Ca()ion 3))ulo7 escriba OCor)ar y en la caja de te'to Na*e 3no*+re7 escriba
ele*en)oCor)arMenuEdici'n. &n la caja combinada de -:or)cu) seleccione C)rl V <, y a
continuacin, haga clic en el botn Ne?) 3-iguien)e7.
9.B &n la caja de te'to Ca()ion 3))ulo7 escriba COo(iar y en la caja de te'to Na*e 3no*+re7 escriba
ele*en)oCo(iarMenuEdici'n. &n la caja combinada de -:or)cu) seleccione C)rl V C, y a
continuacin, haga clic en el botn Ne?) 3-iguien)e7.
:.B &n la caja de te'to Ca()ion 3))ulo7 escriba O&egar y en la caja de te'to Na*e 3no*+re7 escriba
ele*en)o&egarMenuEdici'n. &n la caja combinada de -:or)cu) seleccione C)rl V V, y a
continuacin, haga clic en el botn Ne?) 3-iguien)e7.
3D.B &n la caja de te'to Ca()ion 3))ulo7 escriba OEli*inar y en la caja de te'to Na*e 3no*+re7
escriba ele*en)oEli*inarMenuEdici'n. &n la caja combinada de -:or)cu) seleccione Del -u(r, y
a continuacin, haga clic en el botn Ne?) 3-iguien)e7.
33.B &n la caja de te'to Ca()ion 3))ulo7 escriba un guin o el smbolo de resta R1R y en la caja de te'to
Na*e 3no*+re7 escriba #inea2MenuEdicion, y a continuacin, haga clic en el botn Ne?)
3-iguien)e7.
$$6
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo V
Los mens
34.B &n la caja de te'to Ca()ion 3))ulo7 escriba OBuscarK y en la caja de te'to Na*e 3no*+re7
escriba ele*en)oBuscarMenuEdici'n. &n la caja combinada de -:or)cu) seleccione C)rl V B, y a
continuacin, haga clic en el botn Ne?) 3-iguien)e7.
35.B &n la caja de te'to Ca()ion 3))ulo7 escriba BOuscar siguien)e y en la caja de te'to Na*e
3no*+re7 escriba ele*en)oBuscar-iguien)eMenuEdici'n. &n la caja combinada de -:or)cu)
seleccione G2, y a continuacin, haga clic en el botn Ne?) 3-iguien)e7.
36.B &n la caja de te'to Ca()ion 3))ulo7 escriba ReO*(lazar y en la caja de te'to Na*e 3no*+re7
escriba ele*en)oRe*(lazarMenuEdici'n. &n la caja combinada de -:or)cu) seleccione C)rl V R, y
a continuacin, haga clic en el botn Ne?) 3-iguien)e7.
37.B &n la caja de te'to Ca()ion 3))ulo7 escriba OIr aK y en la caja de te'to Na*e 3no*+re7 escriba
ele*en)oIr"-iguien)eMenuEdici'n. &n la caja combinada de -:or)cu) seleccione C)rl V T, y a
continuacin, haga clic en el botn Ne?) 3-iguien)e7.
38.B &n la caja de te'to Ca()ion 3))ulo7 escriba un guin o el smbolo de resta R1R y en la caja de te'to
Na*e 3no*+re7 escriba #inea!MenuEdicion, y a continuacin, haga clic en el botn Ne?)
3-iguien)e7.
3;.B &n la caja de te'to Ca()ion 3))ulo7 escriba -eleccionar O)odo y en la caja de te'to Na*e
3no*+re7 escriba ele*en)o-eleccionarTodoMenuEdici'n. &n la caja combinada de -:or)cu)
seleccione C)rl V E, y a continuacin, haga clic en el botn Ne?) 3-iguien)e7.
39.B &n la caja de te'to Ca()ion 3))ulo7 escriba ODora y @ec:a y en la caja de te'to Na*e 3no*+re7
escriba ele*en)oDoraGec:aMenuEdici'n. &n la caja combinada de -:or)cu) seleccione GE, y a
continuacin, haga clic en el botn Ne?) 3-iguien)e7.
Creaci'n del *en9 Gor*a)o
&asos a seguirL
3.B'aga clic en el botn fleca i20uierda FeH para eliminar los cuatro puntos suspensivos a la
iz/uierda.
$$%
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo V
Los mens
4.B &n la caja de te'to Ca()ion 3))ulo7 escriba OGor*a)o y en la caja de te'to Na*e 3no*+re7
escriba MenuGor*a)o, y a continuacin, haga clic en el botn Ne?) 3-iguien)e7.
5.B'aga clic en el botn fleca dereca FdH para agregar los cuatro puntos suspensivos a la iz/uierda.
6.B &n la caja de te'to Ca()ion 3))ulo7 escriba ",usO)e de lnea y en la caja de te'to Na*e 3no*+re7
escriba Ele*en)o",us)eDe#ineaMenuGor*a)o, y a continuacin, haga clic en el botn Ne?)
3-iguien)e7.
7.B &n la caja de te'to Ca()ion 3))ulo7 escriba OGuen)e y en la caja de te'to Na*e 3no*+re7 escriba
Ele*en)oGuen)eMenuGor*a)o, y a continuacin, haga clic en el botn Ne?) 3-iguien)e7.
Creaci'n del *en9 Ver
&asos a seguirL
3.B'aga clic en el botn fleca i20uierda FeH para eliminar los cuatro puntos suspensivos a la
iz/uierda.
4.B &n la caja de te'to Ca()ion 3))ulo7 escriba OVer y en la caja de te'to Na*e 3no*+re7 escriba
MenuVer, y a continuacin, haga clic en el botn Ne?) 3-iguien)e7.
5.B'aga clic en el botn fleca dereca FdH para agregar los cuatro puntos suspensivos a la iz/uierda.
6.B &n la caja de te'to Ca()ion 3))ulo7 escriba Barra Ode es)ado y en la caja de te'to Na*e
3no*+re7 escriba Ele*en)oBarraEs)adoMenuVer, y a continuacin, haga clic en el botn Ne?)
3-iguien)e7.
Creaci'n del *en9 "yuda
$$8
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo V
Los mens
&asos a seguirL
3.B'aga clic en el botn fleca i20uierda FeH para eliminar los cuatro puntos suspensivos a la
iz/uierda.
4.B &n la caja de te'to Ca()ion 3))ulo7 escriba "yOuda y en la caja de te'to Na*e 3no*+re7 escriba
Menu"yuda, y a continuacin, haga clic en el botn Ne?) 3-iguien)e7.
5.B'aga clic en el botn fleca dereca FdH para agregar los cuatro puntos suspensivos a la iz/uierda.
6.B &n la caja de te'to Ca()ion 3))ulo7 escriba OTe*as de "yuda y en la caja de te'to Na*e
3no*+re7 escriba Ele*en)oTe*asDe"yudaMenu"yuda, y a continuacin, haga clic en el botn
Ne?) 3-iguien)e7.
7.B &n la caja de te'to Ca()ion 3))ulo7 escriba un guin o el smbolo de resta R1R y en la caja de te'to
Na*e 3no*+re7 escriba #inea$Menu"yuda, y a continuacin, haga clic en el botn Ne?)
3-iguien)e7.
8.B &n la caja de te'to Ca()ion 3))ulo7 escriba O"cerca del Bloc de no)as y en la caja de te'to Na*e
3no*+re7 escriba Ele*en)o"cercaMenu"yuda, y a continuacin, haga clic en el botn Ne?)
3-iguien)e7.
;.B 'aga clic en el botn OH para 0inalizar.
$$0
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo V
Los mens
NOT"L &n caso de algEn error, veri0i/ue si ha escrito correctamente los nombres 3na*e7 de los menEs,
elementos de los menEs y submenEs propuestos. %ambin veri0i/ue si ha establecido el orden !er)r/uico
adecuado entre los tems o elementos de menEs y submenEs. (i el problema persiste consulte con su
maestro, o bien, envi un &BMail a tAinsmasterD4ehotmail.com eGplicando el problema.
2espus de haber realizados todos estos pasos, corra la aplicacin pulsando la tecla GE y despl)cese por
todos los menEs ya creado.
1 E.2.2 Creaci'n de su+*en9s
os submenEs representan a los menEs /ue se encuentran dentro de un menE, es decir, dentro de un
elemento de un menE o un elemento de un submenE. +n submenE esta representado por medio de una
0lecha a la derecha FnH. A continuacin se muestra un submenE tpico en un menE"
(e puede observar en la /ue el menE Guen)e contiene un elemento o %tem con el ttulo Ta*aFo y este
elemento esta precedido por una pe0uea fleca FnH, /ue indica /ue eGiste un submenE dentro de ese
elemento.
a creacin de submenEs consiste en establecer un orden !er)r/uico de menor a mayor, dnde el
elemento /ue contendr) el submenE debe tener cuatro puntos suspensivos menos a la iz/uierda, como
se muestra a continuacin"
$0
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo V
Los mens
&l recuadro resaltado es la zona donde se especi0ica el menE Guen)e con sus elementos. (e puede
observar /ue el elemento Ta*aFo posee cuatro puntos suspensivos (....) menos /ue los elementos 34,
36, 38, 39. &sto indica /ue estos elementos pertenecen al elemento Ta*aFo /ue esta dentro del menE
Guen)e.
1 E.2.! E5en)o (rinci(al de los ele*en)os de los *en9s
&s lgico, /ue Visual Basic 6.0 permita agregar lneas de cdigo a cada uno de los elementos de los
menEs y submenEs /ue se agreguen a una aplicacin. &sto lo hace mediante el evento general de los
menEs, el evento ClicH.
Para agregar cdigo a algEn elemento de un menE o submenE, slo tiene /ue hacer clic sobre el menE
en modo de dise,o y luego hacer otro clic, sobre el elemento al cual /uiere agregar el cdigo. &l evento
ClicH debe parecerse a esto"
&ri5a)e -u+ &lementoMV$licI F H
W(entencias?X
End -u+
$$
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
CONTENIDO
8.3 $a!as de di)logo MsgBoG e #nputBoG
8.4 Mtodo Print
B 8.4.3 $aractersticas generales
B 8.4.4 .uncin .ormat
8.5 +tilizacin de impresoras
B 8.5.3 Mtodo Print.orm
B 8.5.4 1b!eto Printer
8.6 $ontroles .ileist, 2irist y 2riveist
8.7 #ntroduccin a los archivos
8.8 $oncepto de archivos ba!o @indoAsJCisual Basic
8.; 1peraciones sobre el sistema de archivos
B 8.;.3 (entencia Nill
B 8.;.4 (entencia *ame
B 8.;.5 (entencia MIdir
B 8.;.6 (entencia Rm2ir
B 8.;.7 (entencia $h2ir
B 8.;.8 (entencia $h2rive
8.9 1peraciones con archivos
8.: %ipos de archivos
B 8.:.3 Archivos de acceso secuencial
B 8.:.4 Archivos de acceso aleatorio
B 8.:.5 Archivos de acceso binario
$
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
6.$ Ca,as de di.logo MsgBo? e In(u)Bo?
&stas ca!as de di)logo son a/uellas ca!as tpicas de @indoAs, /ue en ocasiones proporcionan o
re/uieren in0ormacin. a ca!a de mensa!es MsgBo? muestra un mensa!e en un cuadro de di)logo,
espera a /ue el usuario haga clic en un botn y devuelve un valor tipo In)eger correspondiente al botn
elegido por el usuario.
-in)a?is
MsgBo? 3promptW, uttonsXW, titleXW, ,elpfile, contextX7
DondeL
&ar)e Descri(ci'n
prompt
Re/uerido. E'presin de cadena /ue representa el prompt en el cuadro de di)logo.
a longitud m)Gima de prompt es de aproGimadamente 3D46 caracteres, segEn el
ancho de los caracteres utilizados. (i prompt consta de m)s de una lnea, puede
separarlos utilizando un car)cter de retorno de carro FC:r3357H o un car)cter de
avance de lnea FC:r33D7H, o una combinacin de caracteres de retorno de carro i
avance de lnea FC:r3357 y C:r33D7H entre cada lnea y la siguiente.
uttons
1pcional. E'presin numrica /ue corresponde a la suma de los valores /ue
especi0ican el nEmero y el tipo de los botones /ue se pretenden mostrar, el estilo de
icono /ue se va a utilizar, la identidad del botn predeterminado y la modalidad del
cuadro de mensa!es. (i se omite este argumento, el valor predeterminado para uttons
es D.
title 1pcional. &Gpresin de cadena /ue se muestra en la barra de ttulo del cuadro de
di)logo. (i se omite title, en la barra de ttulo se coloca el nombre de la aplicacin.
,elpfile 1pcional. &Gpresin de cadena /ue identi0ica el archivo de Ayuda /ue se utiliza para
proporcionar ayuda interactiva en el cuadro de di)logo. (i se especi0ica ,elpfile,
tambin se debe especi0icar context.
context 1pcional. &Gpresin numrica /ue es igual al nEmero de conteGto de Ayuda asignado
por el autor al tema de Ayuda correspondiente. (i se especi0ica context, tambin se
debe especi0icar ,elpfile.
$2
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
&l argumento uttons tiene los siguientes valores"
Cons)an)e Valor Descri(ci'n
V+OgOnly D Muestra solamente el botn "ce()ar.
V+OgCancel 3 Muestra los botones "ce()ar y Cancelar.
V+"+or)Re)ryIgnore 4 Muestra los botones "nular, Rein)en)ar e
Ignorar.
V+JesNoCancel 5 Muestra los botones -, No y Cancelar.
V+JesNo 6 Muestra los botones - y No.
V+Re)ryCancel 7 Muestra los botones Rein)en)ar y Cancelar.
V+Cri)ical 38 Muestra el icono de *ensa,e cr)ico.
V+Bues)ion 54 Muestra el icono de (regun)a de ad5er)encia.
V+E?cla*a)ion 69 Muestra el icono de *ensa,e de ad5er)encia.
V+In@or*a)ion 86 Muestra el icono de *ensa,e de in@or*aci'n.
V+De@aul)Bu))on$ D &l primer botn es el predeterminado.
V+De@aul)Bu))on 478 &l segundo botn es el predeterminado.
V+De@aul)Bu))on2 734 &l tercer botn es el predeterminado.
V+De@aul)Bu))on! ;89 &l cuarto botn es el predeterminado.
V+"((lica)ionModal D Aplicacin modalP el usuario debe responder al
cuadro de mensa!es antes de poder seguir
traba!ando en la aplicacin actual.
V+-ys)e*Modal 6D:8 (istema modalP se suspenden todas las aplicaciones
hasta /ue el usuario responda al cuadro de
mensa!es.
V+MsgBo?Del(Bu))on 38596 Agrega el botn Ayuda al cuadro de mensa!e.
V+MsgBo?-e)Goreground 87758 &speci0ica la ventana del cuadro de mensa!e como
la ventana de primer plano.
V+MsgBo?Rig:) 746499 &l teGto se alnea a la derecha.
V+MsgBo?R)lReading 3D697;8 &speci0ica /ue el teGto debe aparecer para ser ledo
de derecha a iz/uierda en sistemas hebreo y )rabe.
$!
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
&l primer grupo de valores FD a 7H describe el nEmero y el tipo de los botones mostrados en el cuadro de
di)logoP el segundo grupo F38, 54, 69, 86H describe el estilo del icono, el tercer grupo FD, 478, 734H
determina el botn predeterminado y el cuarto grupo FD, 6D:8H determina la modalidad del cuadro de
mensa!es. $uando se suman nEmeros para obtener el valor 0inal del argumento uttons, se utiliza
solamente un nEmero de cada grupo.
Valores de5uel)os (or los +o)ones
Cons)an)e Valor Descri(ci'n
5+Og 3 "ce()ar
5+Cancel 4 Cancelar
5+"+or) 5 "nular
5+Re)ry 6 Rein)en)ar
5+Ignore 7 Ignorar
5+Jes 8 -
5+No ; No
$uando se proporcionan tanto ,elpfile como context, el usuario puede presionar .3 para ver el tema de
Ayuda correspondiente al context. Algunas aplicaciones ost, por e!emplo Microso0t &Gcel, tambin
agregan autom)ticamente un botn "yuda al cuadro de di)logo.
(i el cuadro de di)logo cuenta con un botn Cancelar, presionar la tecla &($ tendr) el mismo e0ecto
/ue hacer clic en este botn. (i el cuadro de di)logo contiene un botn "yuda, se suministra ayuda
interactiva para ese cuadro de di)logo. (in embargo, no se devuelve valor alguno hasta /ue se hace clic
en uno de estos botones.
No)a (i desea especi0icar m)s /ue el primer argumento con nombre, debe utilizar MsgBo? en una
e'presin. (i desea omitir algEn argumento de posicin, debe incluir el delimitador de coma
correspondiente.
$E
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
&!emplo"
&n este e!emplo se utiliza la 0uncin MsgBo? para mostrar un mensa!e de error crtico en un cuadro de
di)logo con botones ( y *o. &l mensa!e /ue aparecer) es ADesea con)inuarC. &l valor devuelto por la
0uncin MsgBo? cuando se pulsa un botn, se almacena en una variable llamada respuesta. &ste
e!emplo lo puede probar dentro de un botn de comando.
&ri5a)e -u+ Co**and$IClicH 3 7
Di* Mensa!e, &stilo, %tulo, Respuesta Y(e declaran las variables
Mensa!e Q [<2esea continuar>[ Y2e0ine el mensa!e.
&stilo Q vbUes*o K vb$ritical K vb2e0aultButton4 Y2e0ine los botones.
YMuestra el mensa!e.
Respuesta Q MsgBoG FMensa!e, &stilo, %tuloH
YCeri0ica cual 0ue el botn pulsado por el usuario.
I@ Respuesta Q vbUes T:en \ &l usuario eligi el botn (.
MsgBoG FR(e hizo clic en el botn (.SH
Else \ &l usuario eligi el botn *o.
MsgBoG FR(e hizo clic en el botn *o.SH
End I@
End -u+
6. M6)odo &rin)
Mediante este mtodo es posible mostrar teGto en @or*ularios, ca!as &ic)ureBo? y otros controles /ue
poseen dicho mtodo.
-in)a?is
1b!eto.&rin) W#alidaX
$6
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
DondeL
$bjeto; Representa un e'presin objeto. &ste puede ser un @or*ulario, un control &ic)ureBo?, u otros
elementos /ue poseen este mtodo.
#alida; (e re0iere a la lista de eGpresiones /ue se van a imprimir. &sta puede ser el contenido de una
variable, una misma cadena de caracteres entre comillas, un valor numrico, el valor de una propiedad
de un control, etc.
&!emplo"
Y"gregue un control )ictureBox y un ot-n de comando a un nue5o @or*ulario4 y escri+aL
&ri5a)e -u+ $ommand3V$licI F H
Picture3.Print RMe estoy mostrando en el cuadro de pintura.S
Picture3.Print R&sta es la segunda lnea.S
Picture3.Print 4 K 3 Z R tercera lnea.S
End -u+
$uando se corra la aplicacin y se haga clic en el botn de comando 3Co**and$74 los resultados ser)n
los siguientes"
$%
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
1 6..$ Carac)ers)icas generales
&l argumento -alida tiene las sintaGis y los componentes siguientes"
o-(c3n7 _ Ta+3n7p e'presin, posicincarcter
&ar)e Descri(ci'n
-(c3n7 1pcional. (e utiliza para insertar caracteres de espacio en la salida, donde n
es el nEmero de espacios /ue se vana insertar.
Ta+3n7 1pcional. (e utiliza para situar el punto de insercin en un nEmero de
columna absoluto, donde n es el nEmero de columna. +tilice Ta+ sin
argumentos para situar el punto de insercin al principio de la siguiente
2ona de impresin. as 2onas de impresin comienzan cada 36 columnas.
&l ancho de cada columna es un promedio del ancho de todos los
caracteres, medido con el tama,o de punto de la 0uente elegida.
e'presin 1pcional. E'presin numrica o e'presin de cadena /ue se va a imprimir.
posicincarcter 1pcional. &speci0ica el punto de insercin del car)cter siguiente. +tilice un
punto y coma FPH para situar el punto de insercin inmediatamente a
continuacin del Eltimo car)cter mostrado. +tilice Ta+3n7 para situar el
punto de insercin en un nEmero de columna absoluto, o Ta+ sin
argumentos para situarlo al principio de la siguiente zona de impresin. (i
se omite posicincarcter, el car)cter siguiente se imprimir) en la lnea
siguiente.
1 6.. Gunci'n Gor*a)
2evuelve un tipo Varian) F-)ringH /ue contiene una e'presin 0ormateada de acuerdo a las
instrucciones contenidas en una eGpresin de 0ormato.
-in)a?is
Gor*a) Fe'presinW, formatoW, primerd%adesemanaW, primerd%adeaoXXXH
$8
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
a sintaGis de la 0uncin Gor*a) consta de las siguientes partes"
&ar)e Descri(ci'n
e'presin Re/uerido. $ual/uier eGpresin v)lida.
formato 1pcional. +na eGpresin de 0ormato de0inida por el usuario o con nombre
v)lida.
primerd%adesemana 1pcional. +na constante /ue especi0ica el primer da de la semana.
primerd%adeao 1pcional. +na constante /ue especi0ica la primera semana del a,o.
Valores
&l argumento primerd%adesemana tiene estos valores"
Cons)an)e Valor Descri(ci'n
5+Use-ys)e* D +tiliza el valor de AP# *(.
5+-unday 3 2omingo FpredeterminadoH
5+Monday 4 unes
5+Tuesday 5 Martes
5+=ednesday 6 Mircoles
5+T:ursday 7 -ueves
5+Griday 8 Ciernes
5+-a)urday ; ()bado
&l argumento primerd%adeao tiene estos valores"
Cons)an)e Valor Descri(ci'n
5+Use-ys)e* D +tiliza el valor de AP# *(.
5+Girs)han$ 3 $omienza con la semana donde est) el 3 de enero
FpredeterminadoH.
5+Girs)GourDays 4 $omienza con la primera semana del a,o /ue tenga cuatro
das como mnimo.
5+Girs)Gull=eeH 5 $omienza con la primera semana completa del a,o.
$0
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
&ara dar @or*a)o :aga lo siguien)eL
k +tilice 0ormatos numricos con nombre prede0inidos o cree 0ormatos numricos de0inidos por el
usuario.
k +tilice 0ormatos de 0echaJhora con nombre prede0inidos o cree 0ormatos de 0echaJhora de0inidos por
el usuario.
k +tilice 0ormatos de 0echa y hora o 0ormatos numricos.
k $ree sus propios 0ormatos de cadena de0inidos por el usuario.
E,e*(losL
Di* MiHora, MiFecha, MiCadena
MiHora = #17:04:23#
MiFecha = #27 enero 1993#
i De5uel5e la :ora ac)ual del sis)e*a en el @or*a)o largo de :ora de@inido (or el sis)e*a.
Mi$adena Q Gor*a)3%ime4 [ong %ime[7
i De5uel5e la @ec:a ac)ual del sis)e*a en el @or*a)o largo de @ec:a de@inido (or el sis)e*a.
Mi$adena Q Gor*a)3Date4 "Long Date"7
Mi$adena Q Gor*a)3MiHora4 "h:m:s"7 ' Devuelve "17:4:23".
Mi$adena Q Gor*a)3MiHora4 "hh:mm:ss AMPM"7 ' Devuelve "!:4:23 "#".
Mi$adena Q Gor*a)3Mi.echa4 [dddd4 d mmm aaaa[7 ' Devuelve "#i$%coles&
' 27 de Ene de 1''3".
i -i no se su*inis)ra el @or*a)o4 de5uel5e una cadena.
Mi$adena Q Gor*a)3457 i De5uel5e j2j.
i Gor*a)os de@inidos (or el usuario.
Mi$adena Q Gor*a)35459.44 "##,##0.00"7 ' Devuelve "!.4!'&4".
Mi$adena Q Gor*a)3334.94 "###0.00"7 ' Devuelve "334&'".
Mi$adena Q Gor*a)354 "0.00%") ' Devuelve "!&(".
Mi$adena Q Gor*a)3"HOLA"4 "<"7 ' Devuelve "hola".
Mi$adena Q Gor*a)3"Esto es"4 ">"7 ' Devuelve "EST) ES".
$20
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
6.2 U)ilizaci'n de i*(resoras
Visual Basic 6.0 permite obtener por la impresora gr)0icos y teGto similares a los /ue se pueden obtener
por la pantalla, aun/ue con algunas di0erencias de cierta importancia. &Gisten tres 0ormas de imprimir
aun/ue solo mencionaremos las dos m)s usada" a primera mediante el mtodo &rin)Gor* de los
0ormularios, y la segunda utilizando el ob!eto &rin)er, /ue es un ob!eto similar al ob!eto &ic)ureBo?.
Ambos mtodos tienen puntos 0uertes y dbiles /ue se comentar)n a continuacin.
1 6.2.$ M6)odo &rin)Gor*
&l mtodo &rin)Gor* enva una imagen del 0ormulario especi0icado a la impresora. Para imprimir
in0ormacin desde la aplicacin con &rin)Gor*, primero debe presentar dicha in0ormacin en un
0ormulario y despus imprimir ese 0ormulario con el mtodo &rin)Gor*. a sintaGis es la siguiente"
Wformulario.X&rin)Gor*
(i omite el nombre del 0ormulario, Cisual Basic imprime el 0ormulario actual. &rin)Gor* imprime
todo el 0ormulario, incluso si alguna parte del 0ormulario no es visible en la pantalla. (in embargo, si un
0ormulario contiene gr)0icos, los gr)0icos slo se imprimen si la propiedad "u)oRedra> del 0ormulario
es True. $uando termina la impresin, &rin)Gor* llama al mtodo EndDoc para de!ar preparada la
impresora.
Por e!emplo, podra enviar teGto a una impresora si lo imprime en un 0ormulario y llama despus a
&rin)Gor* con las instrucciones siguientes"
Print [&sto es un teGto.[
Print.orm
&l mtodo &rin)Gor* es, con mucho, la 0orma m)s sencilla de imprimir desde una aplicacin. $omo
puede enviar in0ormacin a la impresora con la resolucin de la pantalla del usuario Fnormalmente :8
puntos por pulgadaH, los resultados pueden ser desalentadores en las impresoras con mayor resolucin
Fnormalmente 5DD puntos por pulgada en las impresoras l)serH. os resultados pueden variar segEn los
ob!etos del 0ormulario.
$2$
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
&ste control tiene la propiedad llamada Dri5e /ue recoge la unidad seleccionada por el usuario Fpuede
ser una unidad 0sica como el disco cLM o una unidad lgica asignada por el usuario a otro disco o
directorio en un servidor o en otro ordenador de la red.H
&l cuadro de lista de directorios 3Dir#is)7 nos permite mostrar los directorios del sistema de
archivos del ordenador. &s conveniente /ue este control muestre tres o cuatro carpetas o directorios. &n
tiempo de dise,o muestra la carpeta en la /ue se inicia la aplicacin y en la /ue por de0ecto se guarda el
proyecto. &ste control posee la propiedad &a): /ue determina y asigna la unidad /ue se mostrar)n en
dicha ca!a.
&l cuadro de lista de arcivos 3Gile#is)7 nos muestra los archivos de un determinado directorio o
carpeta. (u propiedad m)s interesante es &a))ern /ue nos permite especi0icar /u tipo de archivos son
mostrados en dicho control. Para utilizar esta propiedad se pueden utilizar los comodines L y > al
establecer la propiedad. &stos caracteres tienen el mismo signi0icado /ue en M(B21( o @indoAs para
especi0icar los nombres de los archivos. (i estableces la propiedad &a))ern con la cadena L.tGt, est)s
indicando /ue se muestren slo los archivos /ue tengan esta eGtensin. (e pueden mostrar m)s de un
tipo de archivos separ)ndolos con punto y coma FkH.
&ara conec)ar los )res con)roles :aga lo siguien)eL
&n tiempo de dise,o, al dibu!ar los distintos controles del sistema de archivos, estos muestran la unidad
y el directorio en la /ue se crea el proyecto como he comentado anteriormente. &n tiempo de e!ecucin
el usuario puede cambiar la unidad y el directorio o carpeta y esta situacin no se ver) re0le!ada si no se
escribe cdigo. Para /ue los controles estn sincronizados es necesario conectarlos.
&l evento predeterminado del control cuadro de lista de unidades es C:ange. &ste evento sucede
cuando el usuario despliega la lista de unidades y selecciona una unidad distinta a la actual, por lo /ue
es el evento adecuado para actualizar la lista de directorios de la siguiente 0orma"
&ri5a)e -u+ 2ir3V$hange F H
2ir3.&ar: Q 2rive3.Dri5e
End -u+
$22
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
Para el control cuadro de lista de directorios deberemos hacer algo parecido, el cdigo ser) el siguiente"
&ri5a)e -u+ 2ir3V$hange F H
.ile3.&a): T 2ir3.&a):
End -u+
2e esta 0orma tenemos conectados los tres controles de acceso al sistema de archivos. A continuacin,
se muestra una imagen con los tres controles relacionados"
6.E In)roducci'n a los arc:i5os
+n arc:i5o 3@ic:ero7 es un con!unto de in0ormacin relacionada entre s, almacenada como una unidad
en un dispositivo de almacenamiento secundario Fdis/uete, disco duroH. os datos almacenados en un
archivo son de manera permanente de modo /ue pueden ser manipulados en cual/uier momento. $ada
archivo est) re0erenciado por un identi0icador, su nombre.
6.6 Conce()o de arc:i5os +a,o =indo>s;Visual Basic
+n arc:i5o tiene un nombre almacenado en una carpeta !unto con otros archivos de disco. os nombres
de los archivos en @indoAs y Cisual Basic re/uieren de 3 a 437 caracteres Fincluidos espacios en
blancoH, y pueden incluir tambin una eGtensin de 3 a 5 letras, normalmente son signi0icativas y
relativas al contenido del mismo. Por e!emplo"
$2!
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
&AM&.%M% Archivo de teGto
M#(2A%1(.2A% Archivo de datos
PA*#A.M( Archivo de M(B&Gcel
('AN#RA.BMP Archivo de mapa de bits
&l nombre de un archivo para ser re0erenciado correctamente consta de"
+nidad F&speci0icador de unidad, por e!emplo A, B, $H
$amino F&speci0icador de ruta, por e!emplo j2A%AjH
*ombre F&speci0icador de archivo, por e!emplo 2&M1.2A%H
$omo e!emplo, suponga /ue el archivo 2&M1.2A% est) en la carpeta 2A%A de la unidad $
Fdisco duroHP la descripcin completa del nombre del archivo es"
$"j2A%Aj2&M1.2A%
Ahora, suponga /ue el archivo $1*(%A*%&(.2A% se encuentra en la carpeta #B, /ue a su
vez est) contenida en la carpeta 2A%A de la unidad $. a descripcin completa del nombre de dicho
archivo est) dada por"
$"j2A%Aj#Bj$1*(%A*%&(.2A%
2esde el punto de vista de Cisual Basic un archivo almacena los datos como un con!unto de
registros, conteniendo todos ellos, generalmente, los mismos campos. $ada campo almacena un dato
de tipo prede0inido o de un tipo de0inido por el usuario. &l elemento de in0ormacin m)s simple estara
0ormado por un car)cter.
$2E
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
6.% O(eraciones so+re el sis)e*a de arc:i5os
Para manipular el sistema de archivos de un disco, Cisual Basic proporciona las sentencias /ue a
continuacin se describen.
1 6.%.$ -en)encia gill
Permite eliminar un archivo almacenado en un disco. (u sintaGis es de la 0orma"
gill *1MBR&VAR$'#C1
2onde *1MBR&VAR$'#C1 es una cadena de caracteres /ue identi0ica al archivo /ue se desea borrar.
(e permiten caracteres comodn FL y >H. (i el archivo no eGiste se produce un error. Por e!emplo"
gill R$"j%&MPj%&MP1.2A%S
a instruccin anterior elimina el archivo %&MP1.2A% ubicado en la carpeta $"j%&MP.
1 6.%. -en)encia Na*e
Permite cambiar el nombre FrenombrarH de un archivo del disco y moverlo a otro directorio si 0uera
preciso. (u sintaGis es la siguiente"
Na*e *1MBR&VA$%+A "s *1MBR&V*+&C1
2onde *1MBR&VA$%+A es una cadena de caracteres /ue espec0ica el nombre actual del
archivo y *1MBR&V*+&C1 es otra cadena de caracteres /ue indica el nuevo nombre /ue se desea
dar al archivo. &ste nombre no debe eGistir, de lo contrario se obtendr) un error. Por e!emplo"
Na*e R$"j%&MPj%&MP1.2A%S "s R$"j2A%Aj$+R(1.2A%S
$26
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
a instruccin anterior cambia el nombre del archivo %&MP1.2A% por el nombre $+R(1.2A%. &l
contenido del archivo permanece inalterado y su localizacin 0sica se cambia de la carpeta $"j%&MP a
$"j2A%A.
1 6.%.2 -en)encia MHdir
Permite crear una nueva carpeta. (u sintaGis es"
MHDir *+&CAV$ARP&%A
2onde *+&CAV$ARP&%A es una cadena de caracteres /ue identi0ica la carpeta /ue se va ha crear.
Por e!emplo"
MHDir R$"j2A%Aj%&MPS
1 6.%.! -en)encia R*Dir
&limina una carpeta vaca eGistente en el disco. (u sintaGis es de la 0orma"
R*Dir *1MBR&V$ARP&%A
2onde *1MBR&V$ARP&%A es una cadena de caracteres /ue identi0ica la carpeta /ue se
desea eliminar. Por e!emplo"
R*Dir R$"j2A%Aj%&MPS
1 6.%.E -en)encia C:Dir
Permite cambiar la carpeta actual. (u sintaGis es"
C:Dir *1MBR&V$ARP&%A
$2%
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
2onde *1MBR&V$ARP&%A es una cadena de caracteres /ue identi0ica la nueva ruta de acceso
predeterminada. Por e!emplo"
C:Dir R$"j2A%AjTRA.#$1(S
MsgBo? App.&a):
a propiedad &a): del ob!eto "(( especi0ica la ruta de acceso actual.
1 6.%.6 -en)encia C:Dri5e
Permite cambiar la unidad de disco actual. (u sintaGis es"
C:Dri5e +*#2A2
2onde +*#2A2 es un car)cter /ue especi0ica la nueva unidad de disco. (i el par)metro +*#2A2 es
una cadena de mEltiples caracteres slo se lee la primera letra. Por e!emplo"
C:Dri5e RAS
6.8 O(eraciones con arc:i5os
Para realizar alguna operacin sobre un archivo hay /ue re0erenciarlo mediante su nombre completo.
as operaciones b)sicas /ue se pueden realizar con los archivos son"
Abrir, preparar un archivo para hacer re0erencia a l.
&scribir, introducir un elemento de in0ormacin a un archivo.
eer, obtener un elemento de in0ormacin de un archivo.
Modi0icar, alterar un elemento de in0ormacin ya eGistente en un archivo.
$errar, evitar cual/uier otra re0erencia al archivo en tanto no se le abra otra vez.
$28
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
6.0 Ti(os de arc:i5os
os tipos de arcivos dependen del modo como est)n organizados los registros y de la 0orma de accesar
a la los datos contenidos en ellos. &n Cisual Basic eGisten tres tipos de archivos de datos, estos son"
Archivos secuenciales Facceso secuencialH.
Archivos aleatorios Facceso aleatorioH.
Archivos binarios Facceso binarioH.
A continuacin pasamos a describir cada uno de ellos en 0orma detallada.
1 6.0.$ "rc:i5os de acceso secuencial
&n un archivo de acceso secuencial los registros se almacenan siguiendo una a otro, segEn el orden en
/ue son ingresados. $uando se lee la in0ormacin, se empieza por el primer registro y se continEa al
siguiente hasta alcanzar el 0inal. as sentencias y 0unciones necesarias para manipular archivos de tipo
secuencial se presentan a continuacin.
1 -en)encia O(en
Permite abrir un archivo. a sintaGis para esta sentencia es la siguiente"
O(en *1MBR&VAR$'#C1 Gor M121 "s d *qM&R1VAR$'#C1
2onde *1MBR&VAR$'#C1 es una cadena /ue especi0ica el nombre del archivo /ue se debe ser
abierto en M121 Ou)(u), "((end o In(u).
$20
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
Modo Descri(ci'n
1utput &scritura de datos. (i el archivo eGiste, su contenido actual se destruye. (i el archivo no
eGiste, se crea.
Append A,adir datos. os datos son a,adidos a partir de los Eltimos eGistentes. (i el archivo no
eGiste, se crea.
#nput ectura de datos. a lectura empieza desde el principio del archivo. (i el archivo no eGiste,
se produce un error.
&l par)metro *qM&R1VAR$'#C1 es un entero cuyo valor debe estar comprendido entre 3 y 733.
&ste nEmero ser) asociado al nombre del archivo mientras ste permanezca abierto. Para obtener el
nEmero del siguiente archivo disponible se utiliza la 0uncin GreeGile37.
$omo e!emplo suponga /ue se re/uiere abrir el archivo 2&M1.2A% ubicado en la carpeta $"j2A%A,
la instruccin sera la siguiente"
Di* *3 "s In)eger
*3 Q GreeGile37
O(en R$"j2A%Aj2&M1.2A%S Gor Ou)(u) "s d *3
1 -en)encia &rin)
Permite escribir datos secuencialmente en un archivo. (u sintaGis es"
&rin) \ *qM&R1VAR$'#C1, #(%AV2&V&MPR&(#1*&(
2onde *qM&R1VAR$'#C1 es el nEmero utilizado cuando el archivo 0ue abierto.
#(%AV2&V&MPR&(#1*&( es un con!unto de eGpresiones Fnumricas, de cadena, de 0echa, etc.H
separadas por punto y coma FkH /ue ser)n escritas en el archivo.
a sentencia &rin) escribe en el archivo una imagen de los datos tal y como se habran visualizado
sobre el 0ormulario con la sentencia Print. Por e!emplo"
$!0
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
Di* *3 "s In)eger
*3 Q GreeGile37
O(en R$"j2A%Aj2&M1.2A%S Gor Ou)(u) "s d *3
&rin) \ *3, RCisual Basic es 0)cilSP R, SP Da)e37
Al e!ecutarse el cdigo anterior se escribira en el archivo la siguiente in0ormacin"
Visual Basic es @.cil4 !;0!;00$
$omo se observa, al utilizar la sentencia &rin) se deben delimitar los datos para /ue se impriman
correctamente.
1 -en)encia =ri)e
Permite escribir datos secuencialmente en un archivo. (u sintaGis es"
=ri)e \ *qM&R1VAR$'#C1, #(%AV2&V&MPR&(#1*&(
2onde *qM&R1VAR$'#C1 es el nEmero utilizado cuando el archivo 0ue abierto.
#(%AV2&V&MPR&(#1*&( es un con!unto de eGpresiones Fnumricas, de cadena, de 0echa, etc.H
separadas por punto y coma FkH /ue ser)n escritas en el archivo.
a sentencia =ri)e inserta comas F4H entre las eGpresiones de la #(%AV2&V&MPR&(#1*&(, por tanto
no es necesario poner delimitadores eGplcitamente como en el caso de la sentencia &rin).
$uando se utiliza la sentencia =ri)e para escribir in0ormacin en un archivo, se siguen distintas
convenciones universales, de modo /ue los datos siempre se pueden leer e interpretar correctamente,
independientemente de la con0iguracin regional, estas convenciones son"
$!$
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
os datos numricos siempre se escriben utilizando la coma F,H como separador decimal.
Para datos de tipo Boolean se imprime \ T*+E \ o \ F,-SE \.
os datos de tipo 2ate se escriben en el archivo usando el 0ormato de 0echa universal F0echas como
\ aaaa1**1dd \ y horas como \ ::L**Lss \7.
A manera de e!emplo considere el siguiente segmento de cdigo"
Di* *3 "s In)eger
*3 Q GreeGile37
O(en R$"j2A%Aj2&M1.2A%S Gor Ou)(u) "s d *3
=ri)e d *3, RCisual Basic es 0)cilSP Da)e37
a e!ecucin de este cdigo escribira en el archivo la siguiente in0ormacin"
Visual Basic es @.cilj4 \ 0010!1$$ \
1 -en)encia Close
$ierra uno archivo abierto mediante la sentencia 1pen. (u sintaGis es la siguiente"
Close d *qM&R1VAR$'#C1 W, d *qM&R1VAR$'#C1, . . .X
2onde *qM&R1VAR$'#C1 es el nEmero con el cual se abri el archivo. Por e!emplo"
Close d 3, d 4
a instruccin anterior cierra los archivos asociados con los nEmeros 3 y 4. a siguiente sentencia
cierra todos los archivos abiertos.
Close
$!
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
-en)encia In(u)
Permite leer datos de un archivo secuencial y los asigna a las variables especi0icadas. (u sintaGis es"
In(u) d *qM&R1VAR$'#C1, CAR#AB&3 W, CAR#AB&4, . . .X
2onde *qM&R1VAR$'#C1 es el nEmero utilizado cuando el archivo 0ue abierto. CAR#AB&3,
CAR#AB&4, . . . son los nombres de las variables /ue han de recibir los correspondientes datos del
archivo.
os datos del archivo deben aparecer en el mismo orden /ue tienen las variables en la sentencia In(u) y
deben coincidir con variables del mismo tipo de datos. Por e!emplo"
Di* *3 "s In)eger
*3 Q GreeGile37
O(en R$"j2A%Aj2&M1.2A%S Gor In(u) "s d *3
Di* A "s In)eger
Di* B "s Dou+le
Di* ( "s -)ring
Di* . "s Da)e
In(u) d *3, A, B, (, .
&l segmento de cdigo anterior espera encontrar en el archivo un entero, un real, una cadena y
una 0echa, en ese orden Fseparados por comas o un retorno de carroH.
1 -en)encia #ine In(u)
Permite leer una lnea de un archivo secuencial ignorando los delimitadores FcomasH y la asigna
a una variable tipo cadena. (u sintaGis es"
-ine In.ut d NMERO_ARCHIVO, VARIABLE
$!2
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
2onde *qM&R1VAR$'#C1 es el nEmero utilizado cuando el archivo 0ue abierto. CAR#AB& es el
nombre de una variable tipo cadena de caracteres.
a sentencia #ine In(u) se utiliza especialmente para leer un archivo de teGto lnea a lnea, ya /ue esta
sentencia lee todos los caracteres del archivo hasta /ue encuentra un retorno de carro, entonces continua
en la siguiente lnea y as sucesivamente. Por e!emplo"
Di* *3 "s In)eger, #*&3 "s -)ring, #*&4 "s -)ring
*3 Q GreeGile37
O(en R$"j2A%Aj2&M1.%M%S Gor Ou)(u) "s d *3
&rin) d *3, Rnea de prueba 3S
&rin) d *3, Rnea de prueba 4S
Close d *3
O(en R$"j2A%Aj2&M1.%M%S Gor In(u) "s d *3
#ine In(u) d *3, #*&3
MsgBo? #*&3
#ine In(u) d *3, #*&4
MsgBo? #*&4
a e!ecucin del cdigo anterior produce la siguiente salida"
$!!

Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
1 Gunci'n In(u)
Retorna los siguientes . caracteres de un arcivo secuencial y los asigna a una variable de cadena.
(u sintaGis es de la 0orma"
CAR#AB& Q In(u)F . , d *qM&R1VAR$'#C1H
A di0erencia de la sentencia In(u), la 0uncin In(u)37 retorna todos los caracteres /ue lee, incluyendo
comas, retornos de carro, continuaciones de lnea, etc. Por e!emplo"
Di* *3 "s In)eger, ( "s -)ring
*3 Q GreeGile37
O(en R$"j2A%Aj2&M1.%M%S Gor Ou)(u) "s d *3
&rin) d *3, Rnea de prueba 3S
&rin) d *3, Rnea de prueba 4S
Close d *3
O(en R$"j2A%Aj2&M1.%M%S Gor In(u) "s d *3
( Q In(u)F46, d *3H
MsgBo? (
a e!ecucin del cdigo anterior produce la siguiente salida"
Gunci'n EOG
&speci0ica si se ha llegado al 0inal de un archivo. (u sintaGis es de la 0orma"
CAR#AB& Q EOGF*qM&R1VAR$'#C1H
$!E
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
(e utiliza EOG37 para evitar producir un error al intentar obtener in0ormacin m)s all) del 0inal del
archivo. EOG37 retorna un valor True si se ha alcanzado el 0inal del archivo y Galse en caso contrario.
Por e!emplo"
Di* *3 "s In)eger
Di* $A2&*A "s -)ring
*3 Q GreeGile37
O(en R$"j2A%Aj2&M1.%M%S Gor In(u) "s d *3
=:ile No) EOGF*3H
#ine In(u) d *3, $A2&*A
&rin) $A2&*A
=end
Close d *3
&ste segmento de cdigo lee y visualiza cada lnea del archivo de teGto 2&M1.%M%. &l bucle 0inaliza
cuando se detecta el 0inal del archivo. Para /ue el cdigo anterior 0uncione correctamente, no olvide
poner la propiedad "u)oRedra> del 0ormulario a True.
$omo e!emplo 0inal del uso de archivos secunciales vamos a desarrollar un sencillo editor de teGto.
&ste editor aun/ue sus prestaciones son bastante limitadas va ha servir para poner en pr)ctica lo
aprendido recientemente.
1 6.0. "rc:i5os de acceso alea)orio
&n los archivo de acceso aleatorio el almacenamiento de los datos se hace mediante registros Ftodos de
la misma longitudH, lo cuales son identi0icados mediante un Enico nEmero denominado ndice. &l
primer registro de un archivo tiene como ndice 3, el segundo tiene ndice 4 y as sucesivamente. a
in0ormacin contenida en un archivo de este tipo puede ser accedida en cual/uier secuencia, ya /ue
cada registro individual se asocia con su respectivo ndice y puede ser ledo, escrito o actualizado.
$!6
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
as sentencias y 0unciones necesarias para manipular archivos de tipo aleatorio se presentan a
continuacin.
1 -en)encia O(en
Permite abrir un archivo. a sintaGis para acceder aleatoriamente a un archivo es"
O(en *1MBR&VAR$'#C1 Gor Rando* "s d *qM&R1VAR$'#C1 #en Q 1*VR&T
2onde *1MBR&VAR$'#C1 es una cadena /ue especi0ica el nombre del archivo /ue se debe ser
abierto en modo Random.
&l par)metro *qM&R1VAR$'#C1 es un entero cuyo valor est) comprendido entre 3 y 733. &ste
nEmero ser) asociado con el nombre del archivo mientras permanezca abierto. 1*VR&T es un entero
/ue establece la longitud del registro para archivos aleatorios.
1 -en)encia &u)
Permite grabar un registro en un archivo abierto para acceso aleatorio. (u sintaGis es"
&u) d *qM&R1VAR$'#C1, *qM&R1VR&T, CAR#AB&
2onde *qM&R1VAR$'#C1 es el nEmero ba!o el cual se abri el archivo, *qM&R1VR&T es el
nEmero correspondiente al registro /ue se va ha grabar y CAR#AB& contiene los datos a escribir en el
archivo. Por e!emplo"
Di* *3 "s In)eger, R&T "s 2#(%R#%1
R&T.#2V2#(%R#%1 Q RD:S
R&T.*1MBR& Q R$horrillosS
*3 Q GreeGile37
O(en R$"j2A%AjRA*23.2A%S Gor Rando* "s d *3 en Q #enFR&TH
&u) d *3, 3, R&T
Close d *3
$!%
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
&l segmento de cdigo anterior utiliza una variable R&T de tipo 2#(%R#%1, cuya de0inicin es la
siguiente"
&ri5a)e Ty(e 2#(%R#%1
#2V2#(%R#%1 "s -)ring L 5
*1MBR& "s -)ring L 5D
End Ty(e
1 -en)encia Ne)
Permite leer un registro procedente de un archivo de acceso aleatorio, almacenando los datos en una
variable espec0ica. (u sintaGis es de la 0orma"
Ne) d *qM&R1VAR$'#C1, *qM&R1VR&T, CAR#AB&
2onde *qM&R1VAR$'#C1 es el nEmero ba!o el cual se abri el archivo, *qM&R1VR&T es el
nEmero correspondiente al registro /ue se va ha leer y CAR#AB& almacena los datos del registro
ledo. Por e!emplo"
Di* *3 "s In)eger, # "s In)eger, R&T "s 2#(%R#%1
*3 Q GreeGile37
O(en R$"j2A%AjRA*23.2A%S Gor Rando* "s d *3 #en Q #enFR&TH
# Q 3
=:ile No) EOGFd *3H
Tet d *3, #, R&T
MsgBo? R&T.#2V2#(%R#%1 Z R S Z R&T.*1MBR&
# Q # K 3
=end
Close d *3
$!8
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
$uando EOG37 se utiliza con un archivo aleatorio, retorna un valor %rue si una sentencia Tet intenta
leer y no puede por/ue ha alcanzado el 0inal del archivo.
1 Gunci'n #OG
Retorna el nEmero de bytes FcaracteresH /ue ocupa un determinado archivo abierto mediante la
sentencia 1pen. (u sintaGis es"
CAR#AB& Q #OGFd *qM&R1VAR$'#C1H
2onde *qM&R1VAR$'#C1 es el nEmero con el /ue se abri el archivo.
&sta 0uncin es de utilidad, por/ue aplicada a un archivo de acceso aleatorio, permite conocer el
nEmero de registros almacenados en el archivo. Para ello debe dividir el valor retornado entre la
longitud del registro. $omo e!emplo, considere lo siguiente"
Di* *3 "s In)eger, R&T "s 2#(%R#%1
Di* *+MVR&T( "s In)eger, # "s In)eger
*3 Q GreeGile37
O(en R$"j2A%AjRA*23.2A%S Gor Rando* "s d *3 #en Q #enFR&TH
*+MVR&T( Q #OGF*3H J #enFR&TH
Gor # Q 3 To *+MVR&T(
Tet d *3, #, R&T
MsgBo? R&T.#2V2#(%R#%1 Z R S Z R&T.*1MBR&
Ne?)
Close d *3
$!0
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
1 Gunci'n #oc
&sta 0uncin retorna la posicin actual dentro de un 0ichero. (u sintaGis es"
CAR#AB& Q #ocFd *qM&R1VAR$'#C1H
a 0uncin #oc37 aplicada a un archivo de acceso aleatorio retorna el nEmero del Eltimo registro ledo o
grabado en el archivo especi0icado. Por e!emplo"
Di* *3 "s In)eger, R&T "s 2#(%R#%1
Di* *+MVR&T( "s In)eger, # "s In)eger
*3 Q GreeGile37
O(en R$"j2A%AjRA*23.2A%S Gor Rando* "s d *3 #en Q #enFR&TH
*+MVR&T( Q #OGF*3H J #enFR&TH
# Q 3
Do =:ile True
Tet d *3, #, R&T
MsgBo? R&T.#2V2#(%R#%1 Z R S Z R&T.*1MBR&
# Q # K 3
I@ #ocF*3H Q *+MVR&T( T:en E?i) Do
#oo(
Close d *3
a sentencia I@ 0inaliza el bucle si se ha alcanzado el Eltimo registro.
$omo e!emplo 0inal vamos a desarrollar una aplicacin /ue permita realizar el mantenimiento de los
datos almacenados en el archivo $"j2A%Aj$+R(1.2A%.
$E0
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
1 6.0.2 "rc:i5os de acceso +inario
+n arcivo binario contiene m)s /ue simplemente teGto. Puede contener im)genes, sonido, ho!as de
c)lculo, o documentos concebidos para el procesamiento de teGto.
&l acceso binario permite la posibilidad de tratar cual/uier archivo como una secuencia numerada de
bytes, independientemente de la estructura del mismo. os bytes ocupan las posiciones 3, 4, 5, etc. Por
e!emplo, si se re/uiere recuperar un dato de tipo entero F#nteger, 4 bytesH de la posicin 5 del archivo,
seran recuperados los bytes 5 y 6 para poder 0ormar el valor del entero. Por tanto, antes de traba!ar con
archivos binarios es necesario conocer cmo 0ueron escritos los datos /ue contiene para poder
recuperarlos correctamente.
1 -en)encia O(en
Permite abrir un archivo para acceso binario. (u sintaGis es de la 0orma"
O(en *1MBR&VAR$'#C1 Gor Binary "s d *qM&R1VAR$'#C1
2onde *1MBR&VAR$'#C1 es una cadena /ue especi0ica el nombre del archivo /ue se debe ser
abierto en modo Binary. &l par)metro *qM&R1VAR$'#C1 es un entero cuyo valor est) comprendido
entre 3 y 733. &ste nEmero ser) asociado con el nombre del archivo mientras permanezca abierto.
1 -en)encia &u)
Permite grabar en un archivo binario tantos bytes como haya en una variable. (u sintaGis es"
&u) d *qM&R1VAR$'#C1, P1(#$#r*, CAR#AB&
2onde *qM&R1VAR$'#C1 es el nEmero ba!o el cual se abri el archivo. P1(#$#r* es el nEmero
de byte a partir del cual se han de grabar los datos contenidos en CAR#AB&.
$E$
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
1 -en)encia Ne)
Permite leer de un archivo binario tantos bytes como /uepan en una variable. (u sintaGis es de la 0orma"
Ne) d *qM&R1VAR$'#C1, P1(#$#r*, CAR#AB&
2onde *qM&R1VAR$'#C1 es el nEmero ba!o el cual se abri el archivo. P1(#$#r* es el nEmero
de byte a partir del cual se han de leer los datos almacenados en CAR#AB&.
1 -en)encia -eeH
Permite situar la posicin de lectura o de escritura en una posicin determinada dentro del archivo. (u
sintaGis es"
Ne) d *qM&R1VAR$'#C1, P1(#$#r*, CAR#AB&
2onde P1(#$#r* es el nEmero de byte a partir del cual /ueremos leer o escribir dentro del archivo.
$omo e!emplo vamos a desarrollar una aplicacin /ue permite guardar Rci0radosS los teGtos ingresados
en un cuadro de teGto. Para ello crear un nuevo proyecto y ubicar en el 0ormulario un cuadro de teGto
F%GtMensa!eH y un botn de comando F$md$i0rarH. uego, ingrese el siguiente cdigo"
Cons) $AC& "s In)eger Q 5
&ri5a)e -u+ $md$i0rarV$licI F H
Di* *3 "s In)eger, # "s In)eger
Di* $AR "s -)ring L 3
*3 Q GreeGile37
O(en R$"j2A%Aj2&M1.B#*S Gor Binary "s d *3
Gor # Q 3 To #enF%GtMensa!eH
$E
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
$AR Q C:rFFAscFMidF%GtMensa!e, #, 3HH K $AC&H Mod 478H
&u) d *3, , $AR
Ne?)
Close d *3
End -u+
&n el cdigo la 0uncin MidFH obtiene el car)cter R#S de la ca!a de teGto, la 0uncin AscFH obtiene su
cdigo A*(#, al /ue sumamos el valor de $AC&, para despus obtener el resto de la divisin entre
478, con el 0in de mantenernos en el rango de D a 477 Frango de valores de la tabla de caracteres A*(#H.
Por Eltimo, la 0uncin C:rFH retorna el car)cter correspondiente al valor obtenido, el cual es
almacenado en el archivo binario.
Por e!emplo si ingresa el mensa!e R'1AS se almacena en el archivo como RNR12S Flo puede
comprobar mediante el Bloc de notasH, ya /ue el valor "N-I de la R'S es ;4, este car)cter al sumarle el
valor de $AC& sera el ;7 F;4 K 5H, /ue es la RNS, y as sucesivamente Fver la tabla de caracteres
"N-IH.
&l desci0rado sera el proceso inverso, para ello crear un nuevo 0ormulario y ubicar un botn de
comando F$md2esci0rarH, luego ingresar el cdigo siguiente"
Cons) $AC& "s In)eger Q 5
&ri5a)e -u+ $md2esci0rarV$licIFH
Di* *3 "s In)eger, # "s In)eger
Di* $AR "s -)ring L 3, $A2&*A "s -)ring
*3 Q GreeGile37
O(en R$"j2A%Aj2&M1.B#*S Gor Binary "s d *3
Ne) d *3, , $AR
$E2
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Capitulo VI
Arc!ivos y "ntrada#$alida de %atos
=:ile No) EOGF*3H
$AR Q C:rFFAscF$ARH K F478 B ValF$AC&HHH Mod 478H
$A2&*A Q $A2&*A Z $AR
Ne) d *3, , $AR
=end
MsgBo? $A2&*A
End -u+
$E!
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
3abla de valores A$CII
/0di1os ,S/II no%2ales 3c0di1os 4 1275

000 (nul) 016 > (dle) 032 sp 048 0 064 @ 080 P 096 ` 112 p
001 (soh) 017 < (dc1) 033 ! 049 1 065 A 081 Q 097 a 113 q
002 e (stx) 018 (dc2) 034 " 050 2 066 B 082 R 098 b 114 r
003 v (etx) 019 " (dc3) 035 # 051 3 067 C 083 S 099 c 115 s
004 + (eot) 020 (dc4) 036 $ 052 4 068 D 084 T 100 d 116 t
005 (enq) 021 (nak) 037 % 053 5 069 E 085 U 101 e 117 u
006 + (ack) 022 ~ (syn) 038 & 054 6 070 F 086 V 102 f 118 v
007 - (bel) 023 (etb) 039 ' 055 7 071 G 087 W 103 g 119 w
008 u (bs) 024 | (can) 040 ( 056 8 072 H 088 X 104 h 120 x
009 (tab) 025 (em) 041 ) 057 9 073 I 089 Y 105 i 121 y
010 (lf) 026 (eof) 042 * 058 : 074 J 090 Z 106 j 122 z
011 (vt) 027 (esc) 043 + 059 ; 075 K 091 [ 107 k 123 {
012 (np) 028 (fs) 044 , 060 < 076 L 092 \ 108 l 124 |
013 (cr) 029 (gs) 045 - 061 = 077 M 093 ] 109 m 125 }
014 n (so) 030 a (rs) 046 . 062 > 078 N 094 ^ 110 n 126 ~
015 n (si) 031 * (us) 047 / 063 ? 079 O 095 _ 111 o 127 .


/0di1os ,S/II e6tendidos 3c0di1os 127 4 2!!5

128 143 158 172 186 200 214 228 242
129 144 159 173 187 201 215 229 243
130 145 160 174 188 202 216 230 244
131 146 161 175 189 203 217 231 245
132 a 147 162 176 190 204 [ 218 232 246 -
133 148 163 177 191 205 = 219 233 247
134 149 164 178 192 ' 206 [ 220 234 248
135 150 165 179 ] 193 + 207 221 235 249
136 151 u 166 180 ] 194 208 222 236 250
137 152 y 167 181 195 ] 209 223 P 237 251
138 153 168 182 196 210 224 238 252
139 154 169 183 197 ] 211 225 239 253
140 155 170 - 184 198 212 E 226 240 254 M
141 156 171 185 [ 199 213 i 227 O 241 255
$EE
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
Controles no trabajados
l -:a(eL &s un control gr)0ico /ue se muestra como un rect)ngulo, un cuadrado, una elipse, un crculo,
un rect)ngulo redondeado o un cuadrado redondeado.
l Ric:Te?)Bo?L &s un control /ue permite al usuario escribir y modi0icar teGto al tiempo /ue
proporciona caractersticas de 0ormato m)s avanzadas /ue el control Te?)Bo? convencional.
l D-crollBar4 V-crollBar 3Con)roles7L as barras de desplazamiento permiten eGplorar 0)cilmente
una larga lista de elementos o una gran cantidad de in0ormacin. Adem)s, proporcionan una
representacin an)loga de la posicin actual. Puede usar una barra de desplazamiento como dispositivo
de entrada o como indicador de velocidad o cantidadP por e!emplo, para controlar el volumen de un
!uego de P$ o para ver el tiempo transcurrido en un proceso temporizado.
l Da)aNrid 3Con)rol7L Muestra y permite la manipulacin de datos de una serie de 0ilas y columnas
/ue corresponden a registros y campos de un ob!eto Recordse).
l M-Gle?NridL &l control Microso0t .leGTrid FM-Gle?NridH muestra datos de tablas y e0ectEa
operaciones en ellos. Proporciona una 0leGibilidad completa para ordenar, combinar y aplicar 0ormato a
tablas /ue contienen cadenas e im)genes. $uando se enlaza a un control Da)a, el control M-Gle?Nrid
muestra datos de slo lectura.
l Con)rol de da)os "DOL es similar al control intrnseco Da)a y al Con)rol de da)os re*o)os FR2$H.
&l Con)rol de da)os "DO permite crear r)pidamente una coneGin con una base de datos mediante
O+,e)os de da)os "c)i5e< de Microso@) FA21H. &s posible crear en tiempo de dise,o una coneGin al
establecer la propiedad Connec)ion-)ring con una cadena de coneGin v)lida y, a continuacin, la
propiedad Record-ource con una instruccin apropiada para el administrador de base de datos. Puede
establecer tambin la propiedad Connec)ion-)ring con el nombre de un archivo /ue de0ina una
coneGinP el archivo se genera mediante el cuadro de di)logo Vnculo de da)os /ue aparece cuando
hace clic en Connec)ion-)ring en la ventana Propiedades y, despus, en Nenerar o en -eleccionar.
l =insocHL &l control =insocH, invisible para el usuario, proporciona un acceso sencillo a los
servicios de red %$P y +2P. Pueden usarlo los programadores de Microso0t Access, Cisual Basic,
Cisual $KK o Cisual .oGPro. Para escribir aplicaciones de servidor o de cliente no necesita comprender
los detalles de %$P ni llamar a las AP# de =insocH de nivel in0erior. (i establece las propiedades y
llama a los mtodos del control, podr) conectar 0)cilmente con un e/uipo remoto e intercambiar datos
en las dos direcciones.
$E6
Ing. Carlos Manuel Rodrguez Bucarelly
Visual Basic 6.0
BIBLI,-.A/IA
m M-DN #i+rary Visual -)udio 6.0a n
m "(renda Visual Basic 6.0 3Co*o si es)u5iera en (ri*ero7 n
ha5ier Narca de hal'n _ hos6 Ignacio Rodrguez _ "l@onso Braz.lez
m Ca()ulo % 3#os arc:i5os7. Documento .lectr-nico n
Carlos Cas)illo &eral)a
$E%

Vous aimerez peut-être aussi