jueves, 8 de abril de 2010

Introducción a los Applets

Capitulo del Libro de Deitel para la revision de los applets
Bajar aqui

Nuevo ejemplo Neptuno con DataAdapter y Datasets

El nuevo ejemplo con el DataAdapter y los DataSet, incluye un nuevo objeto DatagridView para que vean el funcionamiento  bajar de aqui.

miércoles, 7 de abril de 2010

Tarea - Programación Orientada a Objetos

Pueden bajar la tarea en el siguiente enlace : Tarea.-

Solución Examen Programación II - ADO .NET

A continuación la solución del Examen de Programación II (Segundo Parcial).  Básicamente la idea era desarrollar un formulario con un ComboBox, un ListBox, un TextBox y dos Buttons, uno para mostrar la información y otro para salir del programa.

El formulario podría haber lucido de esta forma

El código se muestra a continuación y el proyecto completo se puede bajar haciendo click aqui. Recuerden cambiar el nombre del servidor en la cadena de conexión.-

Imports System.Data
Imports System.Data.SqlClient

Public Class Form1
    'Declarar el objeto conexión a este nivel permite que funcione en cualquier procedimiento
    'del formulario
    Dim cn As SqlConnection

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Inicializar el objeto conexión
        cn = New SqlConnection()

        'Crear la cadena de conexión asignarla al objeto conexión y abrir la conexión
        Dim sConexion As String
        sConexion = "Data Source=D7PPS31\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=true"
        cn.ConnectionString = sConexion
        cn.Open()

        'Cargar el combo con los Id de los Empleados
        Dim cmd As SqlCommand = New SqlCommand("SELECT EmployeeID FROM Employees ORDER BY EmployeeID", cn)

        'Crear un datareader y llenarlo con el método executereader del objeto command
        Dim drd As SqlDataReader = cmd.ExecuteReader()

        'Con un ciclo cargar los datos en el combo
        While drd.Read()
            ComboBox1.Items.Add(drd("EmployeeID"))
        End While

        'Cerrar el datareader
        drd.Close()

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'Mostrar los datos
        'Una vez seleccionado un dato del ComboBox, se muestran los datos

        'Se puede validar que se haya seleccionado algo en el ComboBox
        If ComboBox1.Text = "" Then
            MessageBox.Show("Debe seleccionar un ID de Empleado del Combo...")
            Exit Sub
        End If

        Dim cmd As SqlCommand = New SqlCommand("SELECT FirstName + ' ' + LastName as Nombre FROM Employees WHERE EmployeeID='" & ComboBox1.Text & "'", cn)
        'Se puede asignar directamente el valor al cuadro de texto destinado para el nombre
        'del empleado usando el método ExecuteScalar, ya que solo se espera un valor
        TextBox1.Text = cmd.ExecuteScalar()

        'Ahora buscar todas las ordenes de pedido en la tabla ORDERS y mostrarlas en el ListBox
        cmd = New SqlCommand("SELECT * FROM Orders WHERE EmployeeID ='" & ComboBox1.Text & "'", cn)
        Dim drd As SqlDataReader = cmd.ExecuteReader()

        ListBox1.Items.Clear()
        While drd.Read
            ListBox1.Items.Add(drd("EmployeeID").ToString + vbTab + drd("OrderID").ToString + vbTab + drd("OrderDate").ToString + vbTab + drd("ShipAddress"))
        End While

        'Cerrar el DataReader
        drd.Close()


    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        'Salir del programa, se cierra el formulario actual y se finaliza
        Me.Close()
        End
    End Sub
End Class

lunes, 29 de marzo de 2010

Segundo Exámen Parcial Programación Orientada a Objetos - Java

Enunciado:
La empresa informática “IPM Tech” necesita llevar un registro de todos sus empleados que se encuentran en la oficina central, para eso ha creado un diagrama de clases que debe incluir lo siguiente:
1) Empleado
Atributos:
- nombre: tipo cadena (Debe ser nombre y apellido)
- cedula: tipo cadena
- edad : entero (Rango entre 18 y 45 años)
- casado: boolean
- salario: tipo numérico doble
Métodos:
- Constructor con y sin parámetros de entrada
- Método que permita mostrar la clasificación según la edad de acuerdo al siguiente algoritmo:
               Si edad es menor o igual a 21, Principiante
               Si edad es >=22 y <=35, Intermedio
               Si edad es >35, Senior.-
