Está en la página 1de 16

Sistemas UNI. Instructor: V. Carlos, Segura P.

Microsoft Partner

LABORATORIO WINDOWS FORMS .NET – 2.

Derechos Reservados, solo para ser usados dentro de la


institución.
Derechos de Autor

El contenido de este laboratorio tiene todos los derechos reservados, por lo tanto no se
puede reproducir, transcribir, almacenar a un sistema de recuperación o de alteración,
asimismo la traducción a otro idioma de ninguna forma o por ningún medio mecánico,
manual, electrónico, magnético, óptico o de otro modo.

La persecución de una reproducción no autorizada tiene como consecuencia


la cárcel y/o multas.

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

2 WINDOWS FORMS

1 Tipos, Variables y Estructuras de Control.

1.1 Introducción

En esta segunda lección veremos los tipos de datos que existen en el .NET Framework y cómo podemos usarlo
con Visual Basic 2005.

Se dará un repaso a conceptos básicos o elementales sobre los tipos de datos, que si bien nos serán familiares,
es importante que lo veamos para poder comprender mejor cómo están definidos y organizados los tipos de
datos en .NET.

En Visual Basic 2005 los tipos de datos que podremos usar con este lenguaje serán los definidos dentro del
Framwork y que son compartidos con otros lenguajes, del cual cambiaran de nombre de clase, pero tendrán su
equivalente dentro del lenguaje intermedio, por este motivo vamos a empezar usando algunas de las
definiciones que nos encontraremos al desarrollar este modulo.

1.2 Tipos de Datos.

Los tipos de datos que se usan están definidos dentro del marco de Common Type System (CTS)
que se refiere al Sistema de Tipos Comunes, por lo tanto están soportados por todos los lenguajes
que proporciona el Framework

Debido a que el Framework define los tipos de datos, que viene a ser definido dentro del lenguaje
intermedio, todo programa realizado en cualquier tipo de lenguaje que soporta el Visual Studio, este
tendrá un tipo común del mismo tipo para ser manejado internamente del .Net.

Esto es muy importante para la comunicación entre componentes realizados en distintos lenguajes,
no tendremos los problemas de tipos no definidos, cuando hagamos proyectos a nivel de
componentes, comunicación a nivel de ensamblados, siempre y cuando estos se han realizados
dentro de los lenguaje compatibles con los tipos de datos de .NET.

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

Tipos primitivos

En la siguiente tabla se muestra los tipos de datos definidos en .NET Framework y los alias utilizados en Visual
Basic 2005.

Nombre
Tipo de dato en Tipo de dato
de la Descripción
VB.NET en C#
clase
Byte Byte Byte Entero sin signo de 8 bit.
Sbyte Sbyte (No nativo) sbyte Entero sin signo de 8bit (Tipo no acorde con el CLS)
Int16 Short short Entero con signo de 16 bit.
Int32 Integer int Entero con signo de 32 bit.
Int64 Long long Entero con signo de 64 bit.
Uint16 UInt16 (No nativo) ushort Entero sin signo de 16 bit. (Tipo no acorde con el CLS)
Uint32 Uint32 (No nativo) uint Entero sin signo de 32 bit. (Tipo no acorde con el CLS)
Uint64 Uint64 (No nativo) ulong Entero sin signo de 64 bit. (Tipo no acorde con el CLS)
Single Single float Numero con coma flotante de precisión simple, de 32 bit.
Double Double double Numero con coma flotante de precisión doble, de 64 bit.
Boolean Boolean bool Valor lógico
Char Char char Carácter unicode de 16 bit.
Decimal Decimal decimal Valor decimal de 96 bit.
IntPtr IntPtr (No nativo) -- Entero con signo cuyo tamaño depende de la plataforma: 32
bit en plataformas de 32 bit y 64 bit en plataformas de 64
bit. (Tipo no acorde con el CLS)
UintPtr UintPtr (No nativo) -- Entero sin signo cuyo tamaño depende de la plataforma: 32
bit en plataformas de 32 bit y 64 bit en plataformas de 64
bit. (Tipo no acorde con el CLS)
String String string Cadena de caracteres.

