Sie sind auf Seite 1von 13

Programador con Visual Basic 2008

CAPITULO III

Fundamentos de Programacin con

Visual Basic
2008

Autor: MANUEL TORRES


Telf. 996-396023
Email: manuel.torresr@hotmail.com

Autor: Lic. Manuel TORRES

Pagina N 1

Programador con Visual Basic 2008

CAPITULO III

CAPITULO III
OBJETO LISTA
CONTADORES Y ACUMULADORES
MANEJO DE FECHAS
ESTRUCTURAS REPTITIVAS
SENTENCIA FOR
SENTENCIA DO
SENTENCIA WHILE
EJERCICIOS PROPUESTOS

Autor: Lic. Manuel TORRES

Pagina N 2

Programador con Visual Basic 2008

CAPITULO III

OBJETO LISTA (ListBox)


Cuadro de Lista, presenta una lista de elementos en la que el usuario puede seleccionar uno o mas
elementos de la misma, en el caso los elementos rebalsen el tamao automaticamente se crearan barras de
desplazamiento.

PROPIEDADES
Name

lstAlumnos

DataSource

Indica que elementos estn relacionados a su matriz.

Locked

Bloquea el acceso de sus elementos.

Items

Contiene los elementos de la Lista.

Sorted

Permite ordenar alfabeticamente los elementos contenidos en la lista.

ScrollAlwaysVisible

Permite activar la barra de desplazamiento en la Lista.

EVENTOS
Permite agregar un elemento a la Lista.

Add

Ejm: lista.Items.Add(Valor)
Permite eliminar un elemento de la Lista pero indicando en que

RemoveAt

posicion se encuentra ese elemento.


Ejm: lista.Items.RemoveAt(1)
Permite acceder a un elemento de la lista especificando la

Item

posicion del mismo.


Ejm: elemento = lista.Items.Item(1)
Permite limpiar toda la Lista completa.

Clear

Ejm: lista.Items.Clear()
Devuelve el total de elementos de la Lista.

Count
SelectedIndex

Ejm: lista.Items.Count
Devuelve la posicion del ndice del elemento seleccionado.
Ejm: lista.SelectedIndex

CONTADORES
Es una variable cuyo valor se incrementa o decrementa en una cantidad constantes en cada iteraccion o
ciclo. Un contador es una variable numrica que permite contar algn evento que ocurre durante la
ejecucion de un programa.
Formato
Contador de 1
Valor

Donde:

Autor: Lic. Manuel TORRES

Variable = Variable + Incremento


C=C+1
C += 1
La Variable C tiene el valor final de conteo.
C+1, aqu se incrementa en 1 al ultimo valor de C.
Normalmente el incremento es 1, pero tambin
puede ser negativo.
Este formato tiene que estar dentro de una
Estructura Repetitiva.
Pagina N 3

Programador con Visual Basic 2008

CAPITULO III

ACUMULADORES
O totalizador es una variable cuya mision es almacenar cantidades variables resultantes de sumas sucesivas.
Realiza la misma funcion que un contador, con la diferencia de que el incremento o decremento de cada
suma es variable en lugar de constante como en el caso del contador.
Formato
Acumular un Valor
N

Donde:

Variable = Variable + nuevoValor


A=A+N
A += N
La Variable A tiene el resultado de lo
acumulado.
A + N, el ultimo valor de A se suma con el
valor ingresado en N.
Se necesita estar dentro de un Ciclo
repetitivo.

Caso Desarrollado:
Una tienda vende tres tipos de productos a los precios unitarios dados en la siguiente tabla:
Producto
A
B
C

Precio
21.5
30.0
15.0

Disee un programa que permita efectuar ventas y muestre luego de cada venta:

El importe a pagar.
El nmero de ventas efectuadas de cada tipo de producto.
El importe total recaudado por cada tipo de producto.

Declare como globales a las variables absolutamente necesarias.

Formulario Propuesto:

Autor: Lic. Manuel TORRES

Pagina N 4

Programador con Visual Basic 2008

