Capitulo XII
INDICE


CAPITULO XII


Arreglos                              01
       Ejercicio 84                   01
       Ejercicio...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005


                                     ARREGLOS...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005

frmAplicacion84 (Evento Load)

     Dias(0)   ...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005


       Para este caso los controles se llamar...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005
    Me.txtArray21.Text     =   Arreglo(2,   1)
...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005
     REM de la burbuja
     For J = 0 To 15
   ...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005


86. Esta aplicación nos permite manejar eleme...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005


      Para el nombre de los botones será el ...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005


Crearemos un procedimiento llamado LlenarCont...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005

btnSumaCol (Evento Click)

     Dim ResSuma(3)...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005

btnCol2 (Evento Click)

     Suma = 0
     For...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005

btnFila4 (Evento Click)

     Suma = 0
     Fo...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005


87. Esta aplicación nos permite visualizar te...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005

      Una vez diseñada la interfaz y asignada ...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005


tmrAnimacion (Evento Tick)

     Dim Fuente A...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005



                          CONTROL PICTUREBOX...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005


        Una vez ubicado en la propiedad image...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005



88. Esta aplicación nos permite hallar el ár...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005


tmrAnimacion (Evento Tick)

     If Me.picLun...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005



                    CONTROL LISTBOX Y COMBOB...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005


       Los controles tendrán su nombre respec...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005


btnOrdenar (Evento Click)

     Dim NumItems,...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005



btnEjecutar (Evento Click)

     Dim NumItem...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005

Para Saber el Numero de los Elementos de la Li...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005


       Primero comencemos con los nombres de ...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005

btnResultados (Evento Click)

     Dim SubTota...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005

      Y el único que contendrá el formulario v...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005


       Ahora pondremos los nombres respectivo...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005


Declaramos variables a Nivel del Formulario

...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005

Función ModeloPCs esta función almacena los di...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005

Función ModeloUSBs esta función almacena los d...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005

Función ModeloScaners esta función almacena lo...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005
    DescripcionPC(10)   =   "SPECTEK 512MB PC 8...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005
    DescripcionPC(66)   =   "SPECTEK 512MB PC 5...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005

Función LlenarModelos esta función Llena los m...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005
            Case 1
               For J = 3 To ...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005
             Case 1
                For J = 2 T...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005

frmAplicacion90 (Evento FormClosing)

     If ...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005
        Me.btnDescripcion.Enabled = False
     ...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005
