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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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