CAPITULO III

'Declaracion de Variables Globales


Dim cA%, cB%, cC%, importeTotalA@, importeTotalB@, importeTotalC@, totalNeto@
Private Sub frmVenta_Load() Handles MyBase.Load
cboProducto.Items.Add("A")
cboProducto.Items.Add("B")
cboProducto.Items.Add("C")
End Sub
Private Sub
Dim
Dim
Dim

btnProcesar_Click() Handles btnProcesar.Click


Precio As Decimal
Cantidad = Integer.Parse(txtCantidad.Text)
importePagar As Decimal

Select Case cboProducto.Text


Case "A"
cA += 1
Precio = 21.5
importePagar = Precio * Cantidad
importeTotalA += importePagar
Case "B"
cB += 1
Precio = 30.0
importePagar = Precio * Cantidad
importeTotalB += importePagar
Case "C"
cC += 1
Precio = 15.0
importePagar = Precio * Cantidad
importeTotalC += importePagar
End Select
totalNeto += importePagar
txtS.Text = " *** Resumen de Ventas ***"
txtS.Text += vbNewLine & "Total de Productos
txtS.Text += vbNewLine & "Total de Productos
txtS.Text += vbNewLine & "Total de Productos
txtS.Text += vbNewLine & "Total Importe de A
txtS.Text += vbNewLine & "Total Importe de B
txtS.Text += vbNewLine & "Total Importe de C
txtS.Text += vbNewLine & "Total Neto a Pagar

de A es: " & cA


de B es: " & cB
de C es: " & cC
es: S/. " & importeTotalA.ToString("0.00")
es: S/. " & importeTotalB.ToString("0.00")
es: S/. " & importeTotalC.ToString("0.00")
: S/. " & totalNeto.ToString("0.00")

End Sub

Autor: Lic. Manuel TORRES

Pagina N 5

Programador con Visual Basic 2008

CAPITULO III

Casos Propuestos:
1. Disee una Aplicacin que permita ingresar, mediante un botn y de uno en uno, los
sueldos de los empleados de una Empresa y muestre luego de cada ingreso la cantidad de
sueldos registrados, el mayor, el menor sueldo ingresado y el acumulado de Sueldos.

2. En un peaje se desea saber cuantos vehculos de cada tipo pasaron por el peaje y la
cantidad total de pasajeros por tipo de vehculo. Los tipos de vehculos a considerar son:
automvil, camin, camioneta, omnibus y otros. Se pide:
VEHICULO
Automovil
Camion
Camioneta
Omnibus
Otros

Autor: Lic. Manuel TORRES

CANTIDAD
1
1
0
1
1

PASAJEROS
5
5
0
2
8

Pagina N 6

Programador con Visual Basic 2008

CAPITULO III

SENTENCIAS DE CONTROL REPETITIVAS


Es muy comun utilizar bucles o ciclos repetitivos de instrucciones que se estaran realizando
mientras se cumpla una determinada condicion:

Sentencias Repetitivas
o

For..Next

Do While Loop

Do Until Loop

Formatos:
Realiza ciclos de un inicio y fin
especificos
Ejecuta instrucciones del bucle
mientras cumpla una determinada
condicion.
Ejecuta instruccin del bucle
mientras la condicion sea falsa
cuando cumpla la condicion
terminara el ciclo.

For Variable=valorInicial To valorFinal


Acciones Repetidas
Next
Contador=valorInicial
Do While (Condicion)
AccionesRepetidas
aumentarContador
Loop
Contador=valorInicial
Do Until (Condicion)
AccionesRepetidas
aumentarContador
Loop

Casos:

Mostrar los 10 primeros numeros en


una caja de texto.

Autor: Lic. Manuel TORRES

For i=1 to 10
txtS.text += vbNewLine & i
Next i
i=1
Do While i<=10
txtS.text += vbNewLine & i
i+=1
Loop
i=1
Do Until i>10
txtS.text += vbNewLine & i
i+=1
Loop

Pagina N 7

Programador con Visual Basic 2008