cboMarca (Evento SelectedIndexChanged)

    Cal...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005
                 Case 0 : Me.lblPrecUnit.Text =...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005
                 Case 0 : Me.lblPrecUnit.Text =...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005
                 Case 5 : Me.lblPrecUnit.Text  ...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005
             Case 1
                Select Case...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005
              MsgBox("Escoja El Modelo del Arti...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005

btnCancelar (Evento Click)

     Dim Index As ...
Lenguaje de Programación – Capitulo XII

Programando con Visual Basic 2005


        Bueno señores con esto acaba la Octav...
Próxima SlideShare
Cargando en…5
×

Entrega 8 arreglos - controles - gráficos

571 visualizaciones

Publicado el

Publicado en: Educación
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
571
En SlideShare
0
De insertados
0
Número de insertados
1
Acciones
Compartido
0
Descargas
25
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Entrega 8 arreglos - controles - gráficos

  1. 1. Capitulo XII
  2. 2. INDICE CAPITULO XII Arreglos 01 Ejercicio 84 01 Ejercicio 85 02 Ejercicio 86 06 GDI 11 Los Gráficos GDI 11 Ejercicio 87 12 Control PictureBox 15 Ejercicio 88 17 Control ListBox y ComboBox 19 Ejemplo 19 Ejercicio 89 23 Ejercicio 90 25 Despedida 46
  3. 3. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 ARREGLOS Como hemos visto en el capitulo VI de la entrega 4, hay dos tipos de arreglos, que son los unidimensionales y los multidimensional, como lo sabemos, estos arreglos nos permiten almacenar una cierta información, es como si fuera nuestra base de datos, ahora es aquí donde los que no me entendieron en la entrega 4 cuando hable de arreglos, lo puedan entender aquí con un ejemplo, primero veremos un ejercicio de un arreglo unidimensional, y de ahí uno bidimensional y al ultimo de esta entrega veremos un ejercicio sobre una pro forma de insumos de computo, hecho con arreglos, funciones y procedimientos. 84. Esta aplicación nos permite ingresar un número del 1 al 7 y visualizar el nombre del día de la semana. Para esta aplicación los nombres de los controles son los siguientes:  El TextBox1 se llamara txtNumero  El Label2 se llamara lblNombDia  El Button1 se llamara btnOk  El Button2 se llamara btnSalir Si se preguntan por que no puse los nombres de cada control con una figura de llamada, lo que pasa, es que uno se tiene que acostumbra a ponerle nombre a los controles con su prefijo y que el nombre que le pongan tiene que ir con referencia a lo que va a capturar, hacer, mostrar etc. Declaramos variables a Nivel del Formulario Dim Dias(6) As String Joel Martin Chuco Marrufo 1
  4. 4. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 frmAplicacion84 (Evento Load) Dias(0) = "Lunes" Dias(1) = "Martes" Dias(2) = "Miercoles" Dias(3) = "Jueves" Dias(4) = "Viernes" Dias(5) = "Sábado" Dias(6) = "Domingo" btnOk (Evento Click) Dim N As Integer N = Val(Me.txtNumero.Text) If N >= 1 And N <= 7 Then Me.lblNombDia.Text = "El número ingresado representa el día " + CStr(Dias(N - 1)) Else MsgBox("Solo números del 1 al 7", MsgBoxStyle.Information, "Por Favor") Me.txtNumero.Text = "" Me.txtNumero.Focus() End If btnSalir (Evento Click) Me.Close() 85. Esta aplicación llena los valores al azar entre 1 y 80 en un array de 4 x 4, luego se pueden ordenar en forma ascendente y restaurar los valores iniciales. Joel Martin Chuco Marrufo 2
  5. 5. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Para este caso los controles se llamaran:  Los Buttons se llamaran de acuerdo al texto que llevan, anteponiéndose su prefijo, ejemplo: el botón Salir se llamara btnSalir.  En el caso de las cajas de texto, aunque le pueden colocar unos Labels, el nombre de cada control será así, teniendo en cuenta que la tabla representa a una matriz y al dibujo de los controles. txtArray00 txtArray01 txtArray02 txtArray03 txtArray10 txtArray11 txtArray12 txtArray13 txtArray20 txtArray21 txtArray22 txtArray23 txtArray30 txtArray31 txtArray32 txtArray33 Una vez diseñada la interfaz y asignada con sus nombres respectivamente, procederemos a codificar. Declaramos variables a Nivel del Formulario Dim Arreglo(3, 3), Restaurar(3, 3) As Integer Dim Llenar As Boolean Crearemos un procedimiento llamado LlenarArray, que nos permitirá almacenar el array con valores del 1 al 80. Sub LlenarArray() Dim J, K As Integer For J = 0 To 3 For K = 0 To 3 Arreglo(J, K) = CInt((80 - 1 + 1) * Rnd() + 1) Next Next End Sub Crearemos un procedimiento llamado LlenarControles, que nos permitirá almacenar los valores del array en las cajas de texto. Sub LlenarControles() Me.txtArray00.Text = Arreglo(0, 0) Me.txtArray01.Text = Arreglo(0, 1) Me.txtArray02.Text = Arreglo(0, 2) Me.txtArray03.Text = Arreglo(0, 3) Me.txtArray10.Text = Arreglo(1, 0) Me.txtArray11.Text = Arreglo(1, 1) Me.txtArray12.Text = Arreglo(1, 2) Me.txtArray13.Text = Arreglo(1, 3) Me.txtArray20.Text = Arreglo(2, 0) Joel Martin Chuco Marrufo 3
  6. 6. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Me.txtArray21.Text = Arreglo(2, 1) Me.txtArray22.Text = Arreglo(2, 2) Me.txtArray23.Text = Arreglo(2, 3) Me.txtArray30.Text = Arreglo(3, 0) Me.txtArray31.Text = Arreglo(3, 1) Me.txtArray32.Text = Arreglo(3, 2) Me.txtArray33.Text = Arreglo(3, 3) End Sub btnNuevo (Evento Click) Me.txtArray00.Text = "" Me.txtArray01.Text = "" Me.txtArray02.Text = "" Me.txtArray03.Text = "" Me.txtArray10.Text = "" Me.txtArray11.Text = "" Me.txtArray12.Text = "" Me.txtArray13.Text = "" Me.txtArray20.Text = "" Me.txtArray21.Text = "" Me.txtArray22.Text = "" Me.txtArray23.Text = "" Me.txtArray30.Text = "" Me.txtArray31.Text = "" Me.txtArray32.Text = "" Me.txtArray33.Text = "" Me.txtArray00.Focus() Llenar = False btnLlenar (Evento Click) Call LlenarArray() Call LlenarControles() Me.btnOrdenar.Enabled = True Me.btnRestaurar.Enabled = False Llenar = True btnOrdenar (Evento Click) Dim J, K, X, May As Integer Dim Temp(15) As Integer X=0 REM Guardando los valores del array Arreglo en un array Restaurar REM Almacendo los valores del array Arreglo en un array Temp For J = 0 To 3 For K = 0 To 3 Restaurar(J, K) = Arreglo(J, K) Temp(X) = Arreglo(J, K) X=X+1 Next Next REM Ordenando los valores del array Temp mediante el método Joel Martin Chuco Marrufo 4
  7. 7. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 REM de la burbuja For J = 0 To 15 For K = 0 To 15 If K < 15 Then If Temp(K) > Temp(K + 1) Then May = Temp(K) Temp(K) = Temp(K + 1) Temp(K + 1) = May End If End If Next Next X=0 REM Asignando los valores del array Temp ordenados en el array Arreglo For J = 0 To 3 For K = 0 To 3 Arreglo(J, K) = Temp(X) X=X+1 Next Next Call LlenarControles() Me.btnRestaurar.Enabled = True btnRestaurar (Evento Click) Dim J, K As Integer For J = 0 To 3 For K = 0 To 3 Arreglo(J, K) = Restaurar(J, K) Next Next Call LlenarControles() btnSalir (Evento Click) Me.Close() Bueno con estos dos ejercicios, creo que ya se les esta quedando en claro lo de los arrays no?, wueno si no es así, haremos un ultimo ejercicio de un arreglo bidimensional, aunque otros seguro estarán diciendo, por que no toca el tema de matriz de matrices?, wueno no lo hago para que no se confundan, además la programación a la que yo estoy haciendo es a la programación comercial, creo que es en donde hay mas trabajo que hacer no?, y además para que complicarnos la vida, si tenemos diseñadores de base de datos, como lo es el MSACCESS o el SQLSERVER, con eso diseñadores, no necesitaremos mucho de arreglos, pero siempre es bueno aprender aunque sea los mas principales. Joel Martin Chuco Marrufo 5
  8. 8. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 86. Esta aplicación nos permite manejar elementos de un Array de 4 x 4. Estos elementos son valores numéricos de tipo entero con los cuales se realizaran procesos como Suma de Filas, de Columnas y Diagonales. Para los nombres de los controles, ósea cajas de texto y etiquetas, será según el cuadro. txtArreglo00 txtArreglo01 txtArreglo02 txtArreglo03 lblF1 txtArreglo10 txtArreglo11 txtArreglo12 txtArreglo13 lblF2 txtArreglo20 txtArreglo21 txtArreglo22 txtArreglo23 lblF3 txtArreglo30 txtArreglo31 txtArreglo32 txtArreglo33 lblF4 lblD2 lblC1 lblC2 lblC3 lblC4 lblD1 Joel Martin Chuco Marrufo 6
  9. 9. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005  Para el nombre de los botones será el siguiente: Text Name Limpiar el Array btnLimpArray Limpiar los Resultados btnLimpResult Suma las Columnas btnSumaCol Suma las Filas btnSumaFila Llenar el Array btnLlenarArray Columna 1 btnCol1 Columna 2 btnCol2 Columna 3 btnCol3 Columna 4 btnCol4 Fila 1 btnFila1 Fila 2 btnFila2 Fila 3 btnFila3 Fila 4 btnFila4 Diagonal Nº 1 [ ] btnDiagonal1 Diagonal Nº 2 [ / ] btnDiagonal2 Una vez diseñada la interfaz y asignada con sus nombres respectivamente, procederemos a codificar. Declaramos variables a Nivel del Formulario Dim Arreglo(3, 3) As Integer Dim J, K, Suma As Integer Crearemos un procedimiento llamado LlenarArray, que nos permitirá almacenar el array con valores del 1 al 100. Sub LlenarArreglo() For J = 0 To 3 For K = 0 To 3 Arreglo(J, K) = CInt((100 - 1 + 1) * Rnd() + 1) Next Next End Sub Joel Martin Chuco Marrufo 7
  10. 10. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Crearemos un procedimiento llamado LlenarControles, que nos permitirá almacenar los valores del array en las cajas de texto. Sub LlenarControles() Me.txtArreglo00.Text = Arreglo(0, 0) Me.txtArreglo01.Text = Arreglo(0, 1) Me.txtArreglo02.Text = Arreglo(0, 2) Me.txtArreglo03.Text = Arreglo(0, 3) Me.txtArreglo10.Text = Arreglo(1, 0) Me.txtArreglo11.Text = Arreglo(1, 1) Me.txtArreglo12.Text = Arreglo(1, 2) Me.txtArreglo13.Text = Arreglo(1, 3) Me.txtArreglo20.Text = Arreglo(2, 0) Me.txtArreglo21.Text = Arreglo(2, 1) Me.txtArreglo22.Text = Arreglo(2, 2) Me.txtArreglo23.Text = Arreglo(2, 3) Me.txtArreglo30.Text = Arreglo(3, 0) Me.txtArreglo31.Text = Arreglo(3, 1) Me.txtArreglo32.Text = Arreglo(3, 2) Me.txtArreglo33.Text = Arreglo(3, 3) End Sub btnLimpArray (Evento Click) Me.txtArreglo00.Text = "" Me.txtArreglo01.Text = "" Me.txtArreglo02.Text = "" Me.txtArreglo03.Text = "" Me.txtArreglo10.Text = "" Me.txtArreglo11.Text = "" Me.txtArreglo12.Text = "" Me.txtArreglo13.Text = "" Me.txtArreglo20.Text = "" Me.txtArreglo21.Text = "" Me.txtArreglo22.Text = "" Me.txtArreglo23.Text = "" Me.txtArreglo30.Text = "" Me.txtArreglo31.Text = "" Me.txtArreglo32.Text = "" Me.txtArreglo33.Text = "" btnLlenarArray (Evento Click) Call LlenarArreglo() Call LlenarControles() Joel Martin Chuco Marrufo 8
  11. 11. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 btnSumaCol (Evento Click) Dim ResSuma(3) As Integer For K = 0 To 3 Suma = 0 For J = 0 To 3 Suma = Arreglo(J, K) + Suma Next ResSuma(K) = Suma Next Me.lblC1.Text = CStr(ResSuma(0)) Me.lblC2.Text = CStr(ResSuma(1)) Me.lblC3.Text = CStr(ResSuma(2)) Me.lblC4.Text = CStr(ResSuma(3)) btnLimpResultr (Evento Click) Me.lblC1.Text = "" Me.lblC2.Text = "" Me.lblC3.Text = "" Me.lblC4.Text = "" Me.lblD1.Text = "" Me.lblD2.Text = "" Me.lblF1.Text = "" Me.lblF2.Text = "" Me.lblF3.Text = "" Me.lblF4.Text = "" btnSumaFila (Evento Click) Dim ResSuma(3) As Integer For K = 0 To 3 Suma = 0 For J = 0 To 3 Suma = Arreglo(K, J) + Suma Next ResSuma(K) = Suma Next Me.lblF1.Text = CStr(ResSuma(0)) Me.lblF2.Text = CStr(ResSuma(1)) Me.lblF3.Text = CStr(ResSuma(2)) Me.lblF4.Text = CStr(ResSuma(3)) btnCol1 (Evento Click) Suma = 0 For K = 0 To 3 Suma = Arreglo(K, 0) + Suma Next Me.lblC1.Text = CStr(Suma) Joel Martin Chuco Marrufo 9
  12. 12. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 btnCol2 (Evento Click) Suma = 0 For K = 0 To 3 Suma = Arreglo(K, 1) + Suma Next Me.lblC2.Text = CStr(Suma) btnCol3 (Evento Click) Suma = 0 For K = 0 To 3 Suma = Arreglo(K, 2) + Suma Next Me.lblC3.Text = CStr(Suma) btnCol4 (Evento Click) Suma = 0 For K = 0 To 3 Suma = Arreglo(K, 3) + Suma Next Me.lblC4.Text = CStr(Suma) btnFila1 (Evento Click) Suma = 0 For K = 0 To 3 Suma = Arreglo(0, K) + Suma Next Me.lblF1.Text = CStr(Suma) btnLFila2 (Evento Click) Suma = 0 For K = 0 To 3 Suma = Arreglo(1, K) + Suma Next Me.lblF2.Text = CStr(Suma) btnFila3 (Evento Click) Suma = 0 For K = 0 To 3 Suma = Arreglo(2, K) + Suma Next Me.lblF3.Text = CStr(Suma) Joel Martin Chuco Marrufo 10
  13. 13. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 btnFila4 (Evento Click) Suma = 0 For K = 0 To 3 Suma = Arreglo(3, K) + Suma Next Me.lblF4.Text = CStr(Suma) btnDiagonal1 (Evento Click) Suma = 0 For K = 0 To 3 Suma = Arreglo(K, K) + Suma Next Me.lblD1.Text = CStr(Suma) btnDiagonal2 (Evento Click) Suma = 0 For K = 0 To 3 Suma = Arreglo(K, 3 - K) + Suma Next Me.lblD2.Text = CStr(Suma) GDI Los Gráficos GDI El CLR (Common Language Runtime) usa una implementación avanzada de la interfaz de diseño de gráfico de Windows, denominada GDI+, que permite crear gráficos, dibujar texto y manipular imágenes gráficas como si fueran objetos. En otras palabras, el GDI nos permite crear Textos y gráficos (Líneas, cuadros, animaciones, etc.) en los formularios que estamos usando. Para crear una imagen, lo podemos hacer mediante una variable o directamente, si lo elaboramos mediante una variable, esta tendrá que ser de tipo Graphics. Para que me entiendan un poco mejor, haremos un ejercicio de GDI, algo sencillo, ya que el objetivo de este curso ya les mencione que es el de realizar aplicaciones empresariales. Joel Martin Chuco Marrufo 11
  14. 14. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 87. Esta aplicación nos permite visualizar texto, figuras y una pequeña animación creados mediante GDI.  Para el nombre del control Timer1 será tmrAnimacion y de los botones será el siguiente: Text Name Ver Texto btnTexto Ver Cuadrado btnCuadrado Ver Circulo btnCirculo Ver Poligono btnPoligono Ver Animacion btnAnimacion Salir btnSalir Joel Martin Chuco Marrufo 12
  15. 15. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Una vez diseñada la interfaz y asignada con sus nombres respectivamente, procederemos a codificar. Declaramos variables a Nivel del Formulario Dim Imagen As Graphics Dim Colores As Integer = 0 btnTexto (Evento Click) Dim Color As New Drawing2D.LinearGradientBrush(ClientRectangle, Drawing.Color.Blue, Drawing.Color.Green, Drawing2D.LinearGradientMode.Horizontal) Dim Fuente As New Font("Verdana", 30) Imagen.DrawString("Visual Basic .Net 2005", Fuente, Color, 30, 30) btnCuadrado (Evento Click) Dim color As New Drawing2D.LinearGradientBrush(ClientRectangle, Drawing.Color.Yellow, Drawing.Color.White, Drawing2D.LinearGradientMode.Vertical) Imagen.FillRectangle(color, New Rectangle(30, 90, 100, 100)) btnCirculo (Evento Click) Dim color As New Drawing2D.LinearGradientBrush(ClientRectangle, Drawing.Color.Green, Drawing.Color.White, Drawing2D.LinearGradientMode.ForwardDiagonal) Imagen.FillEllipse(color, New Rectangle(150, 90, 100, 100)) btnPoligono (Evento Click) Dim color As New Drawing2D.LinearGradientBrush(ClientRectangle, Drawing.Color.Red, Drawing.Color.White, Drawing2D.LinearGradientMode.BackwardDiagonal) Imagen.FillPolygon(color, New PointF() {New PointF(300, 90), New PointF(360, 90), New PointF(390, 140), New PointF(360, 190), New PointF(300, 190), New PointF(270, 140)}) btnAnimacion (Evento Click) Dim Color As New Drawing2D.LinearGradientBrush(ClientRectangle, Drawing.Color.Blue, Drawing.Color.Green, Drawing2D.LinearGradientMode.Horizontal) Dim Fuente As New Font("Verdana", 30) Imagen.DrawString("Visual Basic .Net 2005", Fuente, Color, 20, 230) Me.tmrAnimacion.Enabled = True Me.tmrAnimacion.Interval = 250 Joel Martin Chuco Marrufo 13
  16. 16. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 tmrAnimacion (Evento Tick) Dim Fuente As New Font("Verdana", 30) If Colores = 0 Then Dim Color As New Drawing2D.LinearGradientBrush(ClientRectangle, Drawing.Color.AliceBlue, Drawing.Color.AntiqueWhite, Drawing2D.LinearGradientMode.Horizontal) Imagen.DrawString("Visual Basic .Net 2005", Fuente, Color, 20, 230) ElseIf Colores = 1 Then Dim Color As New Drawing2D.LinearGradientBrush(ClientRectangle, Drawing.Color.Aqua, Drawing.Color.Aquamarine, Drawing2D.LinearGradientMode.Vertical) Imagen.DrawString("G D I", Fuente, Color, 200, 280) ElseIf Colores = 2 Then Dim Color As New Drawing2D.LinearGradientBrush(ClientRectangle, Drawing.Color.Azure, Drawing.Color.Beige, Drawing2D.LinearGradientMode.BackwardDiagonal) Imagen.DrawString("Visual Basic .Net 2005", Fuente, Color, 20, 230) ElseIf Colores = 3 Then Dim Color As New Drawing2D.LinearGradientBrush(ClientRectangle, Drawing.Color.Bisque, Drawing.Color.Black, Drawing2D.LinearGradientMode.ForwardDiagonal) Imagen.DrawString("G D I", Fuente, Color, 200, 280) ElseIf Colores = 4 Then Dim Color As New Drawing2D.LinearGradientBrush(ClientRectangle, Drawing.Color.BlanchedAlmond, Drawing.Color.Blue, Drawing2D.LinearGradientMode.Horizontal) Imagen.DrawString("Visual Basic .Net 2005", Fuente, Color, 20, 230) ElseIf Colores = 5 Then Dim Color As New Drawing2D.LinearGradientBrush(ClientRectangle, Drawing.Color.BlueViolet, Drawing.Color.Brown, Drawing2D.LinearGradientMode.Vertical) Imagen.DrawString("G D I", Fuente, Color, 200, 280) Colores = 0 End If Colores = Colores + 1 frmAplicacion87 (Evento Load) Imagen = Me.CreateGraphics() btnSalir (Evento Click) Me.Close() Joel Martin Chuco Marrufo 14
  17. 17. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 CONTROL PICTUREBOX Como lo he mencionado antes, este control PictureBox nos permite mostrar imágenes ya seas *.bmp, *.jpg, *.gif, *.png, etc. Las propiedades mas usadas de este control son:  BackColor; la mayoría de veces la usamos para ponerle un color de fondo al control, el color mas usado es el transparente.  SizeMode; nos indica como se adecua la imagen ante el control, ya sea estirarlo o mejor dicho auto ajustar, tamaña original, Zoom y centrado.  BackgrounImageLayout; nos indica la forma en que se mostrara la imagen, ya sea en mosaico, centrado, estirado o Zoom.  Image; aquí establecemos la imagen a mostrar en el tiempo de ejecución del programa. Como ya saben, en este control también podemos mostrar imágenes en tiempo de ejecución, hay dos formas de hacerlo, ya sea mediante un array de imágenes o mediante la ruta de la imagen, así que veremos las dos formas.  Mediante la dirección del archivo PictureBox.Image = Image.FromFile(Direccion)  Mediante array de imagines (para hacerlo de esta forma, primero tendrán que ingresar las imágenes al Resources, por ejemplo: nos ubicamos en la propiedad image, como se muestra en la figura. Joel Martin Chuco Marrufo 15
  18. 18. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Una vez ubicado en la propiedad image, daremos clic en el botón y se abrirá la siguiente ventana, donde daremos clic en Import e importaremos (añadiremos) las imágenes que vamos a usar, tal como se muestra la imagen. Una vez añadidas las imágenes daremos clic en Ok de la ventana y después haremos el siguiente código: REM Declaramos un array de una dimensión y de un solo item llamado Luna de Tipo REM Image y luego le asignaremos un valor al array de imágenes, en otras REM palabras, en el índice 0 del array Luna, le asignaremos la imagen de MOON01 REM que esta almacenada en la carpeta Resources. Protected Lunas(0) As Image Lunas(0) = My.Resources.MOON01 REM Luego en la propiedad de Image del control, solo le asignaremos el Item 0 del REM array Me.PictureBox.Image = Lunas(0) Para que me entiendan bien veremos un pequeño ejemplo sobre un array de imágenes y del control PictureBox, para que lo entiendan mejor. Joel Martin Chuco Marrufo 16
  19. 19. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 88. Esta aplicación nos permite hallar el área de una circunferencia, mostrando una pequeña animación. Como vemos aquí añadiremos un TextBox llamado txtRadio, que nos capturara el radio de la circunferencia, un Label llamado lblArea que nos mostrar el área de la circunferencia hallada, un Button llamado btnSalir, que nos permitirá salir de la aplicación, un Timer llamado tmrAnimación, que nos permitirá controlar el tiempo que vamos a mostrar las imágenes, y un PictureBox llamado picLunas, que nos mostrar las imágenes. Declaramos variables a Nivel del Formulario Protected Lunas(7) As Image frmAplicacion88 (Evento Load) Lunas(0) = My.Resources.MOON01 Lunas(1) = My.Resources.MOON02 Lunas(2) = My.Resources.MOON03 Lunas(3) = My.Resources.MOON04 Lunas(4) = My.Resources.MOON05 Lunas(5) = My.Resources.MOON06 Lunas(6) = My.Resources.MOON07 Lunas(7) = My.Resources.MOON08 Me.tmrAnimacion.Enabled = True Me.tmrAnimacion.Interval = 100 Joel Martin Chuco Marrufo 17
  20. 20. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 tmrAnimacion (Evento Tick) If Me.picLunas.Image Is Lunas(0) Then Me.picLunas.Image = Lunas(1) ElseIf Me.picLunas.Image Is Lunas(1) Then Me.picLunas.Image = Lunas(2) ElseIf Me.picLunas.Image Is Lunas(2) Then Me.picLunas.Image = Lunas(3) ElseIf Me.picLunas.Image Is Lunas(3) Then Me.picLunas.Image = Lunas(4) ElseIf Me.picLunas.Image Is Lunas(4) Then Me.picLunas.Image = Lunas(5) ElseIf Me.picLunas.Image Is Lunas(5) Then Me.picLunas.Image = Lunas(6) ElseIf Me.picLunas.Image Is Lunas(6) Then Me.picLunas.Image = Lunas(7) Else Me.picLunas.Image = Lunas(0) End If txtRadio (Evento TextChanged) Const PI As Double = 3.14159 If IsNumeric(Me.txtRadio.Text) Then Me.lblArea.Text = "Área = " & CStr(PI * Val(Me.txtRadio.Text) ^ 2) & " u²" Else Me.lblArea.Text = "ERROR: Ingrese una Cantidad Numérica" End If btnSalir (Evento Click) Dim Resp As MsgBoxResult Resp = MsgBox("¿Desea Terminar la Aplicación?", MsgBoxStyle.YesNo, "Pregunta") If Resp = MsgBoxResult.Yes Then Me.Close() End If Fácil no?, como lo ven no es nada del otro mundo, como les vuelvo a repetir, no estoy tocando a la profundidad las propiedades, métodos de cada control, ya que solo este curso se dedica a realizar programas comerciales. Joel Martin Chuco Marrufo 18
  21. 21. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 CONTROL LISTBOX Y COMBOBOX Estos dos controles (ListBox y ComboBox) se parecen mucho, tanto en sus propiedades como en eventos, ya sea añadiendo elementos, eliminándolos, obteniendo el elementos seleccionado, etc. Hay dos formas de ingresar los elementos en estos controles, ya sea mediante un editor (en modo de diseño), o mediante código (en tiempo de ejecución), para mi y creo que para la mayoría de los programadores, la mejor forma de añadir los elementos es mediante código, así que veremos como ingresar, eliminar, ordenar los elementos a un ListBox, mediante un ejemplo, no se preocupen que para los combo box, también son iguales. Ejemplo Esta aplicación nos permite ingresar un numero entero cualquiera a un ListBox, y después podemos ordenarlos ascendentemente o descendentemente, o eliminar los elementos seleccionados, también podremos hallar la media de los elementos del control, teniendo en cuenta que si el número de elementos de la lista es impar, la media es igual al número colocado en la posición media de la lista, o si el numero de elementos de la lista es par, la media es igual al promedio de los dos valores medios de la lista. NOTA que se debe de tener ordenados los elementos de la lista en forma ascendente para poder hallar la media. Joel Martin Chuco Marrufo 19
  22. 22. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Los controles tendrán su nombre respectivo, con referencia a su función, el tectbox se llama txtNumIng, el botón añadir se llamara btnAñadir, el botón cerrar se llamara btnCerrar, el botón ordenar se llamara btnOrdenar, el botón eliminar se llamara btnEliminar, el botón ejecutar cálculo se llamara btnEjecutar, la lista de números (ListBox) se llamará lstNumeros, el radio button ascendente se llamará rdbAscendente y el del descendente se llamara rdbDescendente y por ultimo el Label que muestra la media de la lista de números se llamara lblCalculo. Cuando seleccionaremos un elemento o mas de uno, se activara el botón de eliminar, en caso contrario debe de estar desactivado. Declaramos variables a Nivel del Formulario Dim Ordenado As Boolean = False txtNumIng (Evento TextChanged) If IsNumeric(Me.txtNumIng.Text) = True Then Me.btnAñadir.Enabled = True Else Me.btnAñadir.Enabled = False End If btnAñadior (Evento Click) Me.lstNumeros.Items.Add(Me.txtNumIng.Text) Me.txtNumIng.Text = "" Me.txtNumIng.Focus() rdbAscendente (Evento CheckedChanged) If Me.rdbAscendente.Checked = True Then Me.btnOrdenar.Enabled = True Else Me.btnOrdenar.Enabled = False End If rdbDescendente (Evento CheckedChanged) If Me.rdbDescendente.Checked = True Then Me.btnOrdenar.Enabled = True Else Me.btnOrdenar.Enabled = False End If Joel Martin Chuco Marrufo 20
  23. 23. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 btnOrdenar (Evento Click) Dim NumItems, J, K, Mayor As Integer NumItems = Me.lstNumeros.Items.Count - 1 Dim Temp(NumItems) As Integer 'Almacenamos los valores en un array temporal For J = 0 To NumItems Temp(J) = CInt(Me.lstNumeros.Items(J)) Next 'Método de Ordenación llamada BURBUJA For J = 0 To NumItems For K = 0 To NumItems If K < NumItems Then If Temp(K) > Temp(K + 1) Then Mayor = Temp(K) Temp(K) = Temp(K + 1) Temp(K + 1) = Mayor End If End If Next Next If Me.rdbAscendente.Checked = True Then 'Limpiar y Llenar el ListBox Me.lstNumeros.Items.Clear() For J = 0 To NumItems Me.lstNumeros.Items.Add(CStr(Temp(J))) Next Ordenado = True ElseIf Me.rdbDescendente.Checked = True Then 'Limpiar y Llenar el ListBox Me.lstNumeros.Items.Clear() For J = 0 To NumItems Me.lstNumeros.Items.Add(CStr(Temp(NumItems - J))) Next Ordenado = False End If lstNumeros (Evento SelectedIndexChanged) Me.btnEliminar.Enabled = True btnEliminar (Evento Click) Dim i As Integer Me.btnEliminar.Enabled = False With Me.lstNumeros For i = .SelectedItems.Count - 1 To 0 Step -1 .Items.Remove(.SelectedItems.Item(i)) Next End With Joel Martin Chuco Marrufo 21
  24. 24. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 btnEjecutar (Evento Click) Dim NumItems, Index, Q As Integer Dim Media As Single NumItems = Me.lstNumeros.Items.Count If Ordenado = False Then MsgBox("Para Hallar la Media, Primero Debe de Ordenar los Elementos en Forma Ascendente", MsgBoxStyle.Information, "ERROR!") Exit Sub End If Q = NumItems 2 Index = NumItems - (Q * 2) If Index = 0 Then Index = CInt(Me.lstNumeros.Items.Count) 2 Media = (CSng(CInt(Me.lstNumeros.Items(Index)) + CInt(Me.lstNumeros.Items(Index - 1)))) / 2 Else Index = CInt(Me.lstNumeros.Items.Count) 2 Media = CSng(CInt(Me.lstNumeros.Items(Index))) End If Me.lblCalculo.Text = CStr(Media) btnOrdenar (Evento Click) Me.Close() Para los que son primerizos en este lenguaje de Visual Basic, todo es nuevo para ustedes, ósea en otras palabras, para agregar, eliminar o saber el numero de elementos que hay en una lista, ya sea ListBox o ComboBox, siempre tendremos que hacer invocación al miembro de Ítems del control, por ejemplo, les dejo algunas instrucciones que mas se utilizan en los dos controles. Para añadir a un elemento ListBox1.Items.Add(Cadena de Texto) ComboBox1.Items.Add(Cadena de Texto) Para eliminar un elemento ListBox1.Items.Remove(Numero del Elemento a Eliminar) ComboBox1.Items.Remove(Numero del Elemento a Eliminar) Para saber que elemento se ha seleccionado Variable = ListBox1.SelectedIndex() Variable = ComboBox1.SelectedIndex() Joel Martin Chuco Marrufo 22
  25. 25. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Para Saber el Numero de los Elementos de la Lista Variable = ListBox1.Items.Count() Variable = ComboBox1.Items.Count() Para seleccionar un Elemento ListBox1.SelectedIndex = Numero del Elemento a seleccionar ComboBox1.SelectedIndex = Numero del Elemento a seleccionar Como ya vieron no es nada del otro mundo esto de listas y combo, vamos a hacer un ejercicio de estos dos controles, para que le agarren la onda al ritmo de la music electronic de DJ Tiesto, ok!, pero primero realizaremos un ejercicio con el controls Timer y las funciones de fecha, y de paso les explico lo del control Timer, que se me paso, ups!. 89. Esta aplicación nos permitirá hallar la venta de un producto cualquiera, calculando el Subtotal, IGV y Total de la venta, y a su vez nos mostrara la hora actualizándose cada segundo, mediante un control Timer. Joel Martin Chuco Marrufo 23
  26. 26. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Primero comencemos con los nombres de cada control, aunque creo que esto es lo que mas me toma tiempo, empecemos, el Label que nos mostrara la fecha se llamara lblFecha, el que nos mostrara se llamara lblHora, el del subtotal se llamara lblSubTotal, el del total se llamara lblTotal y el del IGV se llamara lblIgv, el TextBox que captura el nombre del producto se llamara txtNombProd, el del precio unitario se llamara txtPrecUnit y el de la cantidad se llamara txtCant, los botones de Nuevo, Resultados y Salir se llamaran btnNuevo, btnResultados y btnSalir, respectivamente. frmAplicacion89 (Evento FormClosing) Dim Resp As MsgBoxResult Resp = MsgBox("¿Desea salir de la Aplicación?", MsgBoxStyle.YesNo, "Cuidado") If Resp = MsgBoxResult.No Then e.Cancel = True End If frmAplicacion89 (Evento Load) Me.tmrHora.Enabled = True Me.lblFecha.Text = Format(Now, "dd - MMMM - yyyy") Me.lblHora.Text = Format(Now, "hh:mm:ss tt") Me.Text = Space(40) + "Ventas" tmrHora (Evento Tick) Me.lblHora.Text = Format(Now, "hh:mm:ss tt") btnSalir (Evento Click) Me.Close() btnNuevo (Evento Click) Me.txtCant.Text = "" Me.txtNombProd.Text = "" Me.txtPrecUnit.Text = "" Me.lblIgv.Text = "" Me.lblSubTotal.Text = "" Me.lblTotal.Text = "" Me.txtNombProd.Focus() Joel Martin Chuco Marrufo 24
  27. 27. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 btnResultados (Evento Click) Dim SubTotal, IGV, Total As Single SubTotal = CStr(Val(Me.txtCant.Text) * Val(Me.txtPrecUnit.Text)) IGV = SubTotal * 0.19 Total = IGV + SubTotal Me.lblSubTotal.Text = Format(SubTotal, "###,##0.00") Me.lblIgv.Text = Format(IGV, "###,##0.00") Me.lblTotal.Text = Format(Total, "###,##0.00") Lo único que deben de saber del control Timer es que cuando uno lo crea, se crea desactivado, así que se tiene que activar el control para poder usarlo, esto se hace mediante la propiedad Enabled, en la cual tiene que estar en True, y el intervalo en que el control se actualizara, por ejemplo, el intervalo de 100 es equivalente a un segundo. 90. Esta aplicación nos permitirá realizar una pro forma de venta de una tienda comercial de computo, consta de dos formularios, uno que es el principal llamado frmAplicacion90 y otro llamado frmInfo, esta aplicación esta basada en arreglos y datos almacenados en el programa, con el fin de darnos cuenta que tan importante es tener un diseñador de base de datos, ya que la aplicación sin base de datos que maneje información se haría engorrosa y los datos no estarían tan seguros, veamos un ejemplo de este tipo de aplicación sin una base de datos, y como seria su programación, primero veremos por formulario, así que el primero será el formulario frmInfo. frmInfo Este formulario tendrá un GropuBox que conservara su propio nombre y los Labels de este formulario que solo nos mostraran lo que recepcionan del otro formulario, tendrán los siguientes nombres, de acuerdo a su etiqueta de su costado; lblMainboard, lblProcesador, lblDiscoDuro, lblMemoriaRAM, lblTarjVideo, lblTarjRed, lblCase. Joel Martin Chuco Marrufo 25
  28. 28. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Y el único que contendrá el formulario va a ser en el control GroupBox1. GroupBox1 (Evento Click) Me.Close() frmAplicacion90 Joel Martin Chuco Marrufo 26
  29. 29. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Ahora pondremos los nombres respectivos a cada control, en este caso, yo solo daré referencia a que control me refiero y ustedes deben de saber identificar que control es. Ok!, por ejemplo en que forma se esta mostrando los Buttons, los GroupBox y el PictureBox. Text Name Cantidad nudCantidad Articulo cboArticuo Marca cboMarca Modelo cboModelo Precio Unitario lblPrecUnit Total lblTotal Adicionar btnAdicionar Cancelar btnCancelar Descripción btnDescripcion Imagen picArticulo Lista de Cantidad lstCantidad Lista de Descripción lstDescripcion Lista de Precio Unitario lstPrecUnit Lista de Total lstTotal Subtotal lblSubTotalProf IGV lblIGV Total lblTotalProf Nueva Pro forma btnNuevo Eliminar Articulo btnEliminar Salir btnSalir ¿QUE ES LO QUE SE PIDE? Para este caso se pide que esta aplicación se pueda escoger un articulo y nos muestre su imagen referencial, la marca y el modelo del articulo, y a su vez nos muestre el precio unitario y el precio total, existe un caso en que cuando selecciona un CPU, se nos pueda mostrar su descripción de ella nada mas, también podremos añadir los artículos seleccionados al carrito, y también eliminar elementos seleccionados y nos debe de mostrar el total de todos los productos, el subtotal y el IGV. Y para los que les guste hacerlo más perfecto, también le pueden agregar un botón de impresión donde se imprimirá el formulario en pantalla. Una vez ya tenido el diseños del formulario listo y sus descripciones que debe tener, procederemos a la larga, pero larga, larga codificación. Joel Martin Chuco Marrufo 27
  30. 30. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Declaramos variables a Nivel del Formulario Dim Marca(14) As String Dim ModeloImpresora(14), ModeloPC(11), ModeloCD(1), ModeloDVD(1) As String Dim ModeloUSB(3), ModeloModem(1), ModeloMonitor(7), ModeloMP3(5) As String Dim ModeloScaner(9), ModeloTeclado(1), ModeloVideoCamara(1), ModeloWebCam(1) As String Dim DescripcionPC(83) As String Dim Imagenes(15) As Image Dim IndexArticulo, IndexMarca, IndexModelo As Integer Dim Añadir As Boolean = True Función Limpiar esta función limpiara los controles del formulario Sub Limpiar() Me.cboArticulo.Text = "" Me.cboMarca.Text = "" Me.cboModelo.Text = "" Me.lblIGV.Text = "" Me.lblPrecUnit.Text = "" Me.lblSubTotalProf.Text = "" Me.lblTotal.Text = "" Me.lblTotalProf.Text = "" Me.lstCantidad.Items.Clear() Me.lstDescripcion.Items.Clear() Me.lstPrecUnit.Items.Clear() Me.lstTotal.Items.Clear() Me.picArticulo.Image = Imagenes(15) End Sub Función MarcaArticulo esta función almacenara en el array Marca, las marcas respectivas de los artículos, válgala redundancia. Sub MarcaArticulo() Marca(0) = "Micronics" Marca(1) = "Cybertel" Marca(2) = "Creative" Marca(3) = "LG" Marca(4) = "Samsung" Marca(5) = "NEC" Marca(6) = "HP" Marca(7) = "Canon" Marca(8) = "Lexmark" Marca(9) = "Epson" Marca(10) = "Xerox" Marca(11) = "Intel" Marca(12) = "PC Chips" Marca(13) = "Syntax" Marca(14) = "ASROCK" End Sub Joel Martin Chuco Marrufo 28
  31. 31. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Función ModeloPCs esta función almacena los distintos modelos de PCs Sub ModeloPCs() ModeloPC(0) = "Intel PIV 2.8 GHZ" ModeloPC(1) = "Intel PIV 3.0 GHZ" ModeloPC(2) = "Intel CEL 2.53 GHZ" ModeloPC(3) = "PC Chips 2.4 GHZ" ModeloPC(4) = "PC Chips 2.8 GHZ" ModeloPC(5) = "PC Chips CEL 2.53 GHZ" ModeloPC(6) = "Syntax PIV 2.4 GHZ" ModeloPC(7) = "Syntax PIV 2.8 GHZ" ModeloPC(8) = "Syntax CEL 2.53 GHZ" ModeloPC(9) = "ASROCK P4 2.4 GHZ" ModeloPC(10) = "ASROCK P4 2.8 GHZ" ModeloPC(11) = "ASROCK CEL 2.53 GHZ" End Sub Función ModeloImpresoras esta función almacena los distintos modelos de impresora Sub ModeloImpresoras() ModeloImpresora(0) = "HP Deskjet 3920" ModeloImpresora(1) = "HP Multifuncional 1410" ModeloImpresora(2) = "HP Laserjet Color 2600N" ModeloImpresora(3) = "Canon IP-1200 Color" ModeloImpresora(4) = "Canon IP-1600 Color" ModeloImpresora(5) = "Canon Multifuncional MP-150" ModeloImpresora(6) = "Lexmark Color Z515" ModeloImpresora(7) = "Lexmark Multifuncional X1195" ModeloImpresora(8) = "Lexmark Multifuncional X4270" ModeloImpresora(9) = "Epson Stylus C45 U" ModeloImpresora(10) = "Epson LX300+" ModeloImpresora(11) = "Epson FX-2190" ModeloImpresora(12) = "Xerox Laser 3116" ModeloImpresora(13) = "Xerox Laser Multifuncional PE114" ModeloImpresora(14) = "Xerox Laser Color 6100 DB" End Sub Función ModeloCDs esta función almacena los distintos modelos de Lectoras Sub ModeloCDs() ModeloCD(0) = "52x24x52 Negro" ModeloCD(1) = "52x24x52 Blanco" End Sub Función ModeloDVDs esta función almacena los distintos modelos de Quemadores Sub ModeloDVDs() ModeloDVD(0) = "16x Negro" ModeloDVD(1) = "16x Blanco" End Sub Joel Martin Chuco Marrufo 29
  32. 32. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Función ModeloUSBs esta función almacena los distintos modelos de memorias USBs Sub ModeloUSBs() ModeloUSB(0) = "64 MB" ModeloUSB(1) = "128 MB" ModeloUSB(2) = "256 MB" ModeloUSB(3) = "512 MB" End Sub Función ModeloModems esta función almacena los distintos modelos de Modems Sub ModeloModems() ModeloModem(0) = "Z135 ADSL" ModeloModem(1) = "Z135 DSL" End Sub Función ModeloMonitores esta función almacena los distintos modelos de Monitor Sub ModeloMonitores() ModeloMonitor(0) = "15' 591S Negro" ModeloMonitor(1) = "17' 793S Negro" ModeloMonitor(2) = "15' 591S Blanco" ModeloMonitor(3) = "17' 793S Blanco" ModeloMonitor(4) = "15' T530SS FLAT Negro" ModeloMonitor(5) = "17' L1750 LCD Negro" ModeloMonitor(6) = "15' T530SS FLAT Blanco" ModeloMonitor(7) = "17' L1750 LCD Blanco" End Sub Función ModeloMP3s esta función almacena los distintos modelos de reproductores MP3s Sub ModeloMP3s() ModeloMP3(0) = "128 MB" ModeloMP3(1) = "256 MB" ModeloMP3(2) = "512 MB" ModeloMP3(3) = "128 MB / Radio FM" ModeloMP3(4) = "256 MB / Radio FM" ModeloMP3(5) = "512 MB / Radio FM" End Sub Joel Martin Chuco Marrufo 30
  33. 33. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Función ModeloScaners esta función almacena los distintos modelos de Scaner Sub ModeloScaners() ModeloScaner(0) = "2400 USB 2400x2400 DPI" ModeloScaner(1) = "4070 USB 2400x2400 DPI" ModeloScaner(2) = "LIDE 25 USB" ModeloScaner(3) = "LIDE 32 USB" ModeloScaner(4) = "1800 USB 2400x2400 DPI" ModeloScaner(5) = "2500 USB 2400x2400 DPI" ModeloScaner(6) = "15T USB 2400x2400 DPI" ModeloScaner(7) = "18T USB 2400x2400 DPI" ModeloScaner(8) = "450RT USB 2400x2400 DPI" ModeloScaner(9) = "500RT USB 2400x2400 DPI" End Sub Función ModeloTeclados esta función almacena los distintos modelos de Teclado Sub ModeloTeclados() ModeloTeclado(0) = "Office Set" ModeloTeclado(1) = "Multimedia" End Sub Función ModeloVideoCamras esta función almacena los distintos modelos de Video Cámaras Sub ModeloVideoCamaras() ModeloVideoCamara(0) = "Zoom 5x, Pantalla LCD 2.5'" ModeloVideoCamara(1) = "Zoom 4x, Pantalla LCD 2.5'" End Sub Función ModeloWebCams esta función almacena los distintos modelos de Web Cam Sub ModeloWebCams() ModeloWebCam(0) = "600x480 Pxls." ModeloWebCam(1) = "800x600 Pxls." End Sub Función DescripcionesPC esta función almacena las descripciones de cada PC Sub DescripcionesPC() DescripcionPC(0) = "INTEL 865 GVHZ/ Tarj. Sonido Integrado" DescripcionPC(1) = "INTEL PIV 2.8 GHZ 512KB, 533MHZ, PGA" DescripcionPC(2) = "SAMSUNG 80GB 7200 RPM IDE" DescripcionPC(3) = "SPECTEK 512MB PC 533" DescripcionPC(4) = "ATI 8X 128MB DDR RADEON 9250 TV/OUT" DescripcionPC(5) = "D-LINK DFE - 530TX 10/100" DescripcionPC(6) = "PENTIUM IV 500W PRESCOTT" DescripcionPC(7) = "INTEL 915 GAGL/ Tarj. Sonido Integrado" DescripcionPC(8) = "INTEL PIV 3.0 GHZ 1MB, 800MHZ, LGA" DescripcionPC(9) = "SAMSUNG 80GB 7200 RPM IDE" Joel Martin Chuco Marrufo 31
  34. 34. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 DescripcionPC(10) = "SPECTEK 512MB PC 800" DescripcionPC(11) = "ATI 8X 128MB DDR RADEON 9250 TV/OUT" DescripcionPC(12) = "D-LINK DFE - 530TX 10/100" DescripcionPC(13) = "PENTIUM IV 500W PRESCOTT" DescripcionPC(14) = "INTEL 865 PERLL/ Tarj. Sonido Integrado" DescripcionPC(15) = "INTEL CEL 2.53 GHZ 256KB, 533MHZ, LGA" DescripcionPC(16) = "SAMSUNG 40GB 7200 RPM IDE" DescripcionPC(17) = "SPECTEK 256MB PC 533" DescripcionPC(18) = "ATI 4X 64MB DDR RADEON 7000 TV/OUT" DescripcionPC(19) = "D-LINK DFE - 530TX 10/100" DescripcionPC(20) = "PENTIUM IV 400W PRESCOTT" DescripcionPC(21) = "PC CHIPS P25G B800/ Tarj. Sonido Integrado" DescripcionPC(22) = "INTEL PIV 2.4 GHZ 512KB, 533MHZ, PGA" DescripcionPC(23) = "SAMSUNG 80GB 7200 RPM IDE" DescripcionPC(24) = "SPECTEK 512MB PC 533" DescripcionPC(25) = "Tarj. Video 64MB Incorporado" DescripcionPC(26) = "Tarj. Red Encore 10/100 Incorporado" DescripcionPC(27) = "PENTIUM IV 500W PRESCOTT" DescripcionPC(28) = "PC CHIPS P25G B800/ Tarj. Sonido Integrado" DescripcionPC(29) = "INTEL PIV 2.8 GHZ 512KB, 533MHZ, PGA" DescripcionPC(30) = "SAMSUNG 80GB 7200 RPM IDE" DescripcionPC(31) = "SPECTEK 512MB PC 533" DescripcionPC(32) = "Tarj. Video 64MB Incorporado" DescripcionPC(33) = "Tarj. Red Encore 10/100 Incorporado" DescripcionPC(34) = "PENTIUM IV 500W PRESCOTT" DescripcionPC(35) = "PC CHIPS P25 B800/ Tarj. Sonido Integrado" DescripcionPC(36) = "INTEL CEL 2.53 GHZ 256KB, 533MHZ, LGA" DescripcionPC(37) = "SAMSUNG 80GB 7200 RPM IDE" DescripcionPC(38) = "SPECTEK 256MB PC 533" DescripcionPC(39) = "Tarj. Video 64MB Incorporado" DescripcionPC(40) = "Tarj. Red Encore 10/100 Incorporado" DescripcionPC(41) = "PENTIUM IV 400W PRESCOTT" DescripcionPC(42) = "SYNTAX TXTPRO/ Tarj. Sonido Integrado" DescripcionPC(43) = "INTEL PIV 2.4 GHZ 512KB, 533MHZ, PGA" DescripcionPC(44) = "SAMSUNG 80GB 7200 RPM IDE" DescripcionPC(45) = "SPECTEK 512MB PC 533" DescripcionPC(46) = "ATI 8X 128MB DDR RADEON 9250 TV/OUT" DescripcionPC(47) = "3-COM 10/100 / Integrado" DescripcionPC(48) = "PENTIUM IV 500W PRESCOTT" DescripcionPC(49) = "SYNTAX TXTPRO/ Tarj. Sonido Integrado" DescripcionPC(50) = "INTEL PIV 2.8 GHZ 512KB, 533MHZ, PGA" DescripcionPC(51) = "SAMSUNG 80GB 7200 RPM IDE" DescripcionPC(52) = "SPECTEK 512MB PC 800" DescripcionPC(53) = "ATI 8X 128MB DDR RADEON 9250 TV/OUT" DescripcionPC(54) = "3-COM 10/100 / Integrado" DescripcionPC(55) = "PENTIUM IV 500W PRESCOTT" DescripcionPC(56) = "SYNTAX TXTPRO/ Tarj. Sonido Integrado" DescripcionPC(57) = "INTEL CEL 2.53 GHZ 256KB, 533MHZ, LGA" DescripcionPC(58) = "SAMSUNG 40GB 7200 RPM IDE" DescripcionPC(59) = "SPECTEK 256MB PC 533" DescripcionPC(60) = "ATI 4X 64MB DDR RADEON 7000 TV/OUT" DescripcionPC(61) = "3-COM 10/100 / Integrado" DescripcionPC(62) = "PENTIUM IV 400W PRESCOTT" DescripcionPC(63) = "ASROCK VIA M800/ Tarj. Sonido Integrado" DescripcionPC(64) = "INTEL PIV 2.4 GHZ 512KB, 533MHZ, PGA" DescripcionPC(65) = "SAMSUNG 80GB 7200 RPM IDE" Joel Martin Chuco Marrufo 32
  35. 35. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 DescripcionPC(66) = "SPECTEK 512MB PC 533" DescripcionPC(67) = "ATI 8X 128MB DDR RADEON 9250 TV/OUT" DescripcionPC(68) = "3-COM 10/100 / Integrado" DescripcionPC(69) = "PENTIUM IV 500W PRESCOTT" DescripcionPC(70) = "ASROCK VIA M800/ Tarj. Sonido Integrado" DescripcionPC(71) = "INTEL PIV 2.8 GHZ 512KB, 533MHZ, PGA" DescripcionPC(72) = "SAMSUNG 80GB 7200 RPM IDE" DescripcionPC(73) = "SPECTEK 512MB PC 800" DescripcionPC(74) = "ATI 8X 128MB DDR RADEON 9250 TV/OUT" DescripcionPC(75) = "3-COM 10/100 / Integrado" DescripcionPC(76) = "PENTIUM IV 500W PRESCOTT" DescripcionPC(77) = "ASROCK VIA M800/ Tarj. Sonido Integrado" DescripcionPC(78) = "INTEL CEL 2.53 GHZ 256KB, 533MHZ, LGA" DescripcionPC(79) = "SAMSUNG 40GB 7200 RPM IDE" DescripcionPC(80) = "SPECTEK 256MB PC 533" DescripcionPC(81) = "ATI 4X 64MB DDR RADEON 7000 TV/OUT" DescripcionPC(82) = "3-COM 10/100 / Integrado" DescripcionPC(83) = "PENTIUM IV 400W PRESCOTT" End Sub Función LlenarMarcas esta función Llena las marcas respectivas de cada articulo en el combo de Marcas del Articulo. Sub LlenarMarcas() Dim Inicio, Final As Integer Dim J As Integer Select Case IndexArticulo Case 0, 6, 9, 10, 12, 14 Inicio = 0 Final = 2 Case 1, 3, 8, 13 Inicio = 3 Final = 4 Case 5, 11 Inicio = 6 Final = 10 Case 2 Inicio = 11 Final = 14 Case 4 Inicio = 2 Final = 5 Case 7 Inicio = 11 Final = 11 End Select Me.cboMarca.Text = "" Me.cboMarca.Items.Clear() For J = Inicio To Final Me.cboMarca.Items.Add(Marca(J)) Next End Sub Joel Martin Chuco Marrufo 33
  36. 36. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Función LlenarModelos esta función Llena los modelos respectivos de cada articulo en el combo de Modelo del Articulo. Sub LlenarModelos() Dim J As Integer IndexMarca = Me.cboMarca.SelectedIndex Me.cboModelo.Text = "" Select Case IndexArticulo Case 0, 4, 9 Me.cboModelo.Enabled = False Case Else Me.cboModelo.Enabled = True End Select Select Case IndexArticulo Case 1 Call ModeloCDs() Me.cboModelo.Items.Clear() For J = 0 To 1 Me.cboModelo.Items.Add(ModeloCD(J)) Next Case 2 Call ModeloPCs() Me.cboModelo.Items.Clear() Select Case IndexMarca Case 0 For J = 0 To 2 Me.cboModelo.Items.Add(ModeloPC(J)) Next Case 1 For J = 3 To 5 Me.cboModelo.Items.Add(ModeloPC(J)) Next Case 2 For J = 6 To 8 Me.cboModelo.Items.Add(ModeloPC(J)) Next Case 3 For J = 9 To 11 Me.cboModelo.Items.Add(ModeloPC(J)) Next End Select Case 3 Call ModeloDVDs() Me.cboModelo.Items.Clear() For J = 0 To 1 Me.cboModelo.Items.Add(ModeloDVD(J)) Next Case 5 Call ModeloImpresoras() Me.cboModelo.Items.Clear() Select Case IndexMarca Case 0 For J = 0 To 2 Me.cboModelo.Items.Add(ModeloImpresora(J)) Next Joel Martin Chuco Marrufo 34
  37. 37. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Case 1 For J = 3 To 5 Me.cboModelo.Items.Add(ModeloImpresora(J)) Next Case 2 For J = 6 To 8 Me.cboModelo.Items.Add(ModeloImpresora(J)) Next Case 3 For J = 9 To 11 Me.cboModelo.Items.Add(ModeloImpresora(J)) Next Case 4 For J = 12 To 14 Me.cboModelo.Items.Add(ModeloImpresora(J)) Next End Select Case 6 Call ModeloUSBs() Me.cboModelo.Items.Clear() For J = 0 To 3 Me.cboModelo.Items.Add(ModeloUSB(J)) Next Case 7 Call ModeloModems() Me.cboModelo.Items.Clear() For J = 0 To 1 Me.cboModelo.Items.Add(ModeloModem(J)) Next Case 8 Call ModeloMonitores() Me.cboModelo.Items.Clear() Select Case IndexMarca Case 1 For J = 0 To 3 Me.cboModelo.Items.Add(ModeloMonitor(J)) Next Case 0 For J = 4 To 7 Me.cboModelo.Items.Add(ModeloMonitor(J)) Next End Select Case 10 Call ModeloMP3s() Me.cboModelo.Items.Clear() For J = 0 To 5 Me.cboModelo.Items.Add(ModeloMP3(J)) Next Case 11 Call ModeloScaners() Me.cboModelo.Items.Clear() Select Case IndexMarca Case 0 For J = 0 To 1 Me.cboModelo.Items.Add(ModeloScaner(J)) Next Joel Martin Chuco Marrufo 35
  38. 38. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Case 1 For J = 2 To 3 Me.cboModelo.Items.Add(ModeloScaner(J)) Next Case 2 For J = 4 To 5 Me.cboModelo.Items.Add(ModeloScaner(J)) Next Case 3 For J = 6 To 7 Me.cboModelo.Items.Add(ModeloScaner(J)) Next Case 4 For J = 8 To 9 Me.cboModelo.Items.Add(ModeloScaner(J)) Next End Select Case 12 Call ModeloTeclados() Me.cboModelo.Items.Clear() For J = 0 To 1 Me.cboModelo.Items.Add(ModeloTeclado(J)) Next Case 13 Call ModeloVideoCamaras() Me.cboModelo.Items.Clear() For J = 0 To 1 Me.cboModelo.Items.Add(ModeloVideoCamara(J)) Next Case 14 Call ModeloWebCams() Me.cboModelo.Items.Clear() For J = 0 To 1 Me.cboModelo.Items.Add(ModeloWebCam(J)) Next End Select End Sub Función SumarTotales esta función halla el total a pagar de los artículos añadidos (Precios). Sub SumarTotales() Dim J As Integer Dim Total, SubTotal, IGV As Double Total = 0 For J = 0 To Me.lstTotal.Items.Count - 1 Total = Total + Val(Me.lstTotal.Items(J)) Next SubTotal = Total * 0.81 IGV = Total - SubTotal Me.lblSubTotalProf.Text = Format(SubTotal, "###,##0.00") Me.lblIGV.Text = Format(IGV, "###,##0.00") Me.lblTotalProf.Text = Format(Total, "###,##0.00") End Sub Joel Martin Chuco Marrufo 36
  39. 39. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 frmAplicacion90 (Evento FormClosing) If MsgBox("¿Desea Salir de la Aplicación?", MsgBoxStyle.YesNo, "Cuidado") = MsgBoxResult.No Then e.Cancel = True End If frmAplicacion90 (Evento Load) Me.cboArticulo.Items.Add("Audifonos") Me.cboArticulo.Items.Add("Lectora de CD") Me.cboArticulo.Items.Add("CPU") Me.cboArticulo.Items.Add("Lectora de DVD") Me.cboArticulo.Items.Add("Floppy 3 1/2") Me.cboArticulo.Items.Add("Impresora") Me.cboArticulo.Items.Add("Memoria USB") Me.cboArticulo.Items.Add("Modem") Me.cboArticulo.Items.Add("Monitor") Me.cboArticulo.Items.Add("Mouse") Me.cboArticulo.Items.Add("Reporductor MP3") Me.cboArticulo.Items.Add("Scaner") Me.cboArticulo.Items.Add("Teclado") Me.cboArticulo.Items.Add("Video Camara") Me.cboArticulo.Items.Add("Web Cam") Imagenes(0) = My.Resources.Audifonos Imagenes(1) = My.Resources.CD Imagenes(2) = My.Resources.CPU Imagenes(3) = My.Resources.DVD Imagenes(4) = My.Resources.Floppy_Drive Imagenes(5) = My.Resources.Impresora Imagenes(6) = My.Resources.Memoria_USB Imagenes(7) = My.Resources.Modem Imagenes(8) = My.Resources.Monitor Imagenes(9) = My.Resources.Mouse Imagenes(10) = My.Resources.MP3 Imagenes(11) = My.Resources.Scanner Imagenes(12) = My.Resources.Teclado Imagenes(13) = My.Resources.Video_Camara Imagenes(14) = My.Resources.Webcam Imagenes(15) = My.Resources.PC Call Limpiar() cboArticulo (Evento SelectedIndexChanged) IndexArticulo = Me.cboArticulo.SelectedIndex Me.picArticulo.Image = Imagenes(IndexArticulo) Me.cboModelo.Text = "" Me.lblPrecUnit.Text = "" Me.lblTotal.Text = "" Me.cboMarca.Enabled = True Call MarcaArticulo() Call LlenarMarcas() If IndexArticulo <> 2 Then Joel Martin Chuco Marrufo 37
  40. 40. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Me.btnDescripcion.Enabled = False Else Me.btnDescripcion.Enabled = True End If btnDescripcion (Evento Click) Dim Inicio As Integer If Me.cboMarca.Text = "" Then MsgBox("Seleccione la Marca de la PC", MsgBoxStyle.Information, "Cuidado!") ElseIf Me.cboModelo.Text = "" Then MsgBox("Seleccione el Modelo de la PC", MsgBoxStyle.Information, "Cuidado!") Else Call DescripcionesPC() IndexMarca = Me.cboMarca.SelectedIndex IndexModelo = Me.cboModelo.SelectedIndex Select Case IndexMarca Case 0 Select Case IndexModelo Case 0 : Inicio = 0 Case 1 : Inicio = 7 Case 2 : Inicio = 14 End Select Case 1 Select Case IndexModelo Case 0 : Inicio = 21 Case 1 : Inicio = 28 Case 2 : Inicio = 35 End Select Case 2 Select Case IndexModelo Case 0 : Inicio = 42 Case 1 : Inicio = 49 Case 2 : Inicio = 56 End Select Case 3 Select Case IndexModelo Case 0 : Inicio = 63 Case 1 : Inicio = 70 Case 2 : Inicio = 77 End Select End Select My.Forms.frmInfo.lblMainboard.Text = DescripcionPC(Inicio) My.Forms.frmInfo.lblProcesador.Text = DescripcionPC(Inicio + 1) My.Forms.frmInfo.lblDiscoDuro.Text = DescripcionPC(Inicio + 2) My.Forms.frmInfo.lblMemoriaRAM.Text = DescripcionPC(Inicio + 3) My.Forms.frmInfo.lblTarjVideo.Text = DescripcionPC(Inicio + 4) My.Forms.frmInfo.lblTarjRed.Text = DescripcionPC(Inicio + 5) My.Forms.frmInfo.lblCase.Text = DescripcionPC(Inicio + 6) frmInfo.ShowDialog() End If Joel Martin Chuco Marrufo 38
  41. 41. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 cboMarca (Evento SelectedIndexChanged) Call LlenarModelos() IndexMarca = Me.cboMarca.SelectedIndex Select Case IndexArticulo Case 0 Select Case IndexMarca Case 0 : Me.lblPrecUnit.Text = "4.10" Case 1 : Me.lblPrecUnit.Text = "4.00" Case 2 : Me.lblPrecUnit.Text = "4.15" End Select Añadir = True Case 4 Select Case IndexMarca Case 0 : Me.lblPrecUnit.Text = "9.50" Case 1 : Me.lblPrecUnit.Text = "9.15" Case 2 : Me.lblPrecUnit.Text = "9.30" Case 3 : Me.lblPrecUnit.Text = "10.20" End Select Añadir = True Case 9 Select Case IndexMarca Case 0 : Me.lblPrecUnit.Text = "7.50" Case 1 : Me.lblPrecUnit.Text = "7.10" Case 2 : Me.lblPrecUnit.Text = "7.95" End Select Añadir = True Case Else Me.lblPrecUnit.Text = "0.00" Añadir = False End Select Me.lblTotal.Text = Format(Val(Me.lblPrecUnit.Text) * Me.nudCantidad.Value, "#####0.00") nudCantidad (Evento ValueChanged) Me.lblTotal.Text = Format(Val(Me.lblPrecUnit.Text) * Me.nudCantidad.Value, "#####0.00") cboModelo (Evento SelectedIndexChanged) IndexArticulo = Me.cboArticulo.SelectedIndex IndexMarca = Me.cboMarca.SelectedIndex IndexModelo = Me.cboModelo.SelectedIndex Select Case IndexArticulo Case 1 Select Case IndexMarca Case 0 : Me.lblPrecUnit.Text = "29.00" Case 1 : Me.lblPrecUnit.Text = "30.00" End Select Case 2 Select Case IndexMarca Case 0 Select Case IndexModelo Joel Martin Chuco Marrufo 39
  42. 42. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Case 0 : Me.lblPrecUnit.Text = "579.00" Case 1 : Me.lblPrecUnit.Text = "689.00" Case 2 : Me.lblPrecUnit.Text = "499.00" End Select Case 1 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "510.00" Case 1 : Me.lblPrecUnit.Text = "560.00" Case 2 : Me.lblPrecUnit.Text = "459.00" End Select Case 2 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "532.00" Case 1 : Me.lblPrecUnit.Text = "619.00" Case 2 : Me.lblPrecUnit.Text = "489.00" End Select Case 3 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "530.00" Case 1 : Me.lblPrecUnit.Text = "614.00" Case 2 : Me.lblPrecUnit.Text = "480.00" End Select End Select Case 3 Select Case IndexMarca Case 0 : Me.lblPrecUnit.Text = "60.00" Case 1 : Me.lblPrecUnit.Text = "63.00" End Select Case 5 Select Case IndexMarca Case 0 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "179.00" Case 1 : Me.lblPrecUnit.Text = "239.00" Case 2 : Me.lblPrecUnit.Text = "320.00" End Select Case 1 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "139.00" Case 1 : Me.lblPrecUnit.Text = "159.00" Case 2 : Me.lblPrecUnit.Text = "239.00" End Select Case 2 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "149.00" Case 1 : Me.lblPrecUnit.Text = "239.00" Case 2 : Me.lblPrecUnit.Text = "259.00" End Select Case 3 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "129.00" Case 1 : Me.lblPrecUnit.Text = "149.00" Case 2 : Me.lblPrecUnit.Text = "179.00" End Select Case 4 Select Case IndexModelo Joel Martin Chuco Marrufo 40
  43. 43. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Case 0 : Me.lblPrecUnit.Text = "189.00" Case 1 : Me.lblPrecUnit.Text = "259.00" Case 2 : Me.lblPrecUnit.Text = "350.00" End Select End Select Case 6 Select Case IndexMarca Case 0 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "42.00" Case 1 : Me.lblPrecUnit.Text = "62.00" Case 2 : Me.lblPrecUnit.Text = "84.00" Case 3 : Me.lblPrecUnit.Text = "96.00" End Select Case 1 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "41.00" Case 1 : Me.lblPrecUnit.Text = "63.00" Case 2 : Me.lblPrecUnit.Text = "82.00" Case 3 : Me.lblPrecUnit.Text = "99.00" End Select Case 2 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "42.00" Case 1 : Me.lblPrecUnit.Text = "64.00" Case 2 : Me.lblPrecUnit.Text = "86.00" Case 3 : Me.lblPrecUnit.Text = "92.00" End Select End Select Case 7 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "89.00" Case 1 : Me.lblPrecUnit.Text = "69.00" End Select Case 8 Select Case IndexMarca Case 0 Select Case IndexModelo Case 0, 2 : Me.lblPrecUnit.Text = "320.00" Case 1, 3 : Me.lblPrecUnit.Text = "290.00" End Select Case 1 Select Case IndexModelo Case 0, 2 : Me.lblPrecUnit.Text = "149.00" Case 1, 3 : Me.lblPrecUnit.Text = "179.00" End Select End Select Case 10 Select Case IndexMarca Case 0 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "48.00" Case 1 : Me.lblPrecUnit.Text = "69.00" Case 2 : Me.lblPrecUnit.Text = "84.00" Case 3 : Me.lblPrecUnit.Text = "56.00" Case 4 : Me.lblPrecUnit.Text = "76.00" Joel Martin Chuco Marrufo 41
  44. 44. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Case 5 : Me.lblPrecUnit.Text = "99.00" End Select Case 1 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "47.00" Case 1 : Me.lblPrecUnit.Text = "67.00" Case 2 : Me.lblPrecUnit.Text = "80.00" Case 3 : Me.lblPrecUnit.Text = "59.00" Case 4 : Me.lblPrecUnit.Text = "81.00" Case 5 : Me.lblPrecUnit.Text = "110.00" End Select Case 2 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "49.00" Case 1 : Me.lblPrecUnit.Text = "69.00" Case 2 : Me.lblPrecUnit.Text = "87.00" Case 3 : Me.lblPrecUnit.Text = "59.00" Case 4 : Me.lblPrecUnit.Text = "80.00" Case 5 : Me.lblPrecUnit.Text = "115.00" End Select End Select Case 11 Select Case IndexMarca Case 0 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "130.00" Case 1 : Me.lblPrecUnit.Text = "140.00" End Select Case 1 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "136.00" Case 1 : Me.lblPrecUnit.Text = "159.00" End Select Case 2 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "124.00" Case 1 : Me.lblPrecUnit.Text = "179.00" End Select Case 3 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "146.00" Case 1 : Me.lblPrecUnit.Text = "184.00" End Select Case 4 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "155.00" Case 1 : Me.lblPrecUnit.Text = "210.00" End Select End Select Case 12 Select Case IndexMarca Case 0 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "11.00" Case 1 : Me.lblPrecUnit.Text = "15.00" End Select Joel Martin Chuco Marrufo 42
  45. 45. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Case 1 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "8.00" Case 1 : Me.lblPrecUnit.Text = "16.00" End Select Case 2 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "13.00" Case 1 : Me.lblPrecUnit.Text = "19.00" End Select End Select Case 13 Select Case IndexMarca Case 0 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "789.00" Case 1 : Me.lblPrecUnit.Text = "999.00" End Select Case 1 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "814.00" Case 1 : Me.lblPrecUnit.Text = "1025.00" End Select End Select Case 14 Select Case IndexMarca Case 0 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "18.00" Case 1 : Me.lblPrecUnit.Text = "27.00" End Select Case 1 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "17.00" Case 1 : Me.lblPrecUnit.Text = "25.00" End Select Case 2 Select Case IndexModelo Case 0 : Me.lblPrecUnit.Text = "18.00" Case 1 : Me.lblPrecUnit.Text = "29.00" End Select End Select End Select Me.lblTotal.Text = Format(Val(Me.lblPrecUnit.Text) * Me.nudCantidad.Value, "#####0.00") btnAdicionar (Evento Click) Dim Descripcion As String If Me.cboArticulo.Text <> "" AndAlso Me.cboMarca.Text <> "" Then Descripcion = Me.cboArticulo.Text + " " + Me.cboMarca.Text If Añadir = False Then If Me.cboModelo.Text <> "" Then Descripcion = Descripcion + " " + Me.cboModelo.Text Else Joel Martin Chuco Marrufo 43
  46. 46. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 MsgBox("Escoja El Modelo del Articulo", MsgBoxStyle.Information, "Error") Exit Sub End If End If Me.lstCantidad.Items.Add(CStr(Me.nudCantidad.Value)) Me.lstDescripcion.Items.Add(Descripcion) Me.lstPrecUnit.Items.Add(Me.lblPrecUnit.Text) Me.lstTotal.Items.Add(Me.lblTotal.Text) Call SumarTotales() Else MsgBox("Escoja El Articulo y/o Marca a Añadir al Carrito", MsgBoxStyle.Information, "Error") End If lstCantidad (Evento SelectedIndexChanged) Dim Index As Integer Index = Me.lstCantidad.SelectedIndex Me.lstDescripcion.SelectedIndex = Index Me.lstPrecUnit.SelectedIndex = Index Me.lstTotal.SelectedIndex = Index Me.btnEliminar.Enabled = True lstDescripcion (Evento SelectedIndexChanged) Dim Index As Integer Index = Me.lstDescripcion.SelectedIndex Me.lstCantidad.SelectedIndex = Index Me.lstPrecUnit.SelectedIndex = Index Me.lstTotal.SelectedIndex = Index Me.btnEliminar.Enabled = True lstPrecUnit (Evento SelectedIndexChanged) Dim Index As Integer Index = Me.lstPrecUnit.SelectedIndex Me.lstDescripcion.SelectedIndex = Index Me.lstCantidad.SelectedIndex = Index Me.lstTotal.SelectedIndex = Index Me.btnEliminar.Enabled = True lstTotal (Evento SelectedIndexChanged) Dim Index As Integer Index = Me.lstTotal.SelectedIndex Me.lstDescripcion.SelectedIndex = Index Me.lstPrecUnit.SelectedIndex = Index Me.lstCantidad.SelectedIndex = Index Me.btnEliminar.Enabled = True Joel Martin Chuco Marrufo 44
  47. 47. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 btnCancelar (Evento Click) Dim Index As Integer Index = Me.lstCantidad.Items.Count - 1 Me.lstCantidad.Items.RemoveAt(Index) Me.lstDescripcion.Items.RemoveAt(Index) Me.lstPrecUnit.Items.RemoveAt(Index) Me.lstTotal.Items.RemoveAt(Index) Call SumarTotales() btnEliminar (Evento Click) Dim Index As Integer Index = Me.lstCantidad.SelectedIndex Me.lstCantidad.Items.RemoveAt(Index) Me.lstDescripcion.Items.RemoveAt(Index) Me.lstPrecUnit.Items.RemoveAt(Index) Me.lstTotal.Items.RemoveAt(Index) Me.btnEliminar.Enabled = False Call SumarTotales() btnNuevo (Evento Click) Call Limpiar() btnSalir (Evento Click) Me.Close() Como se abran dado cuenta la codificación de esta aplicación en muy tediosa, pero aquí se encuentra casi todo los que hemos avanzado hasta ahora Joel Martin Chuco Marrufo 45
  48. 48. Lenguaje de Programación – Capitulo XII Programando con Visual Basic 2005 Bueno señores con esto acaba la Octava entrega de este manual, quisiera pedirles una consulta, que es sobre la entrega décima, tengo una idea y quiero consultarlo con ustedes, se que hasta ahora no hemos tocado el tema de base de datos, así que les parece, que si para la décima entrega, elaboramos un programa casi completo, mejor dicho, un programa con formularios de presentación, de ingreso de usuarios, de procesos, consultas, reportes, ayuda, y casi todo lo que tiene una programa de verdad, desde el diseño y modelamiento de la base de datos, este programa, se trataría de ya se de una empresa de fabricación de mermeladas o de un centro comercial de ventas de GLP (Gas Licuado de Petróleo), ya que cuento con información de estos dos, aunque acepto sugerencias, y por supuesto que cada sugerencia de un programa, tiene que se con su información, en otras palabras aquella persona que propone que hagamos otro tipo de programa, nos tendrá que brindar toda la información necesaria, eso quiere decir, su funcionamiento, los artículos, el manejo de ellos, los tipos de consultas, reportes, como esta estructurado su información, bueno espero sus comentarios en la pagina web www.lawebdelprogramador.com en la sección del manual, en caso que no deseen que sea de esta forma la décima entrega, lo haremos como hasta ahora, por temas, y si lo desean de la forma que propongo lo realizaremos paso por paso, mejor dicho las entregas lo haremos por partes, para que lo vayan avanzando como yo lo avanzo. Aquí les dejo o mejor dicho les envío los programas elaborados hasta ahora, las imágenes que utilizo en esta entrega y en la próxima entrega realizaremos lo siguiente:  Los demás controles (WebBrowser, ListView, TreeView, etc.) Bueno conmigo será hasta la próxima entrega. Joel Martin Chuco Marrufo Visual_Basic_Net_2005@hotmail.com Donaciones a la cuenta de Ahorros del Banco de Interbank del Perú  Cuenta en Soles: 067-3008573552  Cuenta en Dólares: 067-3008573560 www.interbank.com.pe Este Manual Solo lo Puedes Descargar por la Página Oficial. www.lawebdelprogramador.com Lima, 06 de Junio de 2006 Joel Martin Chuco Marrufo 46

×