Los tipos mostrados en la son los tipos primitivos de .NET tanto para C# y Visual Basic para los cuales cada
lenguaje define su propia palabra clave equivalente con el tipo definido en el CTS de .NET Framework.
Los tipos Variant utilizados en VB 6.0 serán representados por la clase Object, que representa la
implementación de un objeto en la instancia de dicho objeto.

La cantidad de tipos de datos nos ayuda a poder definir bien un tipo de dato con la memoria suficiente
asignada a nuestros datos, por ejemplo para definir un entero tenemos los siguientes tipos:

Long > Integer > Short

Cada uno de ellos asignado un determinado numero de Bits, si el valor máximo de nuestra variable oscilara
entre 1000 y 0… y utilizamos un tipo integer (32 bits), estariamos perdiendo 16 bits al no usar un tipo short

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

1.3 Tipos por valor y tipos por referencia

Los tipos de datos de .NET los podemos definir en dos grandes grupos:

Los Tipos por valor


Los Tipos por referencia

Sistema de Tipos Comunes

Tipos por Valor Tipos por Referencia

Datos Predefinidos Cadenas

Estructuras Matrices

Numeraciones Clases

Los tipos por valor son tipos de datos cuyo valor se almacena en la pila (memoria cercana). Se puede decir que
el acceso al valor contenido en uno de estos tipos es directo como un puntero que apunta al valor, es decir se
almacena directamente en la memoria reservada para ese tipo y el puntero indica la dirección y cualquier
cambio que hagamos lo haremos directamente en la dirección donde se encuentra dicho valor, de igual forma
cuando copiamos valores de un tipo por valor a otro, estaremos haciendo copias independientes.

Ejemplo:

Dim x1 As Integer = 5
Dim x2 As Integer
x2 = x1
x1 = 15
Console.Write("x1:{0} y x2:{1}", x1, x2)

Este resultado arrojara lo siguiente: x1: 15 y x2:5

Los tipos por referencia se almacenan en el heap o memoria "lejana", a diferencia de los tipos por valor, los
tipos por referencia lo único que almacenan es una referencia o dirección al valor asignado, es decir para una
dirección obtenemos otra dirección en donde recién se encuentra el valor. Al hacer copias de tipos por
referencia, realmente lo que copiamos es la referencia propiamente dicha, pero no el contenido de dicho valor.

Ejemplo:

Dim VendedorA As New Persona


VendedorA.Nombre = "Cesar Augusto"

Dim VendedorB As Persona


VendedorB = VendedorA

VendedorA.Nombre = "Rojas Soto"


Console.Write("VendedorA:{0} y VendedorB:{1}", _
VendedorA.Nombre, VendedorB.Nombre)

Este resultado arrojara lo siguiente:


VendedorA: Rojas Soto y VendedorB: Rojas Soto

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

1.4 Declarando Variables y Trabajando con Ellas.

Forma de Declarar Variables

Dim Var1 As Integer


Dim Var2, Var3 As Integer
Dim Var4, Var5 As Integer, Var6 As Short

Con Asignación de Valores

Dim _Var1 As Integer = 25


Dim _Var2 = 5, _Var3 = 10, _Var4 As Integer = 11
Dim Fecha As Date = #5/12/2008#

Dim Contador As Integer = 0


Contador = Contador + 1

Forma Simplificada

Variable([Operador] = Valor)
Contador += 1
Contador -= 1
Contador *= 1
Contador /= 1

Ámbitos y Visibilidad

La variable N se puede acceder Proyectos de la solución


solo en el proyecto pueden acceder a la variable M

Modulo o Clase Publica.


Public M as Integer

Modulo o Clase Friend.


Friend N as Short Modulo o Clase Private.
Private Q as String

Procedimiento o Bloque
Dim P as Integer

La variable Q se puede acceder


solo en la clase o modulo

La variable P solo se puede


acceder dentro del procedimiento

Ejemplo:

Public gnDias As Integer = 0


