Separata de Visual Basic

VISUAL BASIC 1 VISUAL BASIC Es una aplicación orientada a Windows que nos permite crear programas, procesos, sistemas

Views 70 Downloads 3 File size 226KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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 2. 3. 4. 5.

13

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. Ejecuta el bloque de sentencias. Incrementa contador con el valor de incremento. Si no se ha especificado incremento, el contador se incrementa en 1. 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 Objeto Label1

14 Propiedad BackColor (Color de relleno) Caption (Título) Font (Fuente) ForeColor (Color de letra)

Command1 Click Private Sub Command1_Click() Text1.Text = "" Text1.SetFocus End Sub Command2 Click Private Sub Command2_Click() Text1.Text = Date( ) SAN LUIS

Valor Estilos de Alineación

Text1.SetFocus End Sub Command3 Click Private Sub Command3_Click() Text1.Text = "Bienvenido a Visual Basic 4.0" Text1.SetFocus End Sub René J. Hercilla Valdivia

VISUAL BASIC

15

Objeto Text1

Propiedad MultiLine ScrollBars

Valor True 3-Both

Objeto Check1

Propiedad Alignment

Valor 1 – Right Justify

Command1 Click Private Sub Command1_Click() Text1.Text = "" Text2.Text = "" Text3.Text = "" Check1.Value = False End Sub Command2 Click Private Sub Command2_Click() Dim pagos As Single

SAN LUIS

pagos = Pmt(0.01 * Text2.Text / 12, Text3.Text, -Text1.Text, 0, Check1.Value) MsgBox Format$(pagos, "#.00") End Sub Command3 Click Private Sub Command3_Click() End End Sub

René J. Hercilla Valdivia

VISUAL BASIC

Check1 Click Private Sub Check1_Click() If Text1.FontBold = True Then Text1.FontBold = False Else Text1.FontBold = True End If End Sub Check1= FontBold (Letra negrita) Check2= FontItalic (Letra cursiva) Check3= FontUnderline (Letra subrayada) Check4= FontStrikethru (Letra tachada) Option1 Click Private Sub Option1_Click() Text1.ForeColor = RGB(0, 0, 0) End Sub Option1=RGB(0,0,0) Option2=RGB(255,0,0) Option3=RGB(0,255,0) Option4=RGB(0,0,255) SAN LUIS

16

Command1 Click Private Sub Command1_Click() If Text2.Text = 16 Then Text1.FontSize = 16 Else If Text2.Text = 14 Then Text1.FontSize = 14 Else If Text2.Text = 12 Then Text1.FontSize = 12 Else Text1.FontSize = 10 End If End If End If End Sub Command2 Click Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" Check1.Value = Unchecked Check2.Value = Unchecked Check3.Value = Unchecked Check4.Value = Unchecked Option1.Value = True René J. Hercilla Valdivia

VISUAL BASIC

17

Text1.ForeColor = RGB(0, 0, 0) Text1.FontSize = 8 Text1.SetFocus End Sub

Objeto Label1 Label2 Label3 Label1 Text1 Text2 Command1 Command2 Command3

Propiedad Name Name Name Name BordeStyle Name Name Name Name Name

Command3 Click Private Sub Command3_Click() End End Sub

Valor EtiquetaEstatura EtiquetaSexo EtiquetaPeso PesoIdeal 1 – FixedSingle EntradaEstatura EntradaSexo CalcularPeso BorrarDatos Salir

CalcularPeso Click Private Sub CalcularPeso_Click() estatura = EntradaEstatura.Text sexo = EntradaSexo.Text If (sexo = "F") Or (sexo = "f") Then resultado = (estatura - 100) * 0.87 If (sexo = "M") Or (sexo = "m") Then resultado = (estatura - 100) * 0.92 PesoIdeal.Caption = Str(resultado) + " Kilos" End Sub

SAN LUIS

René J. Hercilla Valdivia

VISUAL BASIC

BorrarDatos Click Private Sub BorrarDatos_Click() EntradaEstatura.Text = "" EntradaSexo.Text = "" PesoIdeal.Caption = "" EntradaEstatura.SetFocus

