Вы находитесь на странице: 1из 34

Como hacer una aplicacin en Capas?

(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

La segunda: Es haciendo clic en File > 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

Como hacer una aplicacin en Capas? (Parte I)


Publicado por Cristian Ayala en 10:32 Etiquetas: Programacion en Capas

Programacin en capas primero a entender que es?


Cuantas capas existen para programar? En la actualidad Se han propuesto diversas tcnicas de programacin, cuyo objetivo es mejorar tanto el proceso de creacin de software como su mantenimiento. Entre ellas se pueden mencionar las programaciones lineal, estructurada, modular y orientada a objetos. Pero la programacin en capas es el mejor mtodo para la facilidad de el programador por este motivo existen n-capas pero El diseo ms en boga actualmente es el diseo en tres niveles (o en tres capas).

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)

Interactuar con otros usuarios. Interactuar con aplicaciones externas o servicios.

Procesos de negocios (Capa de Negocios)


Clculos u otros procesos de negocios. Ejecucin de reglas de negocios. Validacin de datos relacionados al negocio.

Procesos de datos (Capa de Servicios de Datos).


Manipulacin de datos. Ejecucin de las reglas de datos relacional.

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

Funciones de la capa 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:

Objetos de negocios de la IU. Objetos de negocios de datos.

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

Funciones de la capa de Negocio:


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.

Insercin Eliminacin Actualizaciones Bsquedas

Funciones de la capa de Datos:


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.

Desventajas de trabajar con Capas:


o o

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.

Cundo es recomendable utilizar esta arquitectura?


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:

SalarioBruto = HorasTrabajadas * PagoPorHora Descuento = 0.2 * SalarioBruto SalarioNeto = SalarioBruto Descuento

El diseo de la interfaz debe ser similar a la figura mostrada:

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

Aplicacin N 8 (Manejo de cadena)


Publicado por Cristian Ayala en 16:26 Etiquetas: Ejemplos Basicos de VB.Net Escriba una funcin que reciba como argumento una cadena de caracteres, la devuelva en forma inversa y ordena alfabticamente sus letras.

Public Class Form1

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

0 comentarios martes 13 de enero de 2009

Aplicacin N 7 (Ingreso de datos)


Publicado por Cristian Ayala en 17:45 Etiquetas: Ejemplos Basicos de VB.Net Elaborar una aplicacin que permita ingresar los datos de una persona, guardar los datos en una lista y mostrarlos en un ListBox, Sobrescribiendo el mtodo ToString de la clase Persona, los atributos de esta clase son: Nombre, Apellido, edad, Sexo (enumerado) Y los atributos Intereses que son de tipo Booleano: Cine, Deportes E Internet, utilizar un ImputBox Para el ingreso de la edad, Y un Messagebox para confirmar la operacin de cancelacin. Realizar Un mtodo estatico Limpiar que borrar los valores de todos los controles, este mtodo se llamara despus de cargar los datos en la lista y al cancelar la operacin.

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

0 comentarios domingo 11 de enero de 2009

Aplicacin N 6 (Descuento por Compra)


Publicado por Cristian Ayala en 06:46 Etiquetas: Ejemplos Basicos de VB.Net Un restaurante ofrece un descuento del 10% para consumos entre $ 30.00 y $ 50.00; un descuento del 20% para consumos mayores a $ 50.00; para todos los dems casos no se aplica ningn tipo de descuento. Elaborar una aplicacin que permita determinar el importe a pagar por el consumidor. El diseo de la interfaz Es el Siguiente:

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

Вам также может понравиться