Private nEstado As Char = "0"
Friend bActivado As Boolean = False

Conversión de Tipos

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

Función Convierte A: Tipos de dato a Convertir:


CStr String Bolean, Char, Date, Object
CInt Integer Bolean, String, Object
CDbl Double Bolean, String, Object
CDate Date String, Object
CType Tipo Especificado Según la función de conversión a usar.

1.5 Enumeraciones
Las enumeraciones son los tipos de datos que son definidas por el desarrollador, que están relacionadas entre
si, con un significado en común. La importancia de este tipo de datos se manifiesta cuando queremos manejar
tipos de una serie de constantes con nombres comunes para nosotros, es decir podemos definir un tipo con un
nombre común para nosotros con un valor predefinido sin poder cambiarlo, así en vez de usar valores
numéricos predefinidos podemos usar estos tipos que devolverán el valor definido al inicio de su creación.

Tipos de valores para ser usados en una enumeración:

Las enumeraciones pueden ser de cualquier tipo numérico, incluso enteros sin signo, aunque el valor
predefinido por default es el de tipo Integer. Podemos declarar una enumeración de varias formas:

Ejemplo, Definición de un Enumeración:

Public Enum Estados As Integer


nActivo = 0
nBloqueado = 1
nELiminado = 2
End Enum

Ejemplo, Definición con asignación por Default:

Friend Enum Colores


rojo
verde
azul
End Enum

Los tipos serán de tipo Integer, y los valores para rojo es 1, verde 2, y azul 3.

Ejemplo, Asignación diversa:

Private Enum TipoCliente


nNuevo = 1
nModificado = 4
nCastigado
End Enum

Los tipos serán de tipo Integer, y los valores para nNuevo es 1, nModificado es 4, y para nCastigado será 5.

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

1.6 Estructuras

Una estructura es una combinación de tipos de datos que se crea combinando otros tipos de datos. Las
estructuras son de tipo por valor (es decir, una variable de tipo de estructura contiene los datos de la estructura
en lugar de referencia a los datos como hace el tipo referencia).

Las estructuras pueden tener datos, propiedades, métodos y procedimientos y pueden invocar y manipular
eventos.

Esquema:

Ejemplo:

Public Structure Cliente


Public sNombre As String
Private sArea As String
Private nPerfil As Integer
Dim sCodigo As String
Friend sAsesor As String
End Structure

También podemos combinar una enumeración con una estructura:

Enum Tipo
TipoA
TipoB
End Enum

Public Structure MisTipos


Public sCodigo As String
Dim nTipo As Tipo
End Structure

Y al usar la estructura, VS2005 nos ayudara a definir que tipo deseamos usar:

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

Laboratorio 02:

I.- Crear el siguiente formulario, con el nombre frmAlumnos, con el siguiente diseño:

grpAlumno txtNombre txtCurso

txtArea

cmbSeccion
numTipAlumno

btnEvaluar
grpCalculo

grpPromedio
txtN1

txtPromedio
txtN2

txtPromedioPorc
txtN3

btnCalcular
txtN4

II.- Agregar un modulo con el nombre modAlumnos, desde el explorador de soluciones seleccionar el proyecto,
dar el Click derecho y seleccionar agregar un nuevo elemento.

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

III.- En la propiedad Ítems del control cmbSeccion agregamos los siguientes elementos.

IV.- Dentro del modulo crearemos una estructura que representara la ficha de un alumno y una enumeración
para los tipos de alumnos:

Enum TipoAlumno
Letras = 1
Ciencias = 2
Ingenieria = 3
End Enum

Structure FichaAlumno
Public Nombre As String
Public Curso As String
Public Area As String
Public Seccion As String
Public Tipo As TipoAlumno
End Structure

V.- Crear una variable en un ámbito visible, que represente la estructura:

Dim stFicha As FichaAlumno

VI.- Dentro del formulario, en el evento Load escribimos lo siguiente:

With stFicha
.Nombre = ""
.Curso = ""
.Area = ""
.Seccion = ""
.Tipo = 0
End With
Me.grpCalculo.Enabled = False
Me.grpPromedio.Visible = False