18

End Sub Salir Click Private Sub Salir_Click() End 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 Private Sub Command1_Click() Dim n1 As Integer Dim n2 As Integer Dim n3 As Integer Dim pro As Integer n1 = Text2.Text n2 = Text3.Text n3 = Text4.Text pro = (n1 + n2 + n3) / 3 Label7.Caption = CInt(pro) If (pro >= 10.5) Then mensaje = "Aprobado" Else SAN LUIS

mensaje = "Desaprobado" End If Label8.Caption = mensaje End Sub Command2 Click Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Label7.Caption = "" Label8.Caption = "" Text1.SetFocus End Sub René J. Hercilla Valdivia

VISUAL BASIC

19

Command3 Click Private Sub Command3_Click()

Objeto Combo1

Propiedad List

Command1 Click Private Sub Command1_Click() If Command1.Caption = "Agregar" Then List1.AddItem (Text1) Else List1.AddItem (Text1) Command1.Caption = "Agregar" End If Text1.Text = "" Command1.Enabled = True Text1.SetFocus End Sub Command2 Click Private Sub Command2_Click() List2.AddItem (List1) List1.RemoveItem (List1.ListIndex) SAN LUIS

End End Sub

Valor Abarrotes Medicinas, etc. End Sub Command3 Click Private Sub Command3_Click() For x = 0 To List1.ListCount List2.AddItem (List1.List(x)) Next List1.Clear Text1.SetFocus End Sub Command4 Click Private Sub Command4_Click() List1.RemoveItem (List1.ListIndex) Text1.SetFocus End Sub

René J. Hercilla Valdivia

VISUAL BASIC Command5 Click Private Sub Command5_Click() Text1 = List1 List1.RemoveItem (List1.ListIndex) Command1.Caption = "Actualizar" Text1.SetFocus End Sub Command6 Click Private Sub Command6_Click() List1.Clear Text1.SetFocus End Sub Command6 Click Private Sub Command6_Click() If Command2.Caption = ">" Then List1.Clear Else List2.Clear End If Text1.SetFocus End Sub List2 Click Private Sub List2_Click() Command2.Caption = "" End Sub Command2 Click Private Sub Command2_Click() If Command2.Caption = ">" Then SAN LUIS

20 List2.AddItem (List1) List1.RemoveItem (List1.ListIndex) Else List1.AddItem (List2) List2.RemoveItem (List2.ListIndex) End If End Sub Command3 Click Private Sub Command3_Click() If Command2.Caption = ">" Then For x = 0 To List1.ListCount List2.AddItem (List1.List(x)) Next List1.Clear Else For x = 0 To List2.ListCount List1.AddItem (List2.List(x)) Next List2.Clear End If End Sub Command4 Click Private Sub Command4_Click() If Command2.Caption = ">" Then List1.RemoveItem (List1.ListIndex) Else List2.RemoveItem (List2.ListIndex) End If Text1.SetFocus End Sub Command5 Click Private Sub Command5_Click() René J. Hercilla Valdivia

VISUAL BASIC If Command2.Caption = ">" Then Text1 = List1 List1.RemoveItem (List1.ListIndex) Else Text1 = List2 List2.RemoveItem (List2.ListIndex) End If

21 Command1.Caption = "Actualizar" Text1.SetFocus End Sub Command7 Click Private Sub Command3_Click() End End Sub

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 = Text3.Text If cargo = "Funcionario" Then Text5.Text = 10 If cargo = "Empleado" Then Text5.Text = 6 If cargo = "Obrero" Then Text5.Text = 8 Text7.Text = Text5.Text * 0.4 + Text5.Text Label11.Caption = (Text4.Text * Text5.Text) + (Text6.Text * Text7.Text) Label12.Caption = Label11.Caption * 0.13 Label13.Caption = Label11.Caption - Label12.Caption End Sub Command2 Click Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" SAN LUIS

Text7.Text = "" Label11.Caption = "" Label12.Caption = "" Label13.Caption = "" Text1.SetFocus End Sub

René J. Hercilla Valdivia