CAPITULO III

FUNCIONES DE FECHA:
Las fechas son un tipo de cadena especial, se puede almacenar la Fecha y la Hora:
A. Declaracin:
Formato

Dim variableTipoFecha As Date

Ejemplo

Dim fechaIngreso As Date

B. Funciones:
Date
TimeOfDay
Now
WeekDay
Day
Month
Year
Hour
Minute
Second
DateAdd

Devuelve la Fecha Actual.


Ejm: Dim fActual As Date = Date
Devuelve la Hora Actual.
Ejm: Dim hActual As Date = TimeOfDay
Devuelva la Fecha y la Hora Actual
Ejm: Dim hoy As Date = Now
Devuelve el da de la semana (1:Domingo-2:Lunes)
Ejm: Dim nDia As Integer = Weekday(Date.Today)
Devuelve el numero de da a partir de una Fecha.
Ejm: Dim nFecha As Integer = DateAndTime.Day(Date.Today)
Devuelve el numero de Mes a partir de una Fecha.
Ejm: Dim nMes As Integer = DateAndTime.Month(Date.Today)
Devuelve el ao a partit de una Fecha
Ejm: Dim anio As Integer = DateAndTime.Year(Date.Today)
Obtiene la Hora a partir de un Tiempo.
Ejm: Dim hora As Integer = DateAndTime.Hour(TimeOfDay.ToString)
Obtiene los minutos a partir de un Tiempo.
Ejm: Dim minutos As Integer = DateAndTime.Minute(TimeOfDay.ToString)
Obtiene los segundos a partir de un Tiempo.
Aade un intervalo de tiempo entre 2 Fechas
Formato:
Variable=DateAdd(Intevarlo, avanceNumerico, FechaReferencia)

Autor: Lic. Manuel TORRES

Pagina N 8

Programador con Visual Basic 2008

CAPITULO III

Caso Desarrollado
Una tienda Comercial desea controlar los montos y las fechas de las Ventas que se realizan al
credito de un determinado producto para lo cual se tienen los siguientes precios:
Producto
Precio
Lavadora
700.00
Refrigeradora
1500.00
Television
2500.00
Radio
500.00
De debera seleccionar el producto - las letras del Credito e ingresar la cantidad de productos a
comprar.

Formulario Propuesto:

Private Sub frmCompraCredito_Load()Handles MyBase.Load


cboProducto.Items.Add("Lavadora")
cboProducto.Items.Add("Refrigeradora")
cboProducto.Items.Add("Television")
cboProducto.Items.Add("Radio")
lblFecha.Text = Date.Today
End Sub

Autor: Lic. Manuel TORRES

Pagina N 9

Programador con Visual Basic 2008

CAPITULO III

Private Sub btnComprar_Click() Handles btnComprar.Click


'Limpiando
lstCompra.Items.Clear()
'Declarando Variables
Dim Meses%, Precio As Decimal, montoMensual As Decimal
Dim Fecha As Date
'Capturando los valores seleccionados
Dim Producto As Integer = cboProducto.SelectedIndex
Dim Cantidad As Integer = Integer.Parse(txtCantidad.Text)
'Asignando Precio de acuerdo al Producto
Select Case cboProducto.SelectedIndex
Case 0 : Precio = 700
Case 1 : Precio = 1500
Case 2 : Precio = 2500
Case 3 : Precio = 500
End Select
'Capturando la Cantidad de meses
If rb6.Checked = True Then meses = 6
If rb12.Checked = True Then meses = 12
If rb24.Checked = True Then meses = 24
If rb36.Checked = True Then meses = 36
'Determinando el Monto Mensual
montoMensual = (Precio * Cantidad) / Meses
lstCompra.Items.Add("N" & vbTab & "Fecha Pago" & vbTab & "Monto")

For i = 1 To meses
Fecha = DateAdd(DateInterval.Month, i, Date.Today)
lstCompra.Items.Add(i & vbTab & Fecha & vbTab &
montoMensual.ToString("0.00"))
Next
End Sub

