Práctica de Laboratorio Nº 7 Asignatura: Microcomputación II Unidad : I Técnicas de Programación con Visual Basic Tema : Controles Avanzados: MSHFlexGrid, Common Dialogs, Shape, Etc. Docentes : Lic. Luis Ramirez Milla – Ing. Pedro Manco Pulido I.-Objetivo. 1. Presentar los procedimientos y funciones que permiten agregar funcionalidad en la resolución de problemas. II. Requisitos previos. 1. Manejo eficiente del sistema operativo 2. Conocimiento del Visual Basic 6.0 III.- Programas a utilizar. 1. Sistema Operativo Windows XP o Windows Vista. 2. Microsoft Visual Basic 6.0 IV.- Introducción teórica. Los procedimientos y funciones son bloques de código que pueden ser reutilizados. Las funciones se diferencian de los procedimientos en que retornan un valor el mismo que puede ser asignado a una variable o alguna propiedad de un control. V.- Resumen del desarrollo de la práctica. Mostrar la ventaja del uso de funciones y procedimientos. VI.- Desarrollo de la práctica. Agregar en cuadro de herramientas el Controles adicionales. Para ello Seleccionar en el menú Proyecto la opción Componentes y activar: Microsoft Windows Common Control 6.0, Microsoft Windows Common Control-2 6.0, Microsoft Windows Common Control-3 6.0, Luego Aceptar. Inmediatamente se inserta los controles respectivos en el cuadro de herramientas. Diseñar un formulario como se muestra en la siguiente imagen. Los ficheros de este proyecto se llamarán TablaOpBasicas.vbp y TablaOpBasicas.frm Control formulario frame optionButton Propiedad Valor Name frmTablaOpBasicas Caption Name Caption Tabla Operaciones Basicas Name Caption optsuma + optionButton Name Caption Name optionButton Caption Name optionButton Caption Name label Caption Name textbox text CommandButton Name Caption Control UpDown fraOperaciones Operaciones optresta optmultiplicacion x optdivision / Label1 Tabla del txtTablaDel 1 cmdsalir Salir textbox label textbox label text Propiedad Name Valor UpDnTablaDel AutoBuddy BuddyControl SyncBuddy true txtTablaDel true Name Index txtnumero 0 text name Index Caption Name Index text Name Index Caption Name Index 1 lbloperador 0 ? txtFactor 0 LBLigual 0 = txtResultado 0 text Notas: txtnumero se define 12 veces como un arreglo de controles (indices del 0 al 11) lbloperador se define 12 veces como un arreglo de controles (indices del 0 al 11) txtOperador se define 12 veces como un arreglo de controles (indices del 0 al 11) LBLigual se define 12 veces como un arreglo de controles (indices del 0 al 11) txtResultado se define 12 veces como un arreglo de controles (indices del 0 al 11) A continuación se muestra el código correspondiente a los procedimientos de este ejemplo. Option Explicit Dim IFactor As Integer Private Sub CmdSalir_Click() End End Sub Private Sub Form_Load() For IFactor = 0 To 11 TxtFactor(IFactor).Text = "1" Next End Sub Private Sub OptDivision_Click() For IFactor = 0 To 11 LblOperador(IFactor).Caption = "/" Next Proc_Division End Sub Private Sub OptMultiplicacion_Click() For IFactor = 0 To 11 LblOperador(IFactor).Caption = "x" Next Proc_Multiplicacion End Sub Private Sub OptResta_Click() For IFactor = 0 To 11 LblOperador(IFactor).Caption = "-" Next Proc_Resta End Sub Private Sub OptSuma_Click() For IFactor = 0 To 11 LblOperador(IFactor).Caption = "+" Next Proc_Suma End Sub Private Sub UpDwTablaDel_Change() For IFactor = 0 To 11 TxtFactor(IFactor).Text = Format(Val(TxtTablaDel.Text), "#0") If OptSuma.Value Then Proc_Suma ElseIf OptResta.Value Then Proc_Resta ElseIf OptMultiplicacion Then Proc_Multiplicacion Else Proc_Division End If Next End Sub Private Sub Proc_Suma() Dim IFactor1 As Integer For IFactor1 = 0 To 11 TxtResultado(IFactor1).Text = Func_Suma(Val(TxtNumero(IFactor1).Text) , Val(TxtTablaDel.Text)) Next End Sub Private Sub Proc_Resta() Dim IFactor1 As Integer For IFactor1 = 0 To 11 TxtResultado(IFactor1).Text = Val(TxtNumero(IFactor1).Text) - Val(TxtTablaDel.Text) Next End Sub Private Sub Proc_Multiplicacion() Dim IFactor1 As Integer For IFactor1 = 0 To 11 TxtResultado(IFactor1).Text = Val(TxtNumero(IFactor1).Text) * Val(TxtTablaDel.Text) Next End Sub Private Sub Proc_Division() Dim IFactor1 As Integer For IFactor1 = 0 To 11 TxtResultado(IFactor1).Text = Val(TxtNumero(IFactor1).Text) / Val(TxtTablaDel.Text) Next End Sub Private Function Func_Suma(Op1 As Integer, Op2 As Integer) As Integer Func_Suma = Op1 + Op2 End Function