VISUAL BASIC Command3 Click Private Sub Command3_Click()

Objeto Propiedad List1 Visible Command1 Click Private Sub Command1_Click() Dim a As String Dim b As String Dim c As String Dim d As String If Option1.Value = True Then a = Option1.Caption Else a = Option2.Caption End If If Check1.Value = Checked Then b = Check1.Caption End If If Check2.Value = Checked Then c = Check2.Caption End If SAN LUIS

23 End End Sub

Valor False If Check3.Value = Checked Then d = Check3.Caption End If List1.AddItem (Text1.Text + " " + Combo1.Text + " " + a + " " + b + " " + c + " " + d) Text1.Text = "" Check1.Value = Unchecked Check2.Value = Unchecked Check3.Value = Unchecked Combo1.Text = "" Text1.SetFocus End Sub Command2 Click Private Sub Command2_Click() List1.Clear René J. Hercilla Valdivia

VISUAL BASIC

24

Text1.SetFocus End Sub Command3 Click Private Sub Command3_Click() If Command3.Caption = "Mostrar" Then List1.Visible = True Command3.Caption = "Ocultar" Else

List1.Visible = False Command3.Caption = "Mostrar" End If Text1.SetFocus End Sub Command4 Click Private Sub Command4_Click() End End Sub

Ejemplo N° 11: Objeto Data1 Text1 Text2

SAN LUIS

Propiedad DataBaseName RecordSource DataSource DataField DataSource DataField

Valor C:\Mis docum\René\Agenda.MDB Agenda Data1 Código Data1 Nombre

René J. Hercilla Valdivia

VISUAL BASIC Command1 Click Private Sub Command1_Click() Data1.Recordset.AddNew Text1.SetFocus End Sub Command4 Click Private Sub Command4_Click() List1.Clear End Sub Command5 Click Private Sub Command5_Click() End End Sub

25

Command2 Click Private Sub Command2_Click() On Error Resume Next Data1.Recordset.Delete If Not Data1.Recordset.EOF Then Data1.Recordset.MoveNext ElseIf Not Data1.Recordset.BOF Then Data1.Recordset.MovePrevious Else MsgBox "Este era el último registro de la tabla" End If Data1.Refresh 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 Data1.Recordset.EOF If Not IsNull(Data1.Recordset(0)) Then a = Data1.Recordset(0) End If If Not IsNull(Data1.Recordset(1)) Then b = Data1.Recordset(1) End If If Not IsNull(Data1.Recordset(2)) Then c = Data1.Recordset(2) End If If Not IsNull(Data1.Recordset(3)) Then d = Data1.Recordset(3) End If If Not IsNull(Data1.Recordset(4)) Then SAN LUIS

René J. Hercilla Valdivia

VISUAL BASIC

26

e = Data1.Recordset(4) End If If Not IsNull(Data1.Recordset(5)) Then f = Data1.Recordset(5) End If List1.AddItem (a + " " + b + " " + c + " " + d + " " + e + " " + f) Data1.Recordset.MoveNext Loop Data1.Refresh List1.ListIndex = 0 Screen.MousePointer = 0 End Sub Ejemplo N° 11 – Formulario Padre (MDIForm1) Archivo Edición Nuevo Ctrl + U Copiar Copiar Todo Ctrl + C Abrir Ctrl + A Mover Ctrl + X Copiar Formato Guardar Pegar Ctrl + V Copiar Furmula Cerrar Borrar Ctrl + B Salir Ctrl + S Nuevo Click Private Sub Nuevo_Click() Form1.Data1.Recordset.AddNew Form1.Text1.SetFocus End Sub LimpiarListado Click Private Sub LimpiarListado_Click() Form1.List1.Clear End Sub Salir Click Private Sub Salir_Click() End End Sub

SAN LUIS

Listado General Ctrl + E Limpiar Listado Imprimir Ctrl + P

