VISUAL BASIC 1
VISUAL BASIC
Es una aplicación orientada a Windows que nos permite crear programas,
procesos, sistemas a través de una serie de herramientas que el Windows nos
ofrece.
Visual Basic en un lenguaje orientado a objetos a través de los cuales podemos
implementar algún o algunos formularios con controles y códigos de programa.
TERMINOS EN VISUAL BASIC:
CONTROL O OBJETO: Es un objeto que viene predeterminado con Visual
Basic y que puede ser creado a través de una herramienta que esta en la barra de
herramientas de controles.
Ejemplo:
Label, Text, Option, Check, Etc.
La Caja de herramientas contiene las herramientas que utiliza para dibujar
controles en sus formularios. Para abrir la Caja de herramientas, elija Caja de
herramientas en el menú Ver.
Puntero. Este es el único elemento de la Caja de herramientas que no
dibuja un control. Utilícelo para cambiar el tamaño o mover un control
tras haberlo dibujado en un formulario.
PictureBox (Imagen). Utilícelo para mostrar imágenes gráficas (bien
decorativas o activas), como un contenedor que recibe la salida de
métodos gráficos, o como un contenedor de otros controles.
Label (Etiqueta). Utilícelo para el texto que no desee que el usuario
cambie, como el título bajo un gráfico.
TextBox (Cuadro de texto). Utilícelo para contener texto que el
usuario pueda bien introducir o bien cambiar.
Frame (Marco). Utilícelo para crear una agrupación gráfico o funcional
de controles. Para agrupar controles, dibuje primero el Frame, y luego
dibuje los controles dentro del marco.
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 2
CommandButton (Botón de comando). Utilícelo para crear un botón
que el usuario pueda elegir para desencadenar un comando.
CheckBox (Casilla de verificación). Utilícelo para crear un cuadro que
el usuario pueda elegir fácilmente para indicar si algo es verdadero o
falso, o para mostrar múltiples alternativas cuando el usuario pude
elegir más de una.
OptionButton (Botón de opciones). Utilícelo en un grupo de botones
de opciones para mostrar múltiples alternativas de entre las que el
usuario puede elegir sólo una.
ComboBox (Cuadro combinado). Utilícelo para dibujar una
combinación de cuadro lista y cuadro de verificación. El usuario puede,
bien elegir un elemento de la lista o bien introducir un valor en el
cuadro de texto.
ListBox (Cuadro de lista). Utilícelo para mostrar una lista de los
elementos de entre los que el usuario puede elegir uno. La lista puede
ser desplazada si tiene más elementos de los que puede mostrarse en una
sola vez.
HScrollBar (Barra de desplazamiento horizontal). Utilícela para
proporcionar una herramienta gráfica para la navegación rápida a lo
largo de una larga lista de elementos o una gran cantidad de
información, para indicar la posición actual en una escala, o como un
dispositivo de entrada o indicador de velocidad o cantidad.
VScrollBar (Barra de desplazamiento vertical). Utilícela para
proporcionar una herramienta gráfica con la que se pueda desplazarse
rápidamente a lo largo de una lista de elementos o una gran cantidad de
información, para indicar la posición actual en una escala o como un
dispositivo de entrada o indicador de velocidad o cantidad.
Timer (Cronómetro). Utilícelo para generar eventos en intervalos
preestablecidos. Este control es invisible en tiempo de ejecución.
DriveListBox (Cuadro de lista de unidades). Utilícelo para mostrar
las unidades de disco válidas.
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 3
DirListBox (Cuadro de lista de directorios). Utilícelo para mostrar
directorios y rutas de acceso.
FileListBox (Cuadro de lista de archivos). Utilícelo para mostrar una
lista de archivos.
Shape (Forma). Utilícelo para dibujar una variedad de figuras en su
formulario en tiempo de diseño. Puede elegir rectángulo, rectángulo
redondeado, cuadrado, rectángulo redondeado, elipse o círculo.
Line (Línea). Utilícelo para dibujar una variedad de estilos de línea en
su formulario en tiempo de diseño.
Image (Imagen). Utilícelo para mostrar una imagen gráfica de un mapa
de bits, icono, o metarchivo en su formulario. Las imágenes mostradas
en un control Image sólo pueden ser decorativas y utilizan muchos
menos recursos que un PictureBox.
Data (Dato). Utilícelo para proporcionar acceso a datos de bases de
datos mediante controles enlazados en su formulario.
Contenedor de OLE. Utilícelo para vincular e incrustar objetos de
otras aplicaciones en su aplicación Visual Basic.
PROPIEDAD: Es una característica o atributo que toma el objeto o control
puede ser el color, tamaño, estado, los valores predeterminados, el texto del
mensaje, etc.
Ejemplo:
Caption, Name, BackColor, Font, ForeColor, Etc.
ALGUNAS PROPIEDADES COMUNES:
Name (Nombre): Especifica el nombre que se le asigne al control, u solo a
través de él se puede acceder a las propiedades y métodos de los controles.
Appearance (Apariencia): Tiene dos valores, 0 para que se vea plano, y 1 para
que se vea en tres dimensiones.
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 4
Back Color (Color de Fondo): Asigna el color de fondo sobre el que aparece el
texto o se dibujan los gráficos.
Fore Color (Color de Primer Plano): Asigna un color al primer plano (color de
la tinta o del texto).
Font (Fuente o Tipo de Letra): Asigna el tipo de letra, los atributos y el tamaño
de la fuente que se usa para un control de texto (el texto en un control TextBox,
el título de una etiqueta o de un botón de comando, etc.).
Caption (Título): Asigna el texto que aparece en muchos controles y que el
usuario no puede introducir, por ejemplo el texto de un control Label, el título de
un botón de comando, o de una cadena de caracteres que se muestran en un
cuadro de activación o en un botón de opción.
Text (Texto): Asigna el texto que se muestra en los controles y acepta que lo
introduzca el usuario, por ejemplo, el control TextBox.
Width (Ancho) y Height (Alto): Estas propiedades determinan las dimensiones
de los controles.
Left (Izquierda) Top (Arriba): Estas propiedades asignan las coordenadas de la
esquina superior izquierda del control y se expresan en las unidades del
contenedor (normalmente de un formulario).
Enabled (Activado): Su valor es True por omisión, y significa que el control se
puede usar. Si se pone False se desactiva el control, aparece en gris y no se
puede usar.
Visible: Esta propiedad se pone como False para que el control sea invisible.
METODO: Es un proceso que se ejecuta (predeterminado) según el control que
se tiene en uso. Los objetos también tienen métodos, que son las acciones que
pueden realizar. Los métodos se pueden considerar como las acciones que
realizan los objetos.
Ejemplo:
Clear, Setfocus, Refresh, Etc.
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 5
ALGUNOS MÉTODOS COMUNES:
Clear (Borrar): Algunos métodos son simples verbos que dicen al objeto la
acción que deben realizar. El método Clear le dice el control que borre su
contenido. Si el control es un ListBox, el método Clear elimina todas sus
entradas.
AddItem (Añadir Entrada), RemoveItem (Borrar Entrada): Estos métodos
se utilizan para manipular las entradas de un control ListBox o ComboBox. La
aplicación no necesita saber cómo están almacenadas las entradas en el control.
Lanza el método AddItem, y el control se encarga de añadir o insertar la nueva
entrada a la lista.
MoveFirst (Primero), MoveLast (Último), MoveNext (Siguiente),
MovePrevious (Anterior): Se sitúan en el primer, el último, el siguiente o el
anterior registro del objeto Recordset especificado y lo convierten en el registro
actual. Puede utilizar los métodos Move para desplazarse de un registro a otro
sin aplicar una condición.
Refresh (Actualizar): Fuerza que un formulario o control sea redibujado.
Generalmente, el dibujado de un formulario o control se controla
automáticamente cuando no ocurren eventos. Sin embargo, hay muchas
situaciones en las que se quiere actualizar inmediatamente un formulario o un
control.
Se puede usar el método Refresh con un control Data para abrir o reabrir la base
de datos (si han cambiado los valores de las propiedades DatabaseName,
ReadOnly, Exclusive o Connect) y reconstruir el dynaset de la propiedad
Recordset del control.
SetFocus (Enfoque): Mueve el enfoque al control o formulario especificado. El
objeto debe ser un objeto Form, un objeto MDIForm o control que pueda recibir
el enfoque. Después de invocar el método SetFocus, cualquier entrada del
usuario se dirige al formulario o control especificado.
Show: Presenta un objeto MDIForm o Form. Si el formulario especificado no
está cargado cuando se invoca el método Show, Visual Basic lo carga
automáticamente.
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 6
PROCEDIMENTOS, SUCESOS O EVENTOS: Es el proceso que se va a
ejecutar cuando se tome una acción con algún objeto o control.
EVENTO: Una acción reconocida por un objeto, como hacer clic con el Mouse
o presionar una tecla, para la que se puede escribir código para responder. Los
eventos pueden producirse como resultado de una acción del usuario o por
programa, o pueden ser disparados por el sistema.
Ejemplo:
Click encima de un botón de comando.
ALGUNOS SUCESOS COMUNES:
Los sucesos determinan la relación de los controles a las condiciones externas.
Los controles reconocen los sucesos, pero es la aplicación la que la maneja. Un
botón de comando es capaz de reconocer que alguien lo ha pulsado, pero no es
capaz de reaccionar al suceso si no se le proporciona un código que lo indique.
En otras palabras, somos nosotros los que debemos decir a Visual Basic lo que
debe hacer cuando el usuario hace clic sobre un determinado botón de comando.
Una vez que le especificamos la rutina para el suceso control Click, la subrutina
se ejecuta cada vez que se hace clic sobre este control.
Click (Clic), DblClick (Doble Clic): El suceso Click tiene lugar cuando el
usuario hace clic con el botón izquierdo del ratón; el DblClick tiene lugar
cuando el usuario hace doble clic en el botón izquierdo del ratón.
MouseDown (Ratón Abajo) MouseUp (Ratón Arriba): El suceso
MouseDown tiene lugar cuando se presiona el botón del ratón, y el MouseUp
cuando se suelta.
MouseMove (Movimientos del Ratón): Este suceso tiene lugar continuamente
mientras se mueve el ratón sobre un control.
KeyDown (Tecla Abajo), KeyUp (Tecla Arriba): El suceso KeyDown tiene
lugar cuando se pulsa una tecla, y el KeyUp cuando se suelta.
KeyPress (Pulsación de Tecla): El suceso KeyPress se usa habitualmente para
escribir gestores de teclado para cuadros de texto, porque este suceso tiene lugar
antes de que se muestre en el cuadro de texto el carácter pulsado.
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 7
VARIABLES:
En Visual Basic, como en cualquier otro lenguaje de programación, las variables
se usan para almacenar valores durante la ejecución de un programa. Las
variables son huecos en memoria en los que se puede dejar valores para
recogerlos cuando se necesiten.
En la mayoría de los lenguajes de programación, se deben definir las variables.
En otras palabras, se debe decir por adelantado al compilador las variables que se
van a usar. La razón por la que se hace así es para ayudar al compilador. Si el
compilador conoce las variables y sus tipos, puede producir un código más
optimizado.
TIPOS DE VARIABLES:
VARIABLES NUMÉRICAS: Almacenan números. Los números se pueden
almacenar con muchos formatos, dependiendo del tamaño de los números y de
su precisión. Esta es la razón por la que hay varios tipos de variables numéricas.
TIPO DE DATOS ¿QUE HACE?
Integer Almacena valores enteros entre –32768 y 32767.
Long Almacena enteros largos entre –2147483648 y
2147483647
Single Almacena números de coma flotante de precisión sencilla.
Puede representar los números negativos entre –
3.402823E38 y –1.401298E-45 y los números positivos
entre 1.401298E-45 y 3.402823E38. Observe que el tipo
Single no puede representar el número 0 con exactitud.
Double Almacena números de coma flotante de doble precisión.
Puede representar los números negativos entre –
1.79769313486232E308 y –4.94065645841247E-324 y
los números positivos entre 4.94065645841247E-324 y
1.79769313486232E308.
Currency Almacena números de coma fija con cuatro números
decimales. Este tipo puede representar números entre –
922337203685477.5808 y 922337203685477.5808
Para definir variables de cualquiera de los tipos que hemos visto, se usa la
sentencia Dim, seguida del nombre de la variable, la palabra clave As, y el tipo
de la variable.
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 8
Ejemplo;
Dim pagos As Single
VARIABLES DE TIPO STRING: Sólo almacenan texto, y se definen con la
siguiente sentencia:
Dim algúntexto As String
VARIABLES DE TIPO BOOLEAN: Almacena valores True/False
(Verdadero/Falso). Las variables Boolean son realmente enteros que tiene el
valor –1 (para True) y 0 (para False). Las variables Boolean se usan para la
comprobación de condiciones. Las variables Boolean se definen de esta manera:
Dim sexo As Boolean
VARIABLES DE TIPO DATE: Almacena fechas. Las variables tipo Date
presentan las fechas de acuerdo al formato de fecha corto reconocido por el
sistema. Se define de esta manera:
Dim fechadenacimiento As Date
SENTENCIAS DE CONTROL DE FLUJO:
If…Then…End If:
La estructura If comprueba una condición especifica y, si es verdadera, ejecuta
las sentencias que le siguen. La estructura If puede tener o una sola línea, o
varias líneas. Para ejecutar una sentencia condicional se usa la sintaxis de una
sola línea:
If condición Then sentencia
Visual Basic evalúa la condición y, si es verdadera, ejecuta la sentencia que
viene a continuación. Si la condición no es verdadera, continua con la sentencia
siguiente de la estructura.
Ejemplo:
If (sexo = “F”) or (sexo = “f”) Then resultado = (entradaestatura – 100) * 0.85
La sintaxis de varias líneas:
If condición Then
sentencias
End If
Ejemplo:
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 9
If (sexo = “F”) or (sexo = “f”) Then
resultado = (entradaestatura – 100) * 0.85
End If
If…Then…Else…End If:
Una variación de la sentencia If …Then es la sentencia If…Then…Else … End
If, que ejecuta un bloque de sentencias si la condición es verdadera, y otro
bloque si es falsa. La sintaxis de la sentencia If … Then … Else End If es:
If condición Then
Bloque de sentencias 1
Else
Bloque se sentencias 2
End If
Visual Basic evalúa la condición y, si es verdadera, ejecuta el primer bloque de
sentencias y luego salta a las sentencias que hay después de End If. Si la
condición es falsa, Visual Basic ignora el primer bloque de sentencias y ejecuta
las que hay a continuación de la palabra clave Else.
Otra variación de la sentencia If … Then … Else usa varias condiciones con la
palabra clave ElseIf:
If condición 1 Then
Bloque de sentencias 1
ElseIf condición 2 Then
Bloque se sentencias 2
ElseIf condición 3 Then
Bloque se sentencias 3
Else
Bloque se sentencias 4
End If
Podemos poner cualquier número de cláusulas desde arriba y, si una de ellas es
verdadera, se ejecuta el bloque de sentencias correspondiente. La cláusula Else
se ejecutará si ninguna de las expresiones anteriores es verdadera.
Ejemplo:
If puntuación < 50 Then
Resultado = “No admitido”
ElseIf puntuación < 75 Then
Resultado = “Pasable”
ElseIf puntuación > 90 Then
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 10
Resultado = “Muy bueno”
Else
Resultado = “Excelente”
EndIf
ESTRUCTURAS IF … THEN MÚLTIPLES:
Observamos que una vez que se ha encontrado una condición verdadera, Visual
Basic ejecuta las sentencias asociadas, salta el resto de las cláusulas y continua
con la ejecución del programa con las sentencias que hay después de End If. Por
esta razón podemos usar la siguiente estructura, más complicada, de varias
sentencias If simples:
If puntuación < 50 Then
Resultado= “No admitido”
End If
If puntuación < 75 And puntuación >= 50 Then
Resultado= “Pasable”
End If
If puntuación < 90 And puntuación >= 75 Then
Resultado= “Muy bueno”
End If
If puntuación > 90 Then
Resultado= “Excelente”
EndIf
Debido a que la estructura ElseIf puede crear código eficiente pero difícil de leer,
hay una alternativa: la sentencia Select Case.
SELECT CASE:
La estructura Select Case compara la misma expresión con diferentes valores. La
ventaja de esta sentencia sobre If … Then múltiples hace que el código sea más
fácil de leer y mantener.
La estructura Select Case comprueba una sola expresión, que se evalúa una sola
vez al principio de la estructura. El resultado de esta comprobación se compara
con varios valores y, si coincide con uno de ellos, se ejecuta el bloque de
sentencias correspondiente. Sintaxis:
Select Case expresión
Case valor 1
Bloque de sentencias 1
Case valor 2
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 11
Bloque de sentencias 2
.
.
.
Case Else
Bloque de sentencias
End Select
Ejemplo:
Select Case WeeDay(Date)
Case 1
NombreDía= “Lunes”
Mensaje= “Feliz semana”
Case 6
NombreDía= “Sábado”
Mensaje= “Feliz fin de semana”
Case 7
NombreDía= “Domingo”
Mensaje= “ ¿Has tenido un buen fin de semana”
Case Else
Mensaje= “ ¡Bienvenido de nuevo”
End Select
La variable expresión que se evalúa al principio de la sentencia, es el número de
día de la semana, tal como lo devuelve la función WeeDay(Date) (un valor en el
rango de 1 y 7). Después se compara el valor de la expresión con los valores que
tiene cada palabra clave Case. Si coincide, se ejecuta el bloque de sentencias que
viene a continuación, y después salta el programa a la sentencia siguiente al End
Select. El bloque de la sentencia Case Else es opcional y se ejecuta si no
coincide ninguno de los valores de las sentencias Case anteriores.
SENTENCIAS DE CONTROL DE BUCLE:
DO … LOOP:
Ejecuta un bloque de sentencias mientras la condición sea verdadera. Existen dos
variantes de la sentencia Do … Loop, pero ambas usan el mismo modelo básico.
Visual Basic evalúa la expresión y, si la expresión es falsa, el programa continúa
con las sentencias que van después del bucle.
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 12
El bucle se ejecuta mientras (While) la condición sea verdadera o hasta (Until)
que la condición se hace verdadera. Las dos variaciones del bucle Do usan las
palabras clave While y Until para especificar hasta cuándo se van a ejecutar las
sentencias. Para ejecutar un bloque sentencias mientras la condición sea
verdadera, se usa la siguiente sintaxis:
Do While condición
Bloque de sentencias
Loop
Para ejecutar un bloque de sentencias hasta que la condición se haga verdadera,
se usas esta otra sintaxis:
Do Until condición
Bloque de sentencias
Loop
Cuando Visual Basic ejecuta los bucles anteriores, evalúa primero la condición.
Si es falsa, se salta el bucle Do While o Do Until. Cuando se llega a la sentencia
Loop, Visual Basic evalúa de nuevo la expresión y repite el bloque de sentencias
si la expresión en el bucle Do While es verdadera, o si la expresión en el bucle
Do Until es falsa.
El bucle Do se repite todas las veces que sea necesario siempre que la condición
sea verdadera (o distinta de cero si la condición evalúa un número).
FOR … NEXT: El bucle For … Next es una de las estructuras de bucle más
antiguas dentro de los lenguajes de programación. A diferencia del bucle Do, el
bucle For … Next requiere que se conozca el número de veces que se van a
ejecutar las sentencias del bucle. Este bucle es una variable (llamada el contador
del bucle) que incrementa o disminuye su valor durante cada repetición del
bucle. Su sintaxis es:
For contador = principio To final [Step incremento]
Sentencias
Next [contador]
(las palabras entre corchetes son opcionales). Los argumentos contador,
principio, final e incremento son todos numéricos. El bucle se ejecuta hasta que
el contador llegue (o exceda) el valor final.
Cuando ejecuta un bucle For … Next, Visual Basic hace lo siguiente:
1. Pone contador con el valor de principio.
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 13
2. Comprueba si contador es mayor que final. Si lo es, sale del bucle. Si
incremento es negativo, Visual Basic comprueba si contador es menor que
final, en cuyo caso sale de bucle.
3. Ejecuta el bloque de sentencias.
4. Incrementa contador con el valor de incremento. Si no se ha especificado
incremento, el contador se incrementa en 1.
5. Repite las sentencias.
La parte más importante a tener en cuenta cuando se trabaja con bucle For Next
es que el contador del bucle se establece al principio del bucle. Si cambiamos el
valor de la variable final mediante una sentencia dentro del bucle, no se detecta
el cambio y se ejecuta como si no se hubiera producido.
WHILE … WEND: El bucle While … Wend ejecuta un bucle de sentencias
mientras una condición es verdadera. Este bucle tiene la siguiente sentencia:
While condición
Bloque de sentencias
Wend
Si condición es verdadera, se ejecuta todas las sentencias, y cuando se llega a la
sentencia Wend, se devuelve el control a la sentencia While, que evalúa de nuevo
a la condición. Si la condición sigue siendo verdadera, se repite el proceso. Si la
condición es falsa, el programa continúa con la sentencia que viene a
continuación del Wend.
PARTE PRACTICA
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 14
Objeto Propiedad Valor
Label1 BackColor (Color de relleno)
Caption (Título) Estilos de Alineación
Font (Fuente)
ForeColor (Color de letra)
Command1 Click [Link]
Private Sub Command1_Click() End Sub
[Link] = "" Command3 Click
[Link] Private Sub Command3_Click()
End Sub [Link] = "Bienvenido a Visual
Command2 Click Basic 4.0"
Private Sub Command2_Click() [Link]
[Link] = Date( ) End Sub
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 15
Objeto Propiedad Valor
Text1 MultiLine True
ScrollBars 3-Both
Objeto Propiedad Valor
Check1 Alignment 1 – Right Justify
Command1 Click pagos = Pmt(0.01 * [Link] / 12,
Private Sub Command1_Click() [Link], -[Link], 0,
[Link] = "" [Link])
[Link] = "" MsgBox Format$(pagos, "#.00")
[Link] = "" End Sub
[Link] = False
End Sub Command3 Click
Private Sub Command3_Click()
Command2 Click End
Private Sub Command2_Click() End Sub
Dim pagos As Single
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 16
Check1 Click Command1 Click
Private Sub Check1_Click() Private Sub Command1_Click()
If [Link] = True Then If [Link] = 16 Then
[Link] = False [Link] = 16
Else Else
[Link] = True If [Link] = 14 Then
End If [Link] = 14
End Sub Else
If [Link] = 12 Then
Check1= FontBold (Letra negrita) [Link] = 12
Check2= FontItalic (Letra cursiva) Else
Check3= FontUnderline (Letra [Link] = 10
subrayada) End If
Check4= FontStrikethru (Letra End If
tachada) End If
End Sub
Option1 Click
Private Sub Option1_Click() Command2 Click
[Link] = RGB(0, 0, 0) Private Sub Command2_Click()
End Sub [Link] = ""
[Link] = ""
Option1=RGB(0,0,0) [Link] = Unchecked
Option2=RGB(255,0,0) [Link] = Unchecked
Option3=RGB(0,255,0) [Link] = Unchecked
Option4=RGB(0,0,255) [Link] = Unchecked
[Link] = True
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 17
[Link] = RGB(0, 0, 0) Command3 Click
[Link] = 8 Private Sub Command3_Click()
[Link] End
End Sub End Sub
Objeto Propiedad Valor
Label1 Name EtiquetaEstatura
Label2 Name EtiquetaSexo
Label3 Name EtiquetaPeso
Label1 Name PesoIdeal
BordeStyle 1 – FixedSingle
Text1 Name EntradaEstatura
Text2 Name EntradaSexo
Command1 Name CalcularPeso
Command2 Name BorrarDatos
Command3 Name Salir
CalcularPeso Click
Private Sub CalcularPeso_Click()
estatura = [Link]
sexo = [Link]
If (sexo = "F") Or (sexo = "f") Then resultado = (estatura - 100) * 0.87
If (sexo = "M") Or (sexo = "m") Then resultado = (estatura - 100) * 0.92
[Link] = Str(resultado) + " Kilos"
End Sub
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 18
BorrarDatos Click End Sub
Private Sub BorrarDatos_Click()
[Link] = "" Salir Click
[Link] = "" Private Sub Salir_Click()
[Link] = "" End
[Link] End Sub
Ejemplo N° 7: Realizar un programa que:
Ingrese: Nombre, Nota 1, Nota 2 y Nota 3.
Halle e Imprima: Promedio y un mensaje si esta Aprobado ó Desaprobado.
Command1 Click mensaje = "Desaprobado"
Private Sub Command1_Click() End If
Dim n1 As Integer [Link] = mensaje
Dim n2 As Integer End Sub
Dim n3 As Integer Command2 Click
Dim pro As Integer Private Sub Command2_Click()
n1 = [Link] [Link] = ""
n2 = [Link] [Link] = ""
n3 = [Link] [Link] = ""
pro = (n1 + n2 + n3) / 3 [Link] = ""
[Link] = CInt(pro) [Link] = ""
If (pro >= 10.5) Then [Link] = ""
mensaje = "Aprobado" [Link]
Else End Sub
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 19
Command3 Click End
Private Sub Command3_Click() End Sub
Objeto Propiedad Valor
Combo1 List Abarrotes
Medicinas, etc.
Command1 Click End Sub
Private Sub Command1_Click()
If [Link] = "Agregar" Command3 Click
Then Private Sub Command3_Click()
[Link] (Text1) For x = 0 To [Link]
Else [Link] ([Link](x))
[Link] (Text1) Next
[Link] = "Agregar" [Link]
End If [Link]
[Link] = "" End Sub
[Link] = True
[Link] Command4 Click
End Sub Private Sub Command4_Click()
[Link] ([Link])
Command2 Click [Link]
Private Sub Command2_Click() End Sub
[Link] (List1)
[Link] ([Link])
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 20
Command5 Click [Link] (List1)
Private Sub Command5_Click() [Link]
Text1 = List1 ([Link])
[Link] ([Link]) Else
[Link] = "Actualizar" [Link] (List2)
[Link] [Link]
End Sub ([Link])
End If
Command6 Click End Sub
Private Sub Command6_Click()
[Link] Command3 Click
[Link] Private Sub Command3_Click()
End Sub If [Link] = ">" Then
For x = 0 To [Link]
Command6 Click [Link] ([Link](x))
Private Sub Command6_Click() Next
If [Link] = ">" Then [Link]
[Link] Else
Else For x = 0 To [Link]
[Link] [Link] ([Link](x))
End If Next
[Link] [Link]
End Sub End If
End Sub
List2 Click
Private Sub List2_Click() Command4 Click
[Link] = "<" Private Sub Command4_Click()
[Link] = "<<" If [Link] = ">" Then
End Sub [Link]
([Link])
List1 Click Else
Private Sub List1_Click() [Link]
[Link] = ">" ([Link])
[Link] = ">>" End If
End Sub [Link]
End Sub
Command2 Click
Private Sub Command2_Click() Command5 Click
If [Link] = ">" Then Private Sub Command5_Click()
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 21
If [Link] = ">" Then [Link] = "Actualizar"
Text1 = List1 [Link]
[Link] End Sub
([Link])
Else Command7 Click
Text1 = List2 Private Sub Command3_Click()
[Link] End
([Link]) End Sub
End If
Ejemplo N° 9: Realizar un programa que:
Ingrese: Nombre, Dirección, Cargo, Horas normales, Costo hora, Horas extras,
Costo hora extra.
Halle e Imprima: Sueldo básico, Descuento y Sueldo neto.
Sabiendo que:
Sueldo básico = (Horas normales * Costo hora) + (Horas extras * Costo hora
extra)
Descuento = 13% del Sueldo básico
Sueldo neto = Sueldo básico - Descuento
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 22
Command1 Click
Private Sub Command1_Click()
cargo = [Link]
If cargo = "Funcionario" Then [Link] = 10
If cargo = "Empleado" Then [Link] = 6
If cargo = "Obrero" Then [Link] = 8
[Link] = [Link] * 0.4 + [Link]
[Link] = ([Link] * [Link]) + ([Link] * [Link])
[Link] = [Link] * 0.13
[Link] = [Link] - [Link]
End Sub
Command2 Click [Link] = ""
Private Sub Command2_Click() [Link] = ""
[Link] = "" [Link] = ""
[Link] = "" [Link] = ""
[Link] = "" [Link]
[Link] = "" End Sub
[Link] = ""
[Link] = ""
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 23
Command3 Click End
Private Sub Command3_Click() End Sub
Objeto Propiedad Valor
List1 Visible False
Command1 Click If [Link] = Checked Then
Private Sub Command1_Click() d = [Link]
Dim a As String End If
Dim b As String [Link] ([Link] + " " +
Dim c As String [Link] + " " + a + " " + b + " " + c
Dim d As String + " " + d)
If [Link] = True Then [Link] = ""
a = [Link] [Link] = Unchecked
Else [Link] = Unchecked
a = [Link] [Link] = Unchecked
End If [Link] = ""
If [Link] = Checked Then [Link]
b = [Link] End Sub
End If
If [Link] = Checked Then Command2 Click
c = [Link] Private Sub Command2_Click()
End If [Link]
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 24
[Link] [Link] = False
End Sub [Link] = "Mostrar"
End If
Command3 Click [Link]
Private Sub Command3_Click() End Sub
If [Link] = "Mostrar"
Then Command4 Click
[Link] = True Private Sub Command4_Click()
[Link] = "Ocultar" End
Else End Sub
Ejemplo N° 11:
Objeto Propiedad Valor
Data1 DataBaseName C:\Mis docum\René\[Link]
RecordSource Agenda
Text1 DataSource Data1
DataField Código
Text2 DataSource Data1
DataField Nombre
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 25
Command1 Click
Private Sub Command1_Click() Command2 Click
[Link] Private Sub Command2_Click()
[Link] On Error Resume Next
End Sub [Link]
If Not [Link] Then
Command4 Click [Link]
Private Sub Command4_Click() ElseIf Not [Link] Then
[Link] [Link]
End Sub Else
MsgBox "Este era el último
Command5 Click registro de la tabla"
Private Sub Command5_Click() End If
End [Link]
End Sub End Sub
Command3 Click
Private Sub Command3_Click()
Dim a As String
Dim b As String
Dim c As String
Dim d As String
Dim e As String
Dim f As String
Do While Not [Link]
If Not IsNull([Link](0)) Then
a = [Link](0)
End If
If Not IsNull([Link](1)) Then
b = [Link](1)
End If
If Not IsNull([Link](2)) Then
c = [Link](2)
End If
If Not IsNull([Link](3)) Then
d = [Link](3)
End If
If Not IsNull([Link](4)) Then
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 26
e = [Link](4)
End If
If Not IsNull([Link](5)) Then
f = [Link](5)
End If
[Link] (a + " " + b + " " + c + " " + d + " " + e + " " + f)
[Link]
Loop
[Link]
[Link] = 0
[Link] = 0
End Sub
Ejemplo N° 11 – Formulario Padre (MDIForm1)
Archivo Edición Listado
Nuevo Ctrl + U Copiar Copiar Todo Ctrl + C General Ctrl + E
Abrir Ctrl + A Mover Ctrl + X Copiar Formato Limpiar Listado
Guardar Pegar Ctrl + V Copiar Furmula Imprimir Ctrl + P
Cerrar Borrar Ctrl + B
Salir Ctrl + S
Nuevo Click Borrar Click
Private Sub Nuevo_Click() Private Sub Borrar_Click()
[Link] On Error Resume Next
[Link] [Link]
End Sub If Not [Link] Then
[Link]
LimpiarListado Click ElseIf Not [Link]
Private Sub LimpiarListado_Click() Then
[Link] [Link]
End Sub us
Else
Salir Click MsgBox "Este era el último registro
Private Sub Salir_Click() de la tabla"
End End If
End Sub [Link]
End Sub
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 27
General Click
Private Sub General_Click()
Dim a As String
Dim b As String
Dim c As String
Dim d As String
Dim e As String
Dim f As String
Do While Not [Link]
If Not IsNull([Link](0)) Then
a = [Link](0)
End If
If Not IsNull([Link](1)) Then
b = [Link](1)
End If
If Not IsNull([Link](2)) Then
c = [Link](2)
End If
If Not IsNull([Link](3)) Then
d = [Link](3)
End If
If Not IsNull([Link](4)) Then
e = [Link](4)
End If
If Not IsNull([Link](5)) Then
f = [Link](5)
End If
[Link] (a + " " + b + " " + c + " " + d + " " + e + " " + f)
[Link]
Loop
[Link]
[Link] = 0
[Link] = 0
End Sub
Objeto Propiedad Valor
MDIform1 WindowsState 2 - Maximized
Form1 MDIChild True
WindowsState 2 - Maximized
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 28
Command1 Click If [Link] = Checked Then
Private Sub Command1_Click() d = [Link]
Dim a As String End If
Dim b As String If [Link] = Checked Then
Dim c As String e = [Link]
Dim d As String End If
Dim e As String [Link] ([Link] + " " +
If [Link] = True Then [Link] + " " + [Link] + " " +
a = [Link] [Link] + " " + [Link] + " "
Else +a+""+b+""+c+""+d+""+
a = [Link] e)
End If [Link] = ""
If [Link] = Checked Then [Link] = ""
b = [Link] [Link] = ""
End If [Link] = ""
If [Link] = Checked Then [Link] = ""
c = [Link] [Link] = Unchecked
End If [Link] = Unchecked
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 29
[Link] = Unchecked Command3 Click
[Link] = Unchecked Private Sub Command3_Click()
[Link] [Link]
End Sub [Link]
End Sub
Command2 Click
Private Sub Command2_Click() Command4 Click
[Link] ([Link]) Private Sub Command4_Click()
End Sub End
End Sub
Ejemplo N° 13 – Formulario Padre (MDIForm1)
Mantenimiento Producto Clientes
Producto Ctrl + P Nuevo Nuevo Ctrl + N
Clientes Ctrl + C Borrar Ctrl + B Borrar
Personal Boleta Listado Ctrl + I
Salir Ctrl + S Factura Agregar Ctrl + A
Listado Ctrl + L Calcular Parcial
Calcular Total Ctrl+T
Personal
Nuevo
Borrar Ctrl + O
Boleta de Pagos
Listado
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 30
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 31
Producto Click End Sub
Private Sub Producto_Click()
[Link] Personal Click
[Link] = True Private Sub Personal_Click()
[Link] = False [Link] = False
[Link] = False [Link] = False
End Sub [Link] = True
End Sub
Clientes Click
Private Sub Clientes_Click() Nuevo Click
[Link] Private Sub Nuevo_Click()
[Link] = False [Link]
[Link] = True [Link]
[Link] = False End Sub
Borrar Click
Private Sub Borrar_Click()
On Error Resume Next
[Link]
If Not [Link] Then
[Link]
ElseIf Not [Link] Then
[Link]
Else
MsgBox "Este era el último registro de la tabla"
End If
[Link]
End Sub
Listado Click
Private Sub Listado_Click()
Dim a As String
Dim b As String
Dim c As String
Dim d As String
Dim e As String
Dim f As String
Dim g As String
Do While Not [Link]
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 32
If Not IsNull([Link](0)) Then
a = [Link](0)
End If
If Not IsNull([Link](1)) Then
b = [Link](1)
End If
If Not IsNull([Link](2)) Then
c = [Link](2)
End If
If Not IsNull([Link](3)) Then
d = [Link](3)
End If
If Not IsNull([Link](4)) Then
e = [Link](4)
End If
If Not IsNull([Link](5)) Then
f = [Link](5)
End If
If Not IsNull([Link](6)) Then
g = [Link](6)
End If
[Link] (a + " - " + b + " - " + c + " - " + d + " - " + e + " -
" + f + " - " + g)
[Link]
Loop
[Link]
[Link] = 0
[Link] = 0
End Sub
Agregar Click
Private Sub Agregar_Click()
Dim c As Currency
Dim d As Currency
c = [Link]
d = [Link]
[Link] ([Link])
[Link] ([Link])
[Link] ([Link])
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 33
[Link] ([Link])
[Link] ([Link])
[Link] ([Link])
[Link] = Format$(c + d, "#.00")
End Sub
CalcularParcial Click End Sub
Private Sub CalcularParcial_Click()
Dim a As Currency Factura Click
Dim b As Currency Private Sub Factura_Click()
a = [Link] [Link]
b = [Link] End Sub
[Link] = a * b
End Sub Salir Click
Private Sub Salir_Click()
CalcularTotal Click End
Private Sub CalcularTotal_Click() End Sub
Dim e As Currency
Dim f As Currency Nuevo2 Click
e = [Link] Private Sub Nuevo2_Click()
[Link] = e * 0.18 [Link]
f = [Link] [Link]
[Link] = e + f End Sub
Borrar2 Click
Private Sub Borrar2_Click()
On Error Resume Next
[Link]
If Not [Link] Then
[Link]
ElseIf Not [Link] Then
[Link]
Else
MsgBox "Este era el último registro de la tabla"
End If
[Link]
End Sub
SAN LUIS René J. Hercilla Valdivia
VISUAL BASIC 34
Listado2 Click
Private Sub Listado2_Click()
Dim a As String
Dim b As String
Dim c As String
Dim d As String
Dim e As String
Do While Not [Link]
If Not IsNull([Link](0)) Then
a = [Link](0)
End If
If Not IsNull([Link](1)) Then
b = [Link](1)
End If
If Not IsNull([Link](2)) Then
c = [Link](2)
End If
If Not IsNull([Link](3)) Then
d = [Link](3)
End If
If Not IsNull([Link](4)) Then
e = [Link](4)
End If
[Link] (a + " - " + b + " - " + c + " - " + d + " - " + e)
[Link]
Loop
[Link]
[Link] = 0
[Link] = 0
End Sub
SAN LUIS René J. Hercilla Valdivia