- Imprimir los datos del empleado por pantalla (utilizar salto de línea \n para separar los atributos.
- Un método que permita aumentar el salario en un porcentaje que sería pasado como parámetro al método.
2. Programador (Especialización de Empleado).  Clase que hereda de Empleado todos los atributos y métodos.
    - Atributos:
         - lineasDeCodigoPorHora : tipo entero
         - lenguajeDominante: tipo cadena
   - Metodos:
         - Constructor con y sin parámetos de entrada.
SOLUCION:
Primero debe definirse la clase Empleado con los atributos señalados en el exámen, se definen los métodos con las acciones pertinentes.  Posteriormente se define la clase Programador como hija de la clase Empleado, con sus atributos y métodos correspondientes. Cuando se hace referencia a la clase padre se antepone al atributo la palabra super.  La palabra this sirve para referenciar el objeto actual.

/**
 * ExamnIPM.java
 */

class Empleado{
 String nombre;
 String cedula;
 int edad;
 boolean casado;
 double salario;
 
 Empleado(){
 }
 
 Empleado(String nombre, String cedula, int edad, boolean casado, double salario)  {
  this.nombre = nombre;
  this.cedula = cedula;
  this.edad = edad;
  this.casado = casado;
  this.salario = salario;
  
 }
 
 public String Clasificacion(){
  String c="";
  if (edad <= 21){
   c = "Principiante";
  }
  if ((edad >=22) & (edad <= 35)){
   c = "Intermedio";
  }
  if (edad > 35){
   c = "Senior";
  }
  return c;
 }
 
 public void ImprimirEmpleado(){
  System.out.println(this.nombre);
  System.out.println(this.cedula);
  System.out.println(this.edad);
  if (casado) {
   System.out.println("Casado");
  }
  else
  {
   System.out.println("Soltero");
  }
  System.out.println(this.salario);
 }
 
 public void AumentarSalario(double incremento){
  salario = salario * (1 + incremento);
 }
 
}

class Programador extends Empleado{
 int lineasDeCodigoPorHora;
 String lenguajeDominante; 
  
 Programador(String nombre, String cedula, int edad, boolean casado, double salario, int lineasDeCodigoPorHora, String lenguajeDominante){
 
  super.nombre = nombre;
  super.cedula = cedula;
  super.edad = edad;
  super.casado = casado;
  super.salario = salario;
  this.lineasDeCodigoPorHora = lineasDeCodigoPorHora;
  this.lenguajeDominante = lenguajeDominante;
 }  
 
 Programador(){
 } 
 
}

public class ExamnIPM {

    public static void main(String[] args){
     Empleado e = new Empleado("Orlando Arróliga","12345",17,true,2000);
     Programador p1 = new Programador("Flavio","3456",20,false,1000,123,"Visual Basic");
     p1.nombre = "Flavio";
     p1.salario = 1000;
     p1.AumentarSalario(0.25);
  p1.ImprimirEmpleado();      
    }
    
    
}

El código fuente se puede bajar de aquí: ExamenIPM.java.

martes, 23 de marzo de 2010

Clases y Objetos

Este es un extracto de unos capitulos del libro Programación en Java2 de la editorial Mc Graw Hills - Schaum, de los autores Jesús Sánchez Allende, Pilar Moreno Díaz, Gabriel Huecas y otros autores.  Es un libro muy didáctico y tiene muchos ejemplos.  El extracto contempla el capítulo 2 que trata de clases y objetos, métodos y atributos y el capitulo 3 de ampliación de clases, etc. Todo el material que se utilizó en clases.


Para bajarlo hacer click en el siguiente enlace: Programando en Java 2

Curso de Java y Programación Orientada a Objetos

En el siguiente Link encontrarán un manual básico de Java, para que les sirva para material de estudio.
Java Curso Básico