Borrar Click Private Sub Borrar_Click() On Error Resume Next Form1.Data1.Recordset.Delete If Not Form1.Data1.Recordset.EOF Then Form1.Data1.Recordset.MoveNext ElseIf Not Form1.Data1.Recordset.BOF Then Form1.Data1.Recordset.MovePrevio us Else MsgBox "Este era el último registro de la tabla" End If Fom1.Data1.Refresh End Sub

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 Form1.Data1.Recordset.EOF If Not IsNull(Form1.Data1.Recordset(0)) Then a = Form1.Data1.Recordset(0) End If If Not IsNull(Form1.Data1.Recordset(1)) Then b = Form1.Data1.Recordset(1) End If If Not IsNull(Form1.Data1.Recordset(2)) Then c = Form1.Data1.Recordset(2) End If If Not IsNull(Form1.Data1.Recordset(3)) Then d = Form1.Data1.Recordset(3) End If If Not IsNull(Form1.Data1.Recordset(4)) Then e = Form1.Data1.Recordset(4) End If If Not IsNull(Form1.Data1.Recordset(5)) Then f = Form1.Data1.Recordset(5) End If Form1.List1.AddItem (a + " " + b + " " + c + " " + d + " " + e + " " + f) Form1.Data1.Recordset.MoveNext Loop Form1.Data1.Refresh Form1.List1.ListIndex = 0 Screen.MousePointer = 0 End Sub Objeto MDIform1 Form1 SAN LUIS

Propiedad WindowsState MDIChild WindowsState

Valor 2 - Maximized True 2 - Maximized René J. Hercilla Valdivia

VISUAL BASIC

Command1 Click Private Sub Command1_Click() Dim a As String Dim b As String Dim c As String Dim d As String Dim e As String If Option1.Value = True Then a = Option1.Caption Else a = Option2.Caption End If If Check1.Value = Checked Then b = Check1.Caption End If If Check2.Value = Checked Then c = Check2.Caption End If SAN LUIS

28

If Check3.Value = Checked Then d = Check3.Caption End If If Check4.Value = Checked Then e = Check4.Caption End If List1.AddItem (Text1.Text + " " + Text2.Text + " " + Text3.Text + " " + Text4.Text + " " + Combo1.Text + " " +a+""+b+""+c+""+d+""+ e) Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Combo1.Text = "" Check1.Value = Unchecked Check2.Value = Unchecked René J. Hercilla Valdivia

VISUAL BASIC Check3.Value = Unchecked Check4.Value = Unchecked Text1.SetFocus End Sub Command2 Click Private Sub Command2_Click() List1.RemoveItem (List1.ListIndex) End Sub

29 Command3 Click Private Sub Command3_Click() List1.Clear Text1.SetFocus End Sub Command4 Click Private Sub Command4_Click() End End Sub

Ejemplo N° 13 – Formulario Padre (MDIForm1) Mantenimiento Producto Producto Ctrl + P Nuevo Clientes Ctrl + C Borrar Ctrl + B Personal Boleta Salir Ctrl + S Factura Agregar Ctrl + A Listado Ctrl + L Calcular Parcial Calcular Total Ctrl+T

Clientes Nuevo Ctrl + N Borrar Listado Ctrl + I

Personal Nuevo Borrar Ctrl + O Boleta de Pagos Listado

SAN LUIS

René J. Hercilla Valdivia

VISUAL BASIC

SAN LUIS

30

René J. Hercilla Valdivia

VISUAL BASIC Producto Click Private Sub Producto_Click() Form1.Show producto1.Enabled = True clientes1.Enabled = False personal1.Enabled = False End Sub Clientes Click Private Sub Clientes_Click() Form2.Show producto1.Enabled = False clientes1.Enabled = True personal1.Enabled = False

31 End Sub Personal Click Private Sub Personal_Click() producto1.Enabled = False clientes1.Enabled = False personal1.Enabled = True End Sub Nuevo Click Private Sub Nuevo_Click() Form1.Data1.Recordset.AddNew Form1.Text1.SetFocus End Sub

Borrar Click Private Sub Borrar_Click() On Error Resume Next Form1.Data1.Recordset.Delete If Not Form1.Data1.Recordset.EOF Then Form1.Data1.Recordset.MoveNext ElseIf Not Form1.Data1.Recordset.BOF Then Form1.Data1.Recordset.MovePrevious Else MsgBox "Este era el último registro de la tabla" End If Form1.Data1.Refresh 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 Form1.Data1.Recordset.EOF SAN LUIS

