Bienvenida

Slide

domingo, 3 de enero de 2010

CODIGO DE IMPLEMENTACION (1ra parte) principal.java

Es importante tener conocimiento acerca de herencia, polimorfismo, uso de sentencias como son for, if else, do while, tambien es necesario conocer sobre expresiones regulare, validacion, entre otras cosas. Pues bien dado la primera parte del codigo, se procedera a dar la explicacion de las lineas que componen dicho codigo, dando ademas conceptos basicos para ententer dicho codigo.
Pues bien en las dos primeras lineas hacemos uso de las librerias mostradas en el codigo, para hacer uso de los cuadros de dialogo, y la segunda para poder usar expresiones regulares y con ello tambien validar dichas expresiones. EJEMPLOS



import
javax.swing.JOptionPane;
import java.util.regex.*;
------------------------------------------------------------------------------------------------------------------------------------------
Acontinuacion simplemente creamos la clase principal y con ello la implementacion del codigo.
//cliente de prueba para la clase nomina
class principal
{
public static void main(String[] args)
{
int num, IntCont=0;
String entrada;
nomina nom = new nomina(50);
for(;;){ //permite realizar un menu infinito.
// La siguiente linea simplemente nos muestra un cuadro de dialogo con las opciones que necesitamos
entrada=JOptionPane.showInputDialog("\n Realizado por grupo 13 \n\n***********************\nDavid Nunez\n***********************\n\n1.- Ingreso de Empleado\n2.- Mostrar Listado\n3.- Mostrar Nomina Completa\n4.- Eliminar Ultimo Registro\n5.- Salir\n\nOpcion: ");


------------------------------------------------------------------------------------------------------------------------------------------

Simplemente con el uso de Pattern y Matcher realizamos la validacion para verificar que los datos de teclado sean numeros y no letras. y con el uso de la sentencia if nos ayudamos a verificar dichos valores ademas de verificar que se teclee alguna opcion, para cualquier caso se mostrara un mensaje de error como se muestra en la siguiente figura. Si el valor se encuentra correcto, la sentencia if permite saltar a la siguiente linea para seguir ejecutando el codigo.
la sentencia que nos permite mostrar este dialogo se encuentra al final del codigo, y es el uso de la sentencia else.

Pattern p=Pattern.compile("[0-9]");
Matcher m=p.matcher(entrada);
if ((entrada != null) && (entrada.length() > 0) && (m.find()))
------------------------------------------------------------------------------------------------------------------------------------------
En esta parte del codigo, viene lo que es la sentencia switch, que permite realizar un menu con opciones y que dada la opcion desde teclado, permita ejecutar alguna expresion o codigo en especial. Pues bien para nuestro caso tenemos 5 opciones, para seleccionar cada opcion se usa case (opcion):
y luego se puede implementar un codigo o llamar simplemente a una funcion para que se ejecute.
En el caso uno se llama a LeerDatos, esto nos permitira ingresar los datos por teclado, claro que por cada usuario que se ingrese sera necesario almacenar en un contador. Con esto nos ayudaremos a verificar si existen o no usuarios para los casos 2 y 3. En el caso de que no se haya inscrito ningun usuario y se selecciona la opcion 2 o tres se nos mostrara un mensaje de advertencia y se nos pedira nuevamente seleccionar la opcion primera.


{

num = Integer.parseInt(entrada);
switch(num)
{
------------------------------------------------------------------------------------------------------------------------------------------
En el caso 1 que es la opcion de ingresar datos se hace el llamado a nomina y se nos pedira dos datos, el nombre del usuario y el sueldo que ganara. Ya ingresado los datos correspondientes, se volvera al menu principal y realizar cualquier consulta, o eliminar el usuario
case 1:
{
nom.leerDatos(IntCont++);
}break;

------------------------------------------------------------------------------------------------------------------------------------------
En el caso dos ya ingresado los datos podemos llamar a la funcion empleado y constatar que esta ingresado el usario con el salario correspondiente, ademas podemos ver cuantos registros existen. Mas adelante veremos el codigo que permite realizar dichas acciones.
case 2:

{
nom.Muestra(IntCont,false);
}break;


------------------------------------------------------------------------------------------------------------------------------------------
Para el caso tres es similar al caso dos pero con la diferencia que al final se mostrar cual es el total que se debe pagar por salario de empleados.
case 3:
{
nom.Muestra(IntCont,true);
}break;

------------------------------------------------------------------------------------------------------------------------------------------
En la opcion 4 se nos permite borrar la ultima entrada ingresada, es decir, si se ingresa primero el usuario david y luego el usuario andres, el usuario a eliminarse sera andres. Claro que primero se nos muestra un cuadro de dialogo que permite elegir entre borrar y no hacerlo. Esto es con ayuda de JOptionPane.showConfirmDialog Con la sentencia if nos permitimos realizar la eliminacion del usuario en caso de que se haya seleccionado Ok, caso contrario el registro seguira intacto. veamos los ejermplos
case 4:
{
int confirmado = JOptionPane.showConfirmDialog(null ,"¿En verdad desea eliminar la ultima entrada?");
if (JOptionPane.OK_OPTION == confirmado)
{
IntCont--;
JOptionPane.showMessageDialog(null,"\nRegistro Eliminado!...\n");
}
else
JOptionPane.showMessageDialog(null,"\n No se elimino el registro...");
}break;

Al volver a seleccionar las opciones 2 y 3 simplemente aparecera los usuarios que quedaron registrados, para nuestro ejemplo como se inscribio 2 y se elimino el ultimo se nos mostraria nuevamente en el cuadro de dialogo

y en el caso que se hayan borrado completamente los usarios nuevamente se nos mostrara el cuadro de dialogo de no existen usuarios.
------------------------------------------------------------------------------------------------------------------------------------------
En esta opcion simplemente se muestra un cuadro de dialogo de agradecimiento.
case 5:

{
JOptionPane.showMessageDialog(null,"\nGracias por utilizar este programa....\n");
System.exit(0);
}break;



------------------------------------------------------------------------------------------------------------------------------------------

en la opcion default simplemente nos permite mostrar un cuadro de dialogo pidiendo que se seleccione una opcion entre la 1 y 5. Este mensaje de seleccion erronea se mostrara siempre y cuando las opciones ingresadas por teclado no esten entre 1 y 5.




default:
{
JOptionPane.showMessageDialog(null,"Seleccion erronea\n\n\nElija nuevamente una opcion del 1 al 5...", "META BIEN EL DEDO CARAMBA", )OptionPane.PLAIN_MESSAGE);
}
}
}
------------------------------------------------------------------------------------------------------------------------------------------
else
JOptionPane.showMessageDialog(null,"Las opciones no contienen letras ni puede dejar vacio la seleccion..\n\n Elija por favor una opcion...."," ERROR",JOptionPane.WARNING_MESSAGE);
}
}
}
el uso de else nos permite mostrar el cuadro de dialogo de error cuando los datos ingresados por teclado para seleccionar una opcion, sean numeros o no se ingrese nada y se presione seguido enter.

En la proxima entrada seguire comentando la segunda parte del proyecto donde veremos en detalle cada una de las opciones seleccionadas desde menu. Por lo pronto me despido, deseandoles exitos enlas funciones que realicen...

Saludos y no se olviden de comentar estas entradas :):):)...


1 comentario:

  1. Considero que tu proyecto está bastante bueno ya que has aplicado los conocimientos de Poo, tales como uso de regex; lo cual es importante al momento de programar ya que de esta manera el programa no permitirá ingresar información que no este destinada a ser almacenada en la base de datos.

    ResponderEliminar

Dejanos tu comentario acerca de las entradas y desarrollo del proyecto, sera de vital ayuda para seguir realizando un buen proyecto.
SALUDOS!!!