INSTITUTO TECNICO Y TECNOLOGICO CENTRO ANDINO
MATERIA
DRA
(Desarrollo Rápido de Aplicaciones)
DOCENTE
GUSTAVO RODRIGUEZ
ALUMNO
CARLOS ALBERTO BENAVIDES OLARTE
28 DE AGOSTO DE 2019
DEFINICION
Visual Basic (VB) es un lenguaje de programación dirigido por eventos,
desarrollado por Alan Cooper para Microsoft. Este lenguaje de programación es un
dialecto de BASIC, con importantes agregados. Su primera versión fue presentada
en 1991, con la intención de simplificar la programación utilizando un ambiente de
desarrollo.
La última versión fue la 6, liberada en 1998, para la que Microsoft extendió el
soporte hasta marzo de 2008.
En 2001 Microsoft propuso abandonar el desarrollo basado en la API Win32 y
pasar a un framework o marco común de librerías, independiente de la versión del
sistema operativo .NET Framework, a través de Visual Basic .NET (y otros
lenguajes como C Sharp(C#) de fácil transición de código entre ellos); fue el
sucesor de Visual Basic 6.
Aunque Visual Basic es de propósito general, también provee facilidades para el
desarrollo de aplicaciones de bases de datosusando Data Access
Objects, Remote Data Objects o ActiveX Data Objects.
Visual Basic contiene un entorno de desarrollo integrado o IDE que integra editor
de textos para edición del código fuente, un depurador,
un compilador (y enlazador) y un editor de interfaces gráficas o GUI.
CARACTERÍSTICAS
Los compiladores de Visual Basic generan código que requiere una o más librerías
de enlace dinámico para que funcione, conocidas comúnmente como DLL (sigla
en inglés de Dynamic-Link Library); en algunos casos reside en el archivo llamado
[Link] (siglas de "MicroSoft Visual Basic Virtual Machine x.y", donde x.y
es la versión) y en otros en [Link] ("Visual Basic Runtime [Link]").
Estas bibliotecas DLL proveen las funciones básicas implementadas en el
lenguaje, conteniendo rutinas en código ejecutable que son cargadas bajo
demanda en tiempo de ejecución. Además de las esenciales, existe un gran
número de bibliotecas del tipo DLL con variedad de funciones, tales como las que
facilitan el acceso a la mayoría de las funciones del sistema operativo o las que
proveen medios para la integración con otras aplicaciones.
Dentro del mismo Entorno de desarrollo integrado (IDE) de Visual Basic se puede
ejecutar el programa que esté desarrollándose, es decir en modo intérprete (en
realidad pseudo-compila el programa muy rápidamente y luego lo ejecuta,
simulando la función de un intérprete puro). Desde ese entorno también se puede
generar el archivo en código ejecutable (exe); ese programa así generado en
disco puede luego ser ejecutado sin requerir del ambiente de programación
(incluso en modo stand alone), aunque sí será necesario que las librerías DLL
requeridas por la aplicación desarrollada se encuentren también instaladas en
el sistema para posibilitar su ejecución.
El propio Visual Basic provee soporte para empaquetado y distribución; es decir,
permite generar un módulo instalador que contiene al programa ejecutable y las
bibliotecas DLL necesarias para su ejecución. Con ese módulo la aplicación
desarrollada se distribuye y puede ser instalada en cualquier equipo (que tenga un
sistema operativo compatible).
Así como bibliotecas DLL, hay numerosas aplicaciones desarrolladas por terceros
que permiten disponer de variadas y múltiples funciones, incluso mejoras para el
propio Visual Basic; las hay también para el empaquetado y distribución, y hasta
para otorgar mayor funcionalidad al entorno de programación (IDE).
FORMULARIOS
PROPIEDADES, EVENTOS Y MÉTODOS
El formulario es el primer objeto o control que se visualiza en Visual Basic y
constituye la pantalla o ventana sobre la que se colocan otros objetos o controles
como etiquetas, controles de texto, botones, etc. y por supuesto el código
necesario de nuestros programas, por lo tanto constituirán la Interfaz de usuario.
Al igual que todo control tiene sus propiedades, las mismas que podemos
establecerlas en la ventana de propiedades.
Nota: Recuerde que para establecer las propiedades de cada objeto primero
debemos dar click en el objeto o control y luego establecerlas en la ventana de
propiedades
PROPIEDADES DEL FORMULARIO: Se detallarán las más utilizadas:
Name: En todo control la primera propiedad que debe establecerse es el nombre
del objeto, es recomendable que en el caso del formulario las tres primeras letras
sean Frm, precisamente para saber que se trata de un formulario, y luego seguida
del nombre que se le quiere asignar, no admite espacios.
Como puede apreciar en la parte inferior de la ventana de propiedades se tiene
una pequeña descripción de la propiedad elegida.
BackColor: Permite cambiar el color del fondo del formulario
BackgroundImage: Establece una imagen como fondo del formulario
BackgroundImageLayout: Diseño de la imagen de fondo: None, Tile, Center,
Stretch, Zoom
ControlBox: Determina si la ventana tiene o no botones de control
Cursor: Cursor que aparecerá al pasar el puntero por el formulario, se visualizará
sólo en tiempo de ejecución (f5)
FormBorderStyle: Establece el estilo del borde del formulario
Icon: Indica el ícono del formulario es decir aquel que va en la barra de título, se
visualizará también en la barra de tareas de windows cuando el formulario se
minimiza
MaximizeBox: Permite que el botón de maximizar que se encuentra en los
botones de control se encuente habilitado o no (se puede utilizar o no)
MinimizeBox: Permite que el botón de minimizar que se encuentra en los botones
de control se encuentren habilitado o no.
ShowIcon: Indica si un ícono se muestra o no en la barra de título del formulario
ShowInTaskbar: Determina si el formulario aparece en la barra de tareas de
windows.
Text: Representa el texto que se visualizará en la barra de título (no confundir
con el nombre)
WindowState: Determina el estado visual inicial del formulario: Normal,
Maximized, Minimized
Más información
EVENTOS
Los eventos los podemos encontrar en la ventana de código, la misma que se
presenta al dar doble clic sobre el objeto, en este caso el formulario
Si deseamos que cuando inicie el programa se presente un mensaje, deberemos
escoger el evento Load, es decir, es lo primero que se ejecutará antes de
presentarse el formulario, para lo cual debemos asegurarnos de que estamos en
el objeto Form y buscar el evento Load, una vez realizado esto se nos presentará
lo siguiente:
Public Class FrmInicial
Private Sub FrmInicial_Load (ByVal sender As Object...)
EndSub
End Class
Entre Private y End Sub debemos escribir todo lo que queremos que se ejecute,
en el caso de nuestro ejemplo será:
Public Class FrmInicial
Private Sub FrmInicial_Load (ByVal sender As Object...)
Msgbox ("Bienvenido, el programa se ejecutará.")
EndSub
End Class
Msgbox sirve para presentar un cuadro de mensaje y entre comillas (" ") se
colocará el mensaje a presentarse
Para ver el resultado de este código, ejecutamos el proyecto con F5 y para
detenerlo en el botón cerrar de los botones de control
Click: Este evento se ejecutará al dar click sobre el control en este caso sobre el
formulario.
Si desearíamos que la ventana se maximize al dar click en el formulario, luego de
escoger el objeto y el evento click, la codificación sería:
Private Sub FrmInicial_Click (ByVal sender as Object...)
[Link]= [Link]
End Sub
Recuerde la sintaxis de las propiedades:
[Link] = valor
Cuando hablamos del mismo formulario el objeto será remplazado por Me, con los
demás controles se utilizará el nombre (el que se establece en name)
[Link]=[Link]
MouseMove: Este evento indica que cuando pase el puntero del mouse por el
formulario se ejecutará lo que este codificado en él. Por ejemplo si queremos
queremos que cambie el color del fondo del formulario será:
Private Sub FrmInicial_MouseMove(ByVal sender As Object
[Link]=[Link]
End Sub
FormClosing: Este evento se ejecutará cuando se cierre la ventana. Por ejemplo
si queremos visualizar un mensaje de agradecimiento cuando se cierre la ventana,
la codificación será:
Private Su FrmInicial_Closing (ByVal sender As Object...)
Msgbox("Gracias por preferirnos")
End Sub
MÉTODOS: Por el momento veremos dos métodos del formulario
Show: Permite llamar o presentar otro formulario
Para utilizar este método, primero indicaré la manera de añadir un nuevo
formulario a un proyecto: En el Menú Proyecto, Agregar Windows Form...
Al dar click en Agregar de la ventana anterior, se tendrá un nuevo formulario.
Si al hacer click en el primer formulario llamado FrmInicial queremos pasar al
nuevo formulario al cual le pusimos de nombre FrmSiguiente, la codificación será
la siguiente:
Private Sub FrmInicial _Click (ByVAl sender As Object....)
[Link]( )
En Sub
CLOSE: Este método me permite cerrar la ventana. Por ejemplo si al dar click en
el formulario FrmSiguiente quiero que finalice el programa la codificación será:
Private Sub FrmSiguiente_Click (ByVal sender As Object ...)
[Link] ( )
End Sub
Recuerde que para realizar esta última codificación primero debía haber
estado o dado click en el Formulario con el nombre de FrmSiguiente y luego
entrar en la ventana de código del mismo y asegurarse que esté en el evento
click del mismo.
CONTROLES
En Visual Basic existen tres categorías generales de controles: Controles
intrínsecos, Controles ActiveX, Objetos insertables
1. Controles intrínsecos
Estos controles se encuentran dentro del archivo ejecutable de Visual Basic. Los
controles intrínsecos están siempre incluidos en el cuadro de herramientas, no
como los controles Activex, que se pueden quitar o agregar al cuadro de
herramientas. A continuación una lista de controles intrínsecos.
Nombre de control Nombre de clase Descripción
Casilla de verificación CheckBox Presenta una opción de
tipoVerdadero o Falso.
Cuadro combinado ComboBox Cambina un cuadro de texto y
un cuadro de lista.
Botón de comando CommandButton Ejecuta un comando o una
acción cuando el usuario hace
clic en él.
Datos Data Permite conectar una base de
datos existente y presentar
información en ella en los
formularios.
Cuadro de lista de DirListBox Presenta directorios y rutas de
directorios acceso.
Cuadro de lista de archivos FileListBox Presenta una lista de archivos.
Cuadro de lista de unidades DriveListBox Presenta una lista de unidades
de disco validas.
Marco Frame Proporciona un contenedor
visual y funcional para los
controles.
Barras de desplazamiento HScrollBar y Permite que un usuario agregue
horizontal y vertical VScrollBar barras de desplazamiento a
controles que no las tienen de
forma automática.
Imagen Image Presenta mapas de bits, iconos
o metarchivos de Windows,
archivos JPEG o GIF, y actúa
como un botón de comando
cuando se hace clic en él.
Etiqueta Label Presenta texto con el cual el
usuario no puede interactuar ni
modificar.
Línea Line Agrega un segmento de línea
recta a un formulario.
Cuadro de lista ListBox Presenta una lista de elementos
entre los que el usuario puede
elegir.
Contenedor OLE OLE Incrusta datos en una aplicación
de Visual Basic.
Botón de opción OptionButton El control OptionButton, como
parte de un grupo de opciones
con otros botones de opción.
Presenta varias opciones entre
las ue el usuario sólo puede
elegir una.
Cuadro de imágen Picturebox Presenta mapas de bits, íconos
o metarchivos de Windows y
otros tipos de archivos graficos
compatibles. También presenta
texto o actúa como contenedor
visual para otros controles..
Forma Shape Agrega un rectángulo, un
cuadrado, una elipse o un
circulo a un formulario, marco o
cuadro de imagen.
Cuadro de texto TextBox Proporciona una área para
escribir o presentar texto.
Cronómetro Timer Ejecuta eventos periódicos a
intervalos de tiempo
específicado.
2. Controles ActiveX
Son aquellos controles que existen como archivos independientes con extensión
nombre de archivo .ocx. Entre éstos se incluyen los controles disponibles en todas
las ediciones de Visual Basic (controles cuadrícula, cuadro combinado y lista
enlazados a datos y varios más) y los que sólo están disponibles en la Edición
Profesional y la Edición Empresarial (como Listview, Toolbar, Animation y Tabbed
Dialog). A estos también se suman los controles Activex de otros fabricantes.
Nombre de control Nombre de Descripción
clase
Control de datos ADO ADODC Crea una conexión a una base de
datos de datos mediane ADO.
Asignable a la
propiedad DataSource de otros
controles, como el control
DataGrid.
Dialogo común CommonDialog Proporciona un conjunto de
cuadros de diálogo estándar para
operaciones como abrir y guardar
archivos, establecer opciones de
impresión y seleccionar colores y
fuentes.
Cuadro combinado DataGrid Proporciona las mayorías de las
enlazado a datos opciones del
control ComboBox estándar, así
como mayor capacidad de acceso
a datos.
Cuadrícula Apex enlazada DataGrid Control con apariencia de una
a datos hoja de cálculo vinculado aun
origén de datos como un control
de datos ADO. Es posible la
lectura y la modificación del
recordset.
Cuadro de lista enlazado a DataList Proporciona la mayoría de de las
datos. características del control ListBox
estándar, asi como mayor
capacidad de acceso a datos.
FlexGrid de Microsoft MSFlexGrid Control con apariencia de hoja de
cálculo de sólo lectura que se
puede vincular al diseñador de
entorno de datos para mostrar
recordset jerárquicos
3. Objetos insertables
Como un objeto Worksheet de Microsoft Excel que contienen la lista de los
empleados de su empresa, o un objeto Calendar de Microsoft Project que contiene
la información del calendario de un proyecto. Puesto que estos objetos se pueden
agregar al cuadro de herramientas, se les considera controles.
Convenciones de nomenclatura de los controles
Cuando crea un objeto (un formulario o un control) por primera vez, Visual Basic
establece su propiedad Name a un valor predeterminado. Por ejemplo, todos los
botones de comando tienen la propiedad Name establecida inicialmente a
Commandn, donde n es 1, 2, 3 y así sucesivamente. Visual Basci llama al primer
botón de comando de un formulario Command1, al segundo Command2 y al
tercero Command3.
Puede mantener los nombres predeterminados; sin embargo, cuando tiene varios
controles del mismo tipo, es más lógico modificar las propiedades Name para que
sean algo más descriptivas. Como puede ser dificil distinguir entre el botón
Command1 de miForm y el botón Command1 de SubForm, la convención de
nomenclatura es recomendable, especialmente cuando una aplicación se
compone de varios módulos de formulario, módulos estándar y módulos de clase.
Puede usar un prefijo para describir la clase, seguido de un nombre descriptivo del
control. El uso de convención de nombres hace que el código sea más
autodescriptivo y agrupa objetos similares alfabéticamente en el cuadro de lista
Objeto. Por ejemplo:
chkSoloLectura
Los nombres de los formularios y los controles:
Deben empezar por una letra
Sólo deben contener letras, números y el carácter de subrayado (_);
no se permiten signos de puntuación ni espacios en blanco.
No pueden tener una longitud mayor de 40 caracteres.
Valores de los controles
Todos los controles tienen una propiedad que se puede usar para almacenar u
obtener valores mediante una referencia al control, sin mencionar el nombre de la
propiedad.
Este se denomina valor del control y normalmente es la propiedad más importante
o la más frecuentemente utilizada del control.
Cuando quiera hacer una referencia a la propiedad de un control que es
el valor de dicho control, puede hacerlo sin especificar el nombre de la propiedad.
Por ejemplo, esta línea de código establece la propiedad Text de un cuadro de
texto.
Text1 = "Este texto se asigna a la propiedad Text de Text1"
En este ejemplo, la propiedad Caption de Label1 se establece a la
propiedad FileName de File1 cuando el usuario hace clic en un archivo del cuadro
de lista de archivos:
Private File1_Click()
Label1 = File1
End Sub
En la tabla siguiente se enumeran las propiedades consideradas como valor de
control.
Control Valor
CheckBox Value
ComboBox Text
CommandButton Value
CommonDialog Action
Data Caption
DataCombo Text
DataGrid Text
DataList Text
DirListBox Path
DriveListBox Drive
FileListBox FileName
FlexGrid Text
Frame Caption
HScrollBar Value
Image Picture
Label Caption
Line Visible
ListBox Text
OptionButton Value
PictureBox Picture
Shape Shape
TextBox Text
Timer Enabled
VScrollBar Value
Matrices de controles
Una matriz de controles en un grupo de controles que comparten el mismo nombre
y el mismo tipo. También comparten los mismos procedimientos de evento. Las
matrices de controles tienen al menos un elemento y pueden crecer hasta
contener tantos elementos como permitan los recursos y la memoria del sistema;
su tamaño dependen también de la memoria y de los recursos de Windows
requeridos por cada control. El índice máximo que puede usar en una matriz de
controles es 32 767. Los elementos de una misma matriz de controles tienen sus
propio valor de propiedades. Entre los mas usados están los controles de menú y
las agrupaciones de botones de opción.
¿Por qué usar matrices de controles?
Al agregar controles mediante matrices de controles se utilizan menos recursos
que si simplemente se agregan al formulario múltiples controles del mismo tipo en
tiempo de diseño. Las matrices de controles también son útiles cuando quiere que
varios controles compartan código. Por ejemplo, si crea tres botones de opción
como una matriz de controles, se ejecuta el mismo código independiente del botón
en el que haga clic.
Si desea crear una instancia nueva de un control en tiempo de ejecución, dicho
control tiene que ser miembro de una matriz de controles. En una matriz, los
nuevos elementos heredan los procedimientos de evento comunes de toda la
matriz.
Mediante el mecanismo de las matrices de controles, cada nuevo control hereda
los procedimientos de eventos comunes escritos para la matriz. Por ejemplo, si el
formulario tiene varios cuadros de texto que reciben valores de fechas, puede
definir una matriz de controles para que todos los cuadros de texto compartan el
mismo código de validación.
Cuando crea una matriz de controles los valores de la propiedad Index de dicho
control se agrega al momento de agregar los elementos de la matriz. Es la
propiedad Index la que distingue cada elemento de otro dentro de la matriz de
controles.
Cuando un elementos de la matriz reconoce un evento, Visual Basic llama a un
procedimiento de evento común y pasa el argumento (el valor de la propiedad
Index) para identificar qué control reconoce realmente el evento. Por ejemplo:
Private Opciones_Click (Index as Integer)
Select Case
Case 0
... instrucciones para el primer elemento
Case 1
... instrucciones para el segundo elemento
End Select
End Sub
Agregar, eliminar un elemento de una matriz de controles en tiempo de
ejecución
Puede agregar o quitar controles de una matriz de controles en tiempo de
ejecución mediante las instrucciones Load y Unload. sin embargo, el control que
va a agregar tiene que ser un elemento de una matriz de controles existente. Debe
crear un control en tiempo de diseño con la propiedad Index establecida en la
mayor parte de los casos a 0.
Después, en tiempo de ejecución, utilice la siguiente sintaxis:
Load objeto(indice%)
Unload objeto(indice%)
Donde:
objeto: Nombre del control que va a agregar o eliminar de la matriz de controles.
indice%: El valor de índice del control dentro de la matriz.
Puede utilizar Unload para quitar cualquier control creado con Load. Sin embargo,
no puede usar Unload para quitar controles creados en tiempo de diseño,
independientemente de si forman parte o no de una matriz de controles.
Ejemplo:
En este ejemplo se permite al usuario agregar controles que cambian el color de
fondo de la ventana. Agrege un formulario y despúes dibuje dos botones de
opciones y dos botones de comando, como se ilustra en la tabla siguiente:
Objeto Propiedad Valor
Ejemplo de matriz de
Form1 Caption
controles
Option1 Name optButton
Index 0
Option2 Name optButton
Index 1
Primer botón de comando Name cmdAgregar
Caption &Agregar
Segundo botón de comando Name cmdEliminar
Caption &Eliminar
Ahora copie el siguiente código y ejecute el proyecto para ver como funciona:
Option Explicit
Dim MaxID As Integer
Private Sub cmdAgregar_Click()
MaxID = [Link] - 1 'Establece el total de botones existentes
If MaxID > 3 Then Exit Sub 'Sólo se permiten 5 botones
MaxID = MaxID + 1
Load optButton(MaxID) 'Crea un nuevo control
optButton(0).SetFocus 'Enfoque al primer botón
'Colocar el nuevo control debajo del último control
optButton(MaxID).Left = optButton(MaxID - 1).Left
optButton(MaxID).Top = optButton(MaxID - 1).Top + _
optButton(MaxID - 1).Height + 100
optButton(MaxID).Visible = True 'Mostrar el nuevo control
'Texto en el nuevo botón
optButton(MaxID).Caption = "Opción " & MaxID + 1
End Sub
Private Sub cmdEliminar_Click()
If MaxID <= 1 Then Exit Sub 'No podrá eliminar los dos primeros botones
Unload optButton(MaxID) 'Elimina el último botón
MaxID = MaxID - 1 'Establece el recuento de botones
optButton(0).SetFocus 'Reestablece la selección del botón
End Sub
Private Sub optButton_Click(Index As Integer)
[Link] = QBColor(Index + 1)
End Sub