Autor: Lic. Manuel TORRES

Pagina N 10

Programador con Visual Basic 2008

CAPITULO III

Caso Desarrollado
Crear una aplicacin que permita controlar el Detalle de la Venta de los siguientes Productos:
Producto

Lavadora
Television
Refrigeradora
Cocina
DVD

Precio Unitario

1000
1500
2500
700
300

Debera tener en cuenta:


- Se tiene que habilitar que si el usuario no desea un producto la aplicacin debera
eliminarlo de las lista actualizando el SubTotal, el Descuento(10%) y el Neto a Pagar.
- Si el usuario anula toda la Venta debera limpiar todos los objetos utilizados.
Formulario Propuesto:

Dim SubTotalGeneral As Decimal


Private Sub frmDetalleVenta_Load() Handles MyBase.Load
cboProducto.Items.Add("Lavadora")
cboProducto.Items.Add("Television")
cboProducto.Items.Add("Refrigeradora")
cboProducto.Items.Add("Cocina")
cboProducto.Items.Add("DVD")
End Sub
Autor: Lic. Manuel TORRES

Pagina N 11

Programador con Visual Basic 2008

CAPITULO III

Private Sub btnProcesar_Click() Handles btnProcesar.Click


Dim Precio As Decimal, Descuento As Decimal, Neto As
Decimal
'Capturando los datos
Dim producto% = cboProducto.SelectedIndex
Dim cantidad% = Integer.Parse(txtCantidad.Text)
'Calculando el SubTotal por cada Producto comprado
Select Case producto
Case 0 : Precio = 1000
Case 1 : Precio = 1500
Case 2 : Precio = 2500
Case 3 : Precio = 700
Case 4 : Precio = 300
End Select
Dim SubTotal As Decimal = Precio * cantidad
SubTotalGeneral += SubTotal
Descuento = SubTotalGeneral * 0.1
Neto = SubTotalGeneral - Descuento
'Enviando los datos a las Listas
lstProducto.Items.Add(cboProducto.Text)
lstSubTotal.Items.Add(SubTotal)
lblSubtotal.Text = SubTotalGeneral.ToString("0.00")
lblDescuento.Text = Descuento.ToString("0.00")
lblNeto.Text = Neto.ToString("0.00")
End Sub
Private Sub btnEliminaProducto_Click()
Dim Descuento@, neto@, subTotal As Decimal
Dim productoSeleccionado% = lstProducto.SelectedIndex
lstProducto.Items.RemoveAt(productoSeleccionado)
lstSubTotal.Items.RemoveAt(productoSeleccionado)
For i = 0 To lstSubTotal.Items.Count - 1
subtotal += lstSubTotal.Items.Item(i)
Next
Descuento = subTotal * 0.1
neto = subTotal - Descuento
SubTotalGeneral = subTotal
lblSubtotal.Text = subTotal.ToString("0.00")
lblDescuento.Text = Descuento.ToString("0.00")
lblNeto.Text = Neto.ToString("0.00")
End Sub

Autor: Lic. Manuel TORRES

Pagina N 12

Programador con Visual Basic 2008

CAPITULO III

Private Sub btnAnular_Click() Handles btnAnular.Click


lstProducto.Items.Clear()
lstSubTotal.Items.Clear()
cboProducto.Text = Nothing
txtCantidad.Text = Nothing
SubTotalGeneral = Nothing
lblDescuento.Text = Nothing
lblNeto.Text = Nothing
lblSubtotal.Text = Nothing
End Sub

CASO PROPUESTO:
En una empresa se van a producir aumentos de sueldos a sus trabajadores en base a la siguiente
escala:
Sueldo (S/.)
Aumento (%)
501 a Mas
10
351 500
15
201 350
20
Hasta 200
25
La Empresa cuenta con N trabajadores y se desea calcular el total de personas que recibirn el 10,
15, 20 y 25% de aumento, as como el total a desembolsar por la Empresa.

Autor: Lic. Manuel TORRES

Pagina N 13

Das könnte Ihnen auch gefallen