Se te recomienda antes de hacer cualquier ejercicio leerlo completamente, al estarlo realizando anota todas las preguntas o dudas que te surjan para su aclaración en clase, así como los elementos nuevos que descubras.
Recuerda que no se trata de copiar y pegar o de transcribir contenidos, ante todo es descubrir su operatividad y comprobar su funcionalidad.
El menú de un restaurante rápido se muestra a continuación:
MENÚ | PRECIO |
Hamburguesa | 2.50 |
Cerveza | 4.00 |
Gaseosa | 3.00 |
Ensalada | 1.50 |
Salchichas | 2.00 |
Refresco | 1.00 |
Sopa | 1.50 |
Postre | 1.50 |
Se desea construir una aplicación que calcule las ventas totales al final del día, así como los impuestos a pagar del 16%.
La interfaz de entrada y salida deberá ser similar a la figura mostrada a continuación:
Para el diseño del cuadro de menú utilizaremos el control Microsoft Hierarchical FlexGrid. Para tal fin, seleccione el Menú Proyecto y elija la opción Componentes:
A continuación active la casilla de verificación Microsoft Hierarchical FlexGrid Control 6.0 OLEDB y haga click sobre el botón Aceptar. En seguida este control se añadirá al Cuadro de Herramientas.
Para el desarrollo de esta aplicación, proceda a ubicar los siguientes controles en el formulario:
10 etiquetas
10 cajas de texto
1 control MSHFlexGrid
3 botones de comando
En seguida, elabore el diseño de entrada y salida. Para ello proceda a establecer las propiedades según se indica a continuación:
Form1
Nombre | frmRestaurante |
BorderStyle | 3-Fixed Dialog |
Caption | Restaurante |
Moveable | False |
StartUpPosition | 2-CenterScreen |
Label1
Nombre | lblHamburguesa |
AutoSize | True |
Caption | Hamburguesa: |
Label2
Nombre | lblCerveza |
AutoSize | True |
Caption | Cerveza: |
Label3
Nombre | lblGaseosa |
AutoSize | True |
Caption | Gaseosa: |
Label4
Nombre | lblEnsalada |
AutoSize | True |
Caption | Ensalada: |
Label5
Nombre | lblSalchichas |
AutoSize | True |
Caption | Salchichas: |
Label6
Nombre | lblRefresco |
AutoSize | True |
Caption | Refresco: |
Label7
Nombre | lblSopa |
AutoSize | True |
Caption | Sopa: |
Label8
Nombre | lblPostre |
AutoSize | True |
Caption | Postre: |
Label9
Nombre | lblVentaTotal |
Caption | Venta Total |
Label10
Nombre | lblImpuesto |
Caption | Impuesto |
MSHFlexGrid1
Nombre | grdMenu |
Font | Arial (Negrita 10) |
FontFixed | Arial (Negrita 10) |
Text1
Nombre | txtHamburguesa |
Text |
Text2
Nombre | txtCerveza |
Text |
Text3
Nombre | txtGaseosa |
Text |
Text4
Nombre | txtEnsalada |
Text |
Text5
Nombre | txtSalchichas |
Text |
Text6
Nombre | txtRefresco |
Text |
Text7
Nombre | txtSopa |
Text |
Text8
Nombre | txtPostre |
Text |
Text9
Nombre | txtVentaTotal |
Locked | True |
Text |
Text10
Nombre | txtImpuesto |
Locked | True |
Text |
Command1
Nombre | cmdAceptar |
Caption | &Aceptar |
Command2
Nombre | cmdLimpiar |
Caption | &Limpiar |
Command3
Nombre | cmdSalir |
Caption | &Salir |
Picture | C:\Archivos de programa\Microsoft Visual Studio\Common\Graphics\Icons\Arrows\Point04.ico |
Style | 1-Graphical |
En primer lugar debemos cargar los datos a la cuadrícula. Esto lo vamos a realizar en tiempo de ejecución al momento de cargarse en memoria el formulario. Para ello, haga doble click sobre el formulario y añada el siguiente código:
Private Sub Form_Load()
grdMenu.Cols = 2
grdMenu.Rows = 9
grdMenu.FixedCols = 0
grdMenu.FixedRows = 1
grdMenu.TextArray(0) = “Menú”
grdMenu.TextArray(1) = “Precio”
grdMenu.TextArray(2) = “Hamburguesa”
grdMenu.TextArray(3) = “2.50”
grdMenu.TextArray(4) = “Cerveza”
grdMenu.TextArray(5) = “4.00”
grdMenu.TextArray(6) = “Gaseosa”
grdMenu.TextArray(7) = “3.00”
grdMenu.TextArray(8) = “Ensalada”
grdMenu.TextArray(9) = “1.50”
grdMenu.TextArray(10) = “Salchichas”
grdMenu.TextArray(11) = “2.00”
grdMenu.TextArray(12) = “Refresco”
grdMenu.TextArray(13) = “1.00”
grdMenu.TextArray(14) = “Sopa”
grdMenu.TextArray(15) = “1.50”
grdMenu.TextArray(16) = “Postre”
grdMenu.TextArray(17) = “1.50”
End Sub
Luego debemos añadir el código que se encargará de realizar los cálculos. Para tal fin haga doble clic sobre el botón Aceptar y proceda a ingresar lo siguiente:
Private Sub cmdAceptar_Click()
Dim intHamburguesa As Integer, intCerveza As Integer
Dim intGaseosa As Integer, intEnsalada As Integer
Dim intSalchichas As Integer, intRefresco As Integer
Dim intSopa As Integer, intPostre As Integer
Dim dblVentaTotal As Double, dblImpuesto As Double
intHamburguesa = Val(txtHamburguesa.Text)
intCerveza = Val(txtCerveza.Text)
intGaseosa = Val(txtGaseosa.Text)
intEnsalada = Val(txtEnsalada.Text)
intSalchichas = Val(txtSalchichas.Text)
intRefresco = Val(txtRefresco.Text)
intSopa = Val(txtSopa.Text)
intPostre = Val(txtPostre.Text)
dblVentaTotal = intHamburguesa * 2.5 + intCerveza * 4.0 _
+ intGaseosa * 3.0 + intEnsalada * 1.5 + intSalchichas * 2.0 _
+ intRefresco * 1.0 + intSopa * 1.5 + intPostre * 1.5
dblImpuesto = 0.18 * dblVentaTotal
txtVentaTotal.Text = Str(dblVentaTotal)
txtImpuesto.Text = Str(dblImpuesto)
End Sub
Luego, haga doble clic sobre el botón Limpiar y añada el siguiente código:
Private Sub cmdLimpiar_Click()
txtHamburguesa.Text = “” : txtCerveza.Text = “”
txtGaseosa.Text = “” : txtEnsalada.Text = “”
txtSalchichas.Text = “” : txtRefresco.Text = “”
txtSopa.Text = “” : txtPostre.Text = “”
txtVentaTotal.Text = “” : txtImpuesto.Text = “”
txtHamburguesa.SetFocus
End Sub
A continuación haga doble clic sobre el botón Salir y añada el siguiente código:
Private Sub cmdSalir_Click()
End
End Sub
Guarde y ejecute su aplicación.
Al terminar conteste los siguientes puntos:
- Señale como se agrega un componente que no aparece en la Caja de Herramientas común.
- Cuando utilizarías la propiedad Locked de un Textbox:
- Para que se utiliza la propiedad Picture en un Command. Para su correcto funcionamiento, de que otra propiedad requiere.
- Cual es la función que desempeñan los dos puntos en el procedimiento de Limpiar.
- De esta practica, describe lo que no entendiste o que consideras requiere de más práctica.