VII.- En el botón Evaluar colocamos lo siguiente:

With stFicha
.Nombre = Me.txtNombre.Text
.Curso = Me.txtCurso.Text
.Area = Me.txtArea.Text
.Seccion = Me.cmbSeccion.SelectedItem
.Tipo = Me.numTipoAlumno.Value
End With
Me.grpCalculo.Enabled = True

VII.- En el botón calcular, colocar lo siguiente:

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

'Obtenemos las notas ingresadas:


Dim N1, N2, N3, N4 As Integer
N1 = CInt(Me.txtN1.Text)
N2 = CInt(Me.txtN2.Text)
N3 = CInt(Me.txtN3.Text)
N4 = CInt(Me.txtN4.Text)
'Variable para guardar el promedio:
Dim NT As Double
NT = (3 * N1 + N2 + N3 + 2 * N4) / 7
Me.txtPromedio.Text = Format(NT, "##.00")

'Calculo de la variable Promedio porcentual por tipo de alumno:


Dim xVar As Double
If stFicha.Tipo = TipoAlumno.Ciencias Then
xVar = 0.15
ElseIf stFicha.Tipo = TipoAlumno.Ingenieria Then
xVar = 0.12
ElseIf stFicha.Tipo = TipoAlumno.Letras Then
xVar = 0.2
End If

NT *= xVar + 1
Me.txtPromedioPorc.Text = Format(NT, "##.00")
Me.grpPromedio.Visible = True

Realizar lo siguiente:

I.- Modificar el promedio según el tipo de alumno, para esto se muestra los pesos con respecto al tipo:
Ciencias: N1*2 + N2*2 + N3*2 + N4*3
Ingeniería: N1 + N2*3 + N3*3 + N4*2
Letras: N1 + N2 + N3*2 + N4*2

II.- Si el alumno pertenece a la sección:


“SC-235”  la variable promedio porcentual debe aumentar en 40%.
“SC-123”  la variable promedio porcentual debe disminuir en 30%.
“SC-115”  la variable promedio porcentual debe incrementarse en 2 décimas.
“SC-334”  la variable promedio porcentual debe disminuir en 1 décimo, siempre y cuando no sea
negativo.

III.- Crear un nuevo tipo de Alumno “Sociología” cuyo promedio será el promedio inicial, y el calculo del
promedio porcentual debe ser igual a los alumnos de Letras.

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

1.7 Matrices

Una matriz es una secuencia de elementos de datos del mismo tipo. Podemos acceder a elementos individuales
de una matriz utilizando el nombre de la matriz y un índice o índices (empezando por 0) para especificar la
posición del elemento en la matriz. Una matriz tiene una o más dimensiones con uno o mas elementos en cada
dimensión.

Para acceder a los elementos individuales utilizando índices enteros:

Ejemplo de Definición de Matriz en Forma Explicita.

Dim Color(3) As String


Color(0) = "Rojo"
Color(1) = "Verde"
Color(2) = "Azul"
Color(3) = "Negro"

Ejemplo de Definición de Matriz en Forma Implícita.

Dim Dias() as String={"Lunes","Martes","Miercoles","Jueves"}

Ejemplo de Definición de Matriz en Forma Dinámica.

Dim Clientes() As String


'Redimencionando la matriz
ReDim Clientes(1)
'Asignación de Valores
Clientes(0) = "Juan Torres"
Clientes(1) = "Carlos Salas"
ReDim Clientes(3)
Clientes(2) = "Richard Palma"
Clientes(3) = "Miguel Perez"
MsgBox(" Cliente 1:" + Clientes(1) + _
" Cliente 2:" + Clientes(2))

El problema de ReDim es que redimensiona a la matriz blanqueando la matriz, para evitar esto, podemos
agregar la palabra clave Preserve, después de las líneas anteriores colocar lo siguiente:

ReDim Preserve Clientes(5)


Clientes(4) = "Monica Rojas"
Clientes(5) = "Eli Castañeda"
MsgBox(" Cliente 3:" + Clientes(3) + _
" Cliente 5:" + Clientes(5))

Limites de una Matriz.

'Limite Inferior
Dim LimInf As Integer = Clientes.GetLowerBound(0)
'Limite Superior
Dim LimSup As Integer = Clientes.GetUpperBound(0)

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

1.8 Estructuras de Control, Condicionales.

Uso de Condicionales:

If Variable = Valor Then


'Agregar funcionalidades.......
ElseIf Variable = Valor Then
'Agregar funcionalidades.......
Else
'Agregar funcionalidades.......
End If

Otras Formas de Uso de Condicionales:

'Forma Corta:
If Variable = Valor Then Valor = ""
'Forma Anidada:
If Variable = Valor Then Valor = "" : Variable = ""

Forma Comprimida.

Resultado =IIF( [Condición] , [Salida si es Verda] , [Salida si es Falso] )

Condicionales Múltiples.

Select Case Variable


Case Valor
'Agregar funcionalidades.......
Case Valor > 5
'Agregar funcionalidades.......
Case Valor < 5
'Agregar funcionalidades.......
Case 1, 5
'Agregar funcionalidades.......
Case 1 To 5, 8 To 12
'Agregar funcionalidades.......
Case 1 To 3, 4 And b = 6
'Agregar funcionalidades.......
Case Else
'Agregar funcionalidades.......
End Select

Estructuras de Repetición por Contador.

For Valor = [Valor Inicial] To [Valor Final]


‘Function Statements
Condición  Exit For
Next

For Each Objeto To Colección


‘Function Statements
Condición  Exit For
Next

Estructuras de Repetición por Condición.

Do While [Condición hasta que sea Verdad]


Condición  Exit Do
Loop

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

1.9 Funciones, Sub Rutinas y Procedimientos.

Los procedimientos son las sentencias de código ejecutable de un programa. las instrucciones de un
procedimiento están delimitadas por una instrucción de declaración y una instrucción End.

Se definen los siguientes tipos:

Procedimientos Sub: Los procedimientos Sub, realizan acciones pero no devuelven un valor al procedimiento
que realiza la llamada.

[Acceso] Sub [Nombre del Procedimiento] (Argumentos)


‘Function Statements
End Sub

Procedimientos Function: Los procedimientos Function, realizan acciones y pueden devolver un valor al
programa que realiza la llamada.

[Acceso] Function [Nombre del Procedimiento] (Argumentos) As DataType


‘Function Statements
Return DataType
End Sub

Argumentos en los Procedimientos: Los argumentos son datos pasados a procedimientos, podemos dos
tipos de argumentos: ByVal y ByRef.

ByVal: Declaración de un Parámetro por Valor.

ByRef: Declaración de un Parámetro del Valor por Referencia.

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

Laboratorio 03:

I.- Crear el siguiente formulario, con el nombre frmVenta, con el siguiente diseño:

II.- Agregar un modulo con el nombre modVentas, desde el explorador de soluciones, dentro de el agregar una
región:

Module modVentas
#Region "Funiconalidades para las ventas"

#End Region
End Module

III.- Dentro de la región escribir lo siguiente (Declaración de un Enum y una matriz con su método para llenar
dicha matriz):

Enum TipoCliente
Normal
Mayorista
Premiun
Moroso
Nuevo
End Enum

Public miTipo As TipoCliente

Public Listado(6, 1) As String

Public Sub LlenarListado()


Listado(0, 0) = "Espejo 25'x25'"
Listado(0, 1) = "350.24"
Listado(1, 0) = "Placa Metalica 1.5'x2'"
Listado(1, 1) = "112.45"
Listado(2, 0) = "Base Blanca galón de 10Lt."
Listado(2, 1) = "8.5"
Listado(3, 0) = "Puerta de Madera Simple"

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

Listado(3, 1) = "85.5"
Listado(4, 0) = "Repiza de Mueble ADF45"
Listado(4, 1) = "78.5"
Listado(5, 0) = "Plancha de Madera PT23"
Listado(5, 1) = "110.2"
End Sub

