Академический Документы
Профессиональный Документы
Культура Документы
(Parte II)
Publicado por Cristian Ayala en 12:06 Etiquetas: Programacion en Capas En este post les voy a mostrar como generar una solucin en Visual Studio 2008 (en mi caso es el Team System), para que puedan agregar varios proyectos (que serian las capas) a una misma solucin. Los pasos son los siguientes: 1. Abrimos el Visual Studio. Y luego vamos a File > New Project
2. En Proyect Types > Desplieguen la lista de Other Project Types > Hacer clic en Visual Studio Solutions > Y Seleccionar Blank Solution > En Name: Seleccionan el nombre que quieren que tenga su Solucin y en Location: Seleccionan la ruta en donde se va a guardar la Solucin, haciendo clic en Browse podes recorrer tus directorios para seleccionar en donde guardar. (Por defecto para una solucin se crea un directorio).
3. El siguiente paso es para agregar los proyectos a la solucin, en general cuando se trabaja con capas, se agregan proyectos de Class Library, de esa forma trabajaremos. Para ello deben hacer lo siguiente (lo pueden hacer de dos formas): La primera: Es haciendo clic con botn derecho sobre nuestra solucin en nuestro Explorador de Soluciones (Solution Explorer) > Luego hacer clic en Add > New Project
4. Luego hay que elegir el proyecto que sea Class Library, como yo uso VB.net , lo seleccione como esta en la imagen. En Name tienen que poner los nombres de cada capa.
5. Tienen que hacer lo mismo para todas las capas que agreguen. Y ya con eso terminan.
Espero que les haya gustado, para las prximas partes, veremos algn ejemplo de capas, para ver como funciona. Saludos y que tengan felices fiestas!!! 0 comentarios martes 29 de diciembre de 2009
Programacin en 3 capas o Three-Tier: es un estilo de programacin en la que el objetivo primordial es la separacin de la lgica de negocios de la lgica de diseo, un ejemplo bsico de esto es separar la capa de datos de la capa de presentacin al usuario. La programacin en capas es la tcnica ms efectiva en aplicaciones empresariales, debido a la fcil administracin que implica el dividir los componentes de la aplicacin en capas y la rapidez que esto implica en programas orientados a Cliente-Servidor. Esta arquitectura consiste en dividir los componentes primarios de la aplicacin, programarlos por separado y despus unirlos en tiempo de ejecucin
Definicin: Una capa representa un elemento del sistema que procesa o trata la informacin. Caractersticas: Una capa puede residir (se ejecuta) en una maquina diferente o en diferentes espacios o entornos de procesos dentro de la misma maquina. Diseando Aplicaciones Distribuidas. El diseo de aplicaciones modernas involucra la divisin de una aplicacin en mltiples capas; la interface de usuario (IU), la capa media de objetos de negocios, y la capa de acceso a datos. Si se programa en 4 Capas, se le agrega una capa la cual es la de Modelo en la cual va una clase por cada tabla que haya en la base de datos, ya que va a tener los atributos de cada tabla las clases (Producto, Persona, etc). Puede ser til identificar los tipos de procesamiento que podemos esperar que una aplicacin realice. Muchas aplicaciones pueden, al menos, hacer lo siguiente:
Clculos u otros procesos de negocios. Ejecucin de reglas de negocios. Validacin de datos relacionados al negocio. Manipulacin de datos. Ejecucin de las reglas de datos relacional. Interactuar con aplicaciones externas o servicios. Interactuar con otros usuarios.
Nosotros podemos tomar estos tipos de servicios y generalizarlos dentro de los tres grupos o capas que a continuacin se resumen: Interface de usuario (Capa de Presentacin)
Clculos u otros procesos de negocios. Ejecucin de reglas de negocios. Validacin de datos relacionados al negocio.
La divisin de estos procesos de aplicaciones y su distribucin entre diferentes procesos cliente/servidor es conocido como Procesamiento Distribuido. Generalizando estos procesos dentro de estas tres categoras o capas es una distribucin lgica y no refleja necesariamente alguna opcin de diseo fsico sobre computadoras, terminales u otros equipos. Usted puede desarrollar una aplicacin cliente/servidor distribuida basada sobre estas tres capas de Presentacin, Lgica de Negocios y Servicios de Datos y tener la aplicacin entera corriendo sobre una simple computadora. Alternativamente, usted puede esparcir estas tres capas a travs de un gran nmero de diferentes computadoras sobre una red. De cualquier forma usted ha desarrollado una aplicacin cliente/servidor de tres capas. Capas o niveles 1 Capa de presentacin (IU): La capa de Presentacin provee su aplicacin con una interface de usuario (IU). Aqu es donde su aplicacin presenta informacin a los usuarios y acepta entradas o respuestas del usuario para usar su programa (Generalmente son formularios WindowsForm, o de tipo consola, etc). Idealmente, la IU no desarrolla ningn procesamiento de negocios o reglas de validacin de negocios. Por el contrario, la IU debera relegar sobre la capa de negocios para manipular estos asuntos. Aunque se puede poner validaciones sobre la IU, como validar datos de entrada que no sean correctos, como por ejemplo, si peds que ingrese un dato numrico e ingresa un dato string (cadena), esa validacin la haces en la IU, las validaciones de Negocio, como que el numero sea entre $50 a $100 va en la capa de Negocio. Comprende las responsabilidades de lgica de presentacin:
Navegabilidad del sistema Validacin de datos de entrada Formateo de los datos de salida Internacionalizacin Reenderezado de presentacin
Recoger la informacin del Usuario. Enviar esta informacin a la Capa de Negocios. Recoger resultados de la Capa de Negocios Presentar los resultados al usuario.
2 Capa de negocio: Toda aplicacin tiene cdigo para implementar reglas de negocios, procesos relacionados a los datos o clculos y otras actividades relativas a los negocios. La lgica de negocios debe mantenerse separada de la capa de presentacin y de los servicios de datos. Deben encapsular la lgica de negocios en un conjunto de objetos o componentes que no contienen presentacin o cdigo de servicios de datos. Teniendo separada lgicamente su lgica de negocios de ambas, la capa de presentacin y servicios de datos, ganar en flexibilidad en trmino de donde usted puede almacenar fsicamente la lgica de negocios. Los objetos de negocios son diseados para reflejar o representar sus negocios. Ellos se convierten en un modelo de sus entidades de negocios e interrelaciones. Esto incluye tanto objetos fsicos como conceptos abstractos. Estos son algunos ejemplos de objetos del mundo real: un empleado, un cliente, un producto, una orden de compra. Puede crear objetos de negocios de una orden conteniendo el cdigo necesario para administrarse a si mismo, as usted nunca necesitar replicar cdigo para crear ordenes, usted solo usar el objeto. Similarmente, un objeto cliente contiene y administra sus propios datos. Un buen diseo de un objeto cliente contiene todos los datos y rutinas necesitadas para representarlo a travs del negocio completo, y puede ser usado a travs de toda la aplicacin de ese negocio. No toda la lgica de negocio es la misma. Alguna lgica de negocio es un proceso intensivo de datos, requiriendo un eficiente y rpido acceso a la base de datos. Otras no requieren un frecuente acceso a los datos, pero es de uso frecuente por una interface de usuario robusta para la validacin en la entrada de campos u otras interacciones de usuarios. Si nosotros necesitamos una validacin al nivel de pantallas y quizs clculos en tiempos real u otra lgica de negocios, pudiramos considerar este tipo de lgica de negocios para ser parte de la IU, ya que en su mayor parte es usada por la interface de usuario. Una alternativa de solucin es dividir la capa de lgica de negocios en dos:
Un ejemplo del objeto Empleado de la capa objetos de negocios de la IU proveer propiedades y mtodos para usar por el diseador de la interface de usuario. Ejemplo de propiedades y mtodos pudieran ser: IDEmpleado, Nombre, Direccin, etc., y como mtodos crear una de compra, etc. El objeto Empleado de la capa de objetos de negocios de datos ser responsable de los mecanismos de persistencias, interactuar con la base de datos. Los objetos de esta capa son considerados sin estado, solo poseen mtodos. Comprende las responsabilidades de lgica de negocio (o dominio) del sistema.
Resultado del anlisis funcional: Conjunto de reglas de negocio que abstraen el mundo real. La capa de negocio ha de ser independiente de la capa de presentacin y viceversa (en la medida de lo posible).
Recibir la informacin de la capa de presentacin Interactuar con los servicios de datos para realizar la lgica de negocio y de la aplicacin. Enviar resultados a la capa de presentacin
3 Capa de datos: Es donde residen los datos. Est formada por uno o ms gestor de bases de datos que realiza todo el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperacin de informacin desde la capa de negocio. Capa que sirve entre como puente entre la capa lgica de negocio y el proveedor de datos. Este capa pretende encapsular las especificidades del proveedor de datos tales como (SQL, Oracle, Sybase, archivos XML, texto, hojas electrnicas), a la siguiente capa. Hoy en da contamos con Enterprise Library, con la cual se nos facilita mas la Capa de Datos, para traer datos, modificar o borrar, etc (Mas adelante les hablare sobre esto). Esta capa queda encargada de tomar la informacin de la base de datos dada una peticin de la capa de Reglas del Negocio, que a su vez es generada por la capa de presentacin. Comprende las responsabilidades de lgica de persistencia de las entidades que maneja el sistema en desarrollo.
Almacenar Datos Recibir datos Mantenimientos de los datos Integridad de los datos
En una arquitectura de tres niveles, los trminos "capas" y "niveles" no significan lo mismo ni son similares. El trmino "capa" hace referencia a la forma como una solucin es segmentada desde el punto de vista lgico: - Presentacin - Lgica de Negocio - Datos En cambio, el trmino "nivel", corresponde a la forma en que las capas lgicas se encuentran distribuidas de forma fsica. Por ejemplo: Una solucin de tres capas (presentacin, lgica, datos) que residen en un solo ordenador (Presentacin+lgica+datos). Se dice, que la arquitectura de la solucin es de tres capas y un nivel. Una solucin de tres capas (presentacin, lgica, datos) que residen en dos ordenadores (presentacin+lgica, lgica+datos). Se dice que la arquitectura de la solucin es de tres capas y dos niveles. Una solucin de tres capas (presentacin, lgica, datos) que residen en tres ordenadores (presentacin, lgica, datos). La arquitectura que la define es: solucin de tres capas y tres niveles. Ventajas de trabajar con Capas:
o o o o o o o o o o
Reutilizacin de capas; Facilita la estandarizacin Dependencias se limitan a intra-capa Contencin de cambios a una o pocas capas darle seguridad y versatilidad al sistema porque con objetos es mas fcil hacer crecer la aplicacin es mas ordenado Clara distribucin de las responsabilidades. Es ms fcil trabajar en equipo con otros desarrolladores y hasta armar equipos de desarrolladores para cada capa. Podemos cambiar de repositorio de datos sin impacto en el resto de la aplicacin.
A veces no se logra la contencin del cambio y se requiere una cascada de cambios en varias capas; Prdida de eficiencia;
o o
Trabajo innecesario por parte de capas ms internas o redundante entre varias capas; Dificultad de disear correctamente la granularidad de las capas.
Cul es la diferencia con la programacin tradicional? Por qu esto es mejor que programar todo de una sola vez y qu diferencia hay entre una arquitectura y otra? Las grficas nos ayudarn a visualizar mejor estas diferencias. MODELO TRADICIONAL Todas las capas estn ubicadas en un nico elemento y al actualizar un elemento se tendrn que afectar todos
En este el cambio en la capa de presentacin no afectar reglas del negocio y se pueden actualizar las funciones de reglas del negocio sin tener que cambiar el acceso a datos. MODELO THREE-TIER
Como podemos apreciar en las grficas, resulta mucho ms prctico programar las capas por separado, sobretodo en situaciones que tenemos un equipo de trabajo de diferentes programadores o el proyecto es para una empresa con varias sucursales con polticas independientes.
Cuando el proyecto es muy grande. Cuando son varios los programadores y existen dificultades para coordinarlos, por ejemplo cuando el software se est desarrollando con programadores freelance que estn muy lejos unos de los otros. Cuando el programa es para una empresa con varias sucursales y cada sucursal puede tener algunos mtodos y polticas diferentes.
En el prximo post les hablare de como hacer su proyecto en Cuatro Capas. Espero que les haya gustado. 0 comentarios domingo 13 de diciembre de 2009
Aplicacin N 12 (cotizacin)
Publicado por Cristian Ayala en 15:47 Etiquetas: Ejemplos Basicos de VB.Net Elaborar una aplicacin que permita crear un objeto de la clase artculo al seleccionar Alta del men Artculo y luego mostrar los artculos cargados en un cuadro combinado (Combo). Apenas el usuario seleccione un artculo se debe mostrar el precio del mismo, el inters es fijo para esta ocasin. El diseo de la interfaz debe ser similar a la siguiente figura:
Al hacer click en el Menu de Articulos, y de nuevo en Altas, se agregaran los articulos al comboBox.
La venta a realizarse es a plazos, ello condiciona la cuota mensual a pagarse. Cuando se haga click sobre el botn Cuota mensual debe mostrarse un cuadro de dilogo con los datos propuestos:
De manera similar al hacer click sobre el botn Total nos debe mostrar la cantidad total a pagar.
Bueno pasemos al codigo del formulario. Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Text = "Pedido de cotizaciones" Me.Label1.Text = "Articulos" Me.Label2.Text = "Precio en US$" Me.Label3.Text = "Interes" Me.GroupBox1.Text = "Plazo:" Me.RadioButton1.Text = "6 meses" Me.RadioButton2.Text = "12 meses" Me.RadioButton3.Text = "24 meses" End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Me.TextBox1.Text = "" Me.TextBox2.Text = "" End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click If MessageBox.Show("Desea Salir?", "Chau", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) = Windows.Forms.DialogResult.OK Then
MessageBox.Show("Ha decidido salir, chau!!!", "CHAU", MessageBoxButtons.OK, MessageBoxIcon.Information) Me.Close() Else MessageBox.Show("Continua en la aplicacion", "Gracias", MessageBoxButtons.OK, MessageBoxIcon.Information) End If End Sub Private Sub AltasToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AltasToolStripMenuItem.Click Dim primerArt As String = "Televisor" Dim segundoArt As String = "Heladera" Dim tercerArt As String = "Computadora" Dim cuartoArt As String = "Cocina" Dim nuevoArticulo As New Articulo(primerArt, segundoArt, tercerArt, cuartoArt) Me.ComboBox1.Items.Add(nuevoArticulo.Primer) Me.ComboBox1.Items.Add(nuevoArticulo.Segundo) Me.ComboBox1.Items.Add(nuevoArticulo.Tercer) Me.ComboBox1.Items.Add(nuevoArticulo.Cuarto) End Sub Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged Select Case (Me.ComboBox1.SelectedIndex) Case 0 : Me.TextBox1.Text = 600.2 REM televisor Case 1 : Me.TextBox1.Text = 900.5D REM heladera Case 2 : Me.TextBox1.Text = 2600D REM computadora Case 3 : Me.TextBox1.Text = 500.2D REM cocina End Select End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim cuotaMensual As Single Dim interes As Single If RadioButton1.Checked = True Then interes = Me.TextBox1.Text * 10 / 100 cuotaMensual = (Me.TextBox1.Text + interes) / 6 MessageBox.Show("Interes: $" & interes & "Cuota Mensual: $" & cuotaMensual,
"Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) End If If RadioButton2.Checked = True Then interes = Me.TextBox1.Text * 20 / 100 cuotaMensual = (Me.TextBox1.Text + interes) / 12 MessageBox.Show("Interes: $" & interes & "Cuota Mensual: $" & cuotaMensual, "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) End If If RadioButton3.Checked = True Then interes = Me.TextBox1.Text * 40 / 100 cuotaMensual = (Me.TextBox1.Text + interes) / 24 MessageBox.Show("Interes: $" & interes & "Cuota Mensual: $" & cuotaMensual, "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) End If End Sub Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged Me.TextBox2.Text = "10%" End Sub Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged Me.TextBox2.Text = "20%" End Sub Private Sub RadioButton3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton3.CheckedChanged Me.TextBox2.Text = "40%" End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim interes As Single Dim total As Single If RadioButton1.Checked = True Then interes = Me.TextBox1.Text * 10 / 100 total = Me.TextBox1.Text + interes MessageBox.Show("El total es " & total, "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information) End If
If RadioButton2.Checked = True Then interes = Me.TextBox1.Text * 20 / 100 total = Me.TextBox1.Text + interes MessageBox.Show("El total es " & total, "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information) End If If RadioButton3.Checked = True Then interes = Me.TextBox1.Text * 40 / 100 total = Me.TextBox1.Text + interes MessageBox.Show("El total es " & total, "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information) End If End Sub End Class ----------------------------------------------------------------------------------------------------Public Class Articulo Private _primerArt As String Private _segundoArt As String Private _tercerArt As String Private _cuartoArt As String Private _interesArt As Single Public Sub New() End Sub Public Sub New(ByVal primerArt As String, ByVal segundoArt As String, ByVal tercerArt As String, ByVal cuartoArt As String) Me.Primer = primerArt Me.Segundo = segundoArt Me.Tercer = tercerArt Me.Cuarto = cuartoArt End Sub Public Property Primer() As String Get Return _primerArt End Get Set(ByVal value As String) _primerArt = value End Set End Property
Public Property Segundo() As String Get Return _segundoArt End Get Set(ByVal value As String) _segundoArt = value End Set End Property Public Property Tercer() As String Get Return _tercerArt End Get Set(ByVal value As String) _tercerArt = value End Set End Property Public Property Cuarto() As String Get Return _cuartoArt End Get Set(ByVal value As String) _cuartoArt = value End Set End Property End Class 0 comentarios mircoles 14 de enero de 2009
Aplicacin N 11 (salario)
Publicado por Cristian Ayala en 15:21 Etiquetas: Ejemplos Basicos de VB.Net Elaborar una aplicacin que permita calcular el salario neto de un trabajador en funcin del nmero de horas trabajadas, pago por hora de trabajo y un descuento fijo al sueldo bruto del 20%. Los clculos a efectuar para obtener el salario neto de un trabajador se muestran a continuacin:
Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Label1.Text = "Apellido y Nombre:" Label2.Text = "Horas Trabajadas:" Label3.Text = "Pago por Hora:" GroupBox1.Text = "Ingreso de Datos" Label4.Text = "Salario Bruto:" Label5.Text = "Descuento:" Label6.Text = "Salario Neto:" GroupBox2.Text = "Salia de Datos" End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If TextBox1.Text <> "" And TextBox2.Text <> "" And TextBox3.Text <> "" Then Dim nombre As String Dim horasTrabajadas As Integer Dim pagoPorHora As Single nombre = TextBox1.Text.ToString horasTrabajadas = CInt(TextBox2.Text) REM horasTrabajadas = single.parse(textbox2.text) pagoPorHora = CSng(TextBox3.Text) REM pagoPorHora = single.parse(textbox2.text)
Dim nuevoEmpleado As New Empleado(nombre, horasTrabajadas, pagoPorHora) nuevoEmpleado.Bruto() nuevoEmpleado.Neto() nuevoEmpleado.DescuentoHecho() Me.TextBox4.Text = nuevoEmpleado.SalarioBruto.ToString Me.TextBox5.Text = nuevoEmpleado.Descuento.ToString Me.TextBox6.Text = nuevoEmpleado.SalarioNeto.ToString Else MessageBox.Show("Por Favor ingrese los datos!", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning) End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" TextBox6.Text = "" End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click If MessageBox.Show("Desea Salir?", "Chau", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) = Windows.Forms.DialogResult.OK Then MessageBox.Show("Ha decidido salir!, CHAU!!!") Me.Close() Else MessageBox.Show("Gracias por continuar") End If End Sub End Class -----------------------------------------------------------------------------------------------Public Class Empleado Private _nombre As String Private _horasTrabajadas As Single Private _pagoPorHora As Single
Private _salarioBruto As Single Private _descuento As Single Private _salarioNeto As Single Public Sub New(ByVal nombre As String, ByVal horasTrabajadas As Single, ByVal pagoPorHora As Single) Me._nombre = nombre Me._horasTrabajadas = horasTrabajadas Me._pagoPorHora = pagoPorHora End Sub Public Property Nombre() As String Get Return _nombre End Get Set(ByVal value As String) _nombre = value End Set End Property Public Property HorasTrabajadas() As Single Get Return _horasTrabajadas End Get Set(ByVal value As Single) _horasTrabajadas = value End Set End Property Public Property PagoPorHora() As Single Get Return _pagoPorHora End Get Set(ByVal value As Single) _pagoPorHora = value End Set End Property Public Property SalarioBruto() As Single Get Return _salarioBruto End Get Set(ByVal value As Single) _salarioBruto = value End Set End Property Public Property Descuento() As Single
Get Return _descuento End Get Set(ByVal value As Single) _descuento = value End Set End Property Public Property SalarioNeto() As Single Get Return _salarioNeto End Get Set(ByVal value As Single) _salarioNeto = value End Set End Property Public Sub Bruto() Me.SalarioBruto = Me._pagoPorHora * Me._horasTrabajadas End Sub Public Sub DescuentoHecho() Me.Descuento = CType(0.2 * Me._salarioBruto, Single) End Sub Public Sub Neto() Me.SalarioNeto = Me._salarioBruto - Me._descuento End Sub End Class
0 comentarios
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim cadena As String Dim caracter() As Char cadena = TextBox1.Text() TextBox2.Text = StrReverse(cadena) caracter = cadena.ToCharArray() For i As Integer = 1 To caracter.Length Array.Sort(caracter) TextBox3.Text = caracter Next End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.TextBox1.Text = "" Me.TextBox2.Text = "" Me.TextBox3.Text = "" End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim respuesta As DialogResult respuesta = MessageBox.Show("Desea Continuar", "Seleccione una opcion", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If (respuesta = Windows.Forms.DialogResult.No) Then Me.Close() End If End End Sub End Class
Public Class Form1 Dim persona_Nueva As Persona_ = New Persona_() Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged persona_Nueva.sexo = Persona_._sexo.Masculino End Sub Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged persona_Nueva.sexo = Persona_._sexo.Femenino End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Persona_.Limpiar() End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox3.Text = InputBox("Ingrese edad") End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Me.Close() End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click persona_Nueva.Apellido = TextBox2.Text persona_Nueva.Nombre = TextBox1.Text If TextBox3.Text <> "" Then persona_Nueva.Edad = Byte.Parse(TextBox3.Text) End If persona_Nueva.Cine = CheckBox2.Checked persona_Nueva.Deporte = CheckBox3.Checked persona_Nueva.Internet = CheckBox1.Checked TextBox4.Text = (persona_Nueva.ToString()) 'mostar en listbox End Sub Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged persona_Nueva.Internet = CheckBox1.Checked End Sub Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged persona_Nueva.ocupacion = ComboBox1.SelectedItem.ToString End Sub Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox3.CheckedChanged persona_Nueva.Cine = CheckBox2.Checked End Sub End Class -------------------------------------------------------------------------------------Imports System.Text Public Class Persona_
Dim cadena As StringBuilder Enum _sexo Masculino Femenino End Enum Public sexo As _sexo Private _nombre As String Public Property Nombre() As String Get Return _nombre End Get Set(ByVal value As String) _nombre = value End Set End Property Private _apellido As String Public Property Apellido() As String Get Return _apellido End Get Set(ByVal value As String) _apellido = value End Set End Property Private _ocupacion As String Public Property ocupacion() As String Get Return _ocupacion End Get Set(ByVal value As String) _ocupacion = value End Set End Property Private _cine As Boolean Public Property Cine() As Boolean Get Return _cine End Get Set(ByVal value As Boolean) _cine = value End Set End Property
Private _deporte As Boolean Public Property Deporte() As Boolean Get Return _deporte End Get Set(ByVal value As Boolean) _deporte = value End Set End Property Private _internet As Boolean Public Property Internet() As Boolean Get Return _internet End Get Set(ByVal value As Boolean) _internet = value End Set End Property Private _edad As Byte Public Property Edad() As Byte Get Return _edad End Get Set(ByVal value As Byte) _edad = value End Set End Property Public Shared Sub Limpiar() 'shared...metodo estatico Form1.TextBox1.Text = "" Form1.TextBox2.Text = "" Form1.TextBox3.Text = "" Form1.TextBox4.Text = "" Form1.RadioButton1.Checked = False Form1.RadioButton2.Checked = False Form1.CheckBox1.Checked = False Form1.CheckBox2.Checked = False Form1.CheckBox3.Checked = False End Sub
Public Overrides Function ToString() As String Dim cadena As StringBuilder = New StringBuilder cadena.AppendLine("Nombre: " & Me.Nombre) cadena.AppendLine("Apellido: " & Me.Apellido) cadena.AppendLine("Ocupacin: " & Me.ocupacion) cadena.AppendLine("Edad: " & Me.Edad) cadena.AppendLine("Sexo: " & Me.sexo.ToString) If Me.Internet = True Or Me.Cine = True Or Me.Deporte = True Then cadena.AppendLine("Intereses:") If Me.Internet = True Then cadena.AppendLine("Internet") End If If Me.Deporte = True Then cadena.AppendLine("Deporte") End If If Me.Cine = True Then cadena.AppendLine("Cine") End If End If Return cadena.ToString End Function End Class
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim _compra As Integer _compra = CInt(Me.TextBox3.Text) While _compra > 30 And _compra < 50 Dim _descuento1 As Double Dim _total1 As Double _descuento1 = _compra * 10 / 100 _total1 = _compra - _descuento1 Me.TextBox2.Text = _descuento1.ToString Me.TextBox1.Text = _total1.ToString End While If _compra > 50 Then Dim _descuento2 As Double Dim _total2 As Double _descuento2 = _compra * 20 / 100 _total2 = _compra - _descuento2 Me.TextBox2.Text = _descuento2.ToString Me.TextBox1.Text = _total2.ToString End If If _compra < 30 Then Me.TextBox1.Text = _compra.ToString End If End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Me.Close() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.TextBox1.Clear() Me.TextBox2.Clear() Me.TextBox3.Clear() End Sub End Class