René J. Hercilla Valdivia

VISUAL BASIC

32

If Not IsNull(Form1.Data1.Recordset(0)) Then a = Form1.Data1.Recordset(0) End If If Not IsNull(Form1.Data1.Recordset(1)) Then b = Form1.Data1.Recordset(1) End If If Not IsNull(Form1.Data1.Recordset(2)) Then c = Form1.Data1.Recordset(2) End If If Not IsNull(Form1.Data1.Recordset(3)) Then d = Form1.Data1.Recordset(3) End If If Not IsNull(Form1.Data1.Recordset(4)) Then e = Form1.Data1.Recordset(4) End If If Not IsNull(Form1.Data1.Recordset(5)) Then f = Form1.Data1.Recordset(5) End If If Not IsNull(Form1.Data1.Recordset(6)) Then g = Form1.Data1.Recordset(6) End If Form1.List1.AddItem (a + " - " + b + " - " + c + " - " + d + " - " + e + " " + f + " - " + g) Form1.Data1.Recordset.MoveNext Loop Form1.Data1.Refresh Form1.List1.ListIndex = 0 Screen.MousePointer = 0 End Sub Agregar Click Private Sub Agregar_Click() Dim c As Currency Dim d As Currency c = Form3.Label12.Caption d = Form3.Label16.Caption Form3.List1.AddItem (Form3.Text6.Text) Form3.List2.AddItem (Form3.Text7.Text) Form3.List3.AddItem (Form3.Text8.Text) SAN LUIS

René J. Hercilla Valdivia

VISUAL BASIC

33

Form3.List4.AddItem (Form3.Text9.Text) Form3.List5.AddItem (Form3.Text10.Text) Form3.List6.AddItem (Form3.Label12.Caption) Form3.Label16.Caption = Format$(c + d, "#.00") End Sub CalcularParcial Click Private Sub CalcularParcial_Click() Dim a As Currency Dim b As Currency a = Form3.Text8.Text b = Form3.Text9.Text Form3.Label12.Caption = a * b End Sub CalcularTotal Click Private Sub CalcularTotal_Click() Dim e As Currency Dim f As Currency e = Form3.Label16.Caption Form3.Label17.Caption = e * 0.18 f = Form3.Label17.Caption Form3.Label18.Caption = e + f

End Sub Factura Click Private Sub Factura_Click() Form3.Show End Sub Salir Click Private Sub Salir_Click() End End Sub Nuevo2 Click Private Sub Nuevo2_Click() Form2.Data1.Recordset.AddNew Form2.Text1.SetFocus End Sub

Borrar2 Click Private Sub Borrar2_Click() On Error Resume Next Form2.Data1.Recordset.Delete If Not Form2.Data1.Recordset.EOF Then Form2.Data1.Recordset.MoveNext ElseIf Not Form2.Data1.Recordset.BOF Then Form2.Data1.Recordset.MovePrevious Else MsgBox "Este era el último registro de la tabla" End If Form2.Data1.Refresh 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 Form2.Data1.Recordset.EOF If Not IsNull(Form2.Data1.Recordset(0)) Then a = Form2.Data1.Recordset(0) End If If Not IsNull(Form2.Data1.Recordset(1)) Then b = Form2.Data1.Recordset(1) End If If Not IsNull(Form2.Data1.Recordset(2)) Then c = Form2.Data1.Recordset(2) End If If Not IsNull(Form2.Data1.Recordset(3)) Then d = Form2.Data1.Recordset(3) End If If Not IsNull(Form2.Data1.Recordset(4)) Then e = Form2.Data1.Recordset(4) End If Form2.List1.AddItem (a + " - " + b + " - " + c + " - " + d + " - " + e) Form2.Data1.Recordset.MoveNext Loop Form2.Data1.Refresh Form2.List1.ListIndex = 0 Screen.MousePointer = 0 End Sub

SAN LUIS

René J. Hercilla Valdivia