IV.- Crear un procedimiento que realice el descuento del producto seleccionado:

Private Sub CalculaDescuento(ByVal Indice As Integer)


'Segun el tipo de cliente, y con la ubicación del producto(i)
'realizamos el descuento:
Select Case miTipo
Case TipoCliente.Normal
Listado(Indice, 1) *= (1 - 0.005)
Case TipoCliente.Mayorista
Listado(Indice, 1) *= (1 - 0.1)
Case TipoCliente.Premiun
Listado(Indice, 1) *= (1 - 0.25)
Case TipoCliente.Moroso
Listado(Indice, 1) *= (1 - 0.18)
Case TipoCliente.Nuevo
Listado(Indice, 1) *= (1 - 0.03)
End Select
End Sub

V.- Crear una función que realiza la búsqueda del producto, y llame al procedimiento anterior para realizar el
descuento.

Public Function getProducto(ByVal NombrePrd As String) As String


Dim sProducto As String

'Recorremos toda la matriz Listado:


For i As Integer = 0 To Listado.GetUpperBound(0) - 1
'Buscamos el nombre del producto en la matriz:
If NombrePrd = Listado(i, 0) Then
'Si encontramos el producto, obtenemos la posición del producto (i)
'y realizamos el descuento
CalculaDescuento(i)
'Juntamos la posición(i), el nombre del Producto y el nuevo Precio
sProducto = CStr(i) + ": " + Listado(i, 0) + " al precio $ " + Listado(i, 1)
Return sProducto
End If
Next
End Function

VI.- En el Load del Formulario, primero llenamos la matriz con los productos, luego realizamos el recorrido por
esta matriz, hasta llenar el Listbox de todos los productos.

LlenarListado()
For i As Integer = 0 To Listado.GetUpperBound(0) - 1
Me.lstProductos.Items.Add(Listado(i, 0))
Next

VII.- En el botón btnItodos colocamos lo siguiente, para que todos los productos se desplacen hacia el Listbox
lstPedidos.

For i As Integer = 0 To Me.lstProductos.Items.Count - 1


Me.lstPedidos.Items.Add(Me.lstProductos.Items.Item(i))
Next
Me.lstProductos.Items.Clear()

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

VIII.- En el botón btnIUno colocamos lo siguiente, para que los productos seleccionados se desplacen hacia el
Listbox lstPedidos.

Me.lstPedidos.Items.Add(Me.lstProductos.SelectedItem)
Me.lstProductos.Items.Remove(Me.lstProductos.SelectedItem)

IX.- Crear los métodos para los botones btnRTodos y btnRUno.

X.- Por ultimo, en el botón Crear Listado, colocamos lo siguiente:

'Guardamos el tipo de cliente seleccionado:


If Me.radNormal.Checked Then miTipo = TipoCliente.Normal
If Me.radMay.Checked Then miTipo = TipoCliente.Mayorista
If Me.radPrem.Checked Then miTipo = TipoCliente.Premiun
If Me.radMoroso.Checked Then miTipo = TipoCliente.Moroso
If Me.radNuevo.Checked Then miTipo = TipoCliente.Nuevo

'Recorremos todos los pedidos realizados:


For i As Integer = 0 To Me.lstPedidos.Items.Count - 1
Dim ProductoDscto As String = ""
'Obtenemos el nombre de un pedido:
Dim NombrePrd As String = Me.lstPedidos.Items.Item(i)

'Realizamos el llamado de la funcion getProducto:


ProductoDscto = getProducto(NombrePrd)
Me.lstVentas.Items.Add(ProductoDscto)
Next

Realizar lo siguiente:

I.- De los productos seleccionados, realizar el cálculo del total de los productos seleccionados:

Es decir en este ejemplo se debería mostrar en el total: 85.0725 + 109.649

II.- realizar las modificaciones necesarias para poder agregar nuevos productos y mantener la misma
funcionalidad de la pantalla.

UNIVERSIDAD NACIONAL DE INGENIERIA


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS

También podría gustarte