Práctica de Laboratorio Nº 7 Asignatura: Microcomputación II

Anuncio
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
Descargar