martes, 25 de marzo de 2014

Sacar CURP en JAVA

Bueno ahorita vengo con otra entrada parecida a la que puse de como sacar el CURP pero nooo con un FOR y bueno recordé si una cosa se puede en un lenguaje, por que no en otro.

Recordé el str_replace que a veces empleo en php xD!.

Abrimos nuestro IDE netbeans con nuestro JDK de java más actual.
Abrimos un nuevo proyecto como cualquier otro en consola y en la parte de proyects, abrimos las pestañitas hasta ver Soure packages donde están las clases en este caso el método Main. agregamos un JFrame como se ve en la imagen.


Ahora para acceder a el JFrame cuando arranquemos el programa en modo DEBUG o EXECUTE pues instan-ciaremos el JFRAME en el Main y le diremos que lo queremos ver.

YA, ahora vamos a codear un poco.
Como se saca el CURP bueno más bien que datos necesitamos?

NOMBRE APELLIDO PATERNO y MATERNO.
LUGAR DE NACIMIENTO.
FECHA DE NACIMIENTO.
SEXO.
y bueno eso creo.

PONDREMOS 4 JTEXFIELD.

jTextField1 para Nombre
jTextField2 para apellido paterno.
jTextField3 para apellido materno.
jTextField4 para mostrar el curp.

5 jComboBox.

jComboBox1 para año
jComboBox2 para mes
jComboBox3 para dia
jComboBox4 para entidad federativa
jComboBox5 para sexo.

1 Boton

Para ejecutar todo lo que pusimos. xD.

Bueno los pegamos en nuestro NewJFrame y se vera asi......
OJO... poner etiquetas (LABEL) para saber que cosa es cada cosa..... :S jajaja.

NOTA hay que quitarles los valores a los jtxtfield o mejor dicho los nombres para que no digan jTextField y a los combo box quitarles las letras que dicen Item1, Item2 y eso lo hacen borrando lo que dice en esta parte.


Bueno ya que hicimos esto nos vamos al sourse code del JFRAME.

y en el constructor en esta parte:


lo que queremos que muestren cada jComboBox.

el primero mostrará el año:

ponemos esto:

 for (int a = 1950; a<=2013 ; a++)
        {
            jComboBox1.addItem( Integer.toString( a ) );
        add( jComboBox1 );
        }  
el segundo mes y el tercero dias.

jComboBox2.addItem("01");
        jComboBox2.addItem("02");
        jComboBox2.addItem("03");
        jComboBox2.addItem("04");
        jComboBox2.addItem("05");
        jComboBox2.addItem("06");
        jComboBox2.addItem("07");
        jComboBox2.addItem("08");
        jComboBox2.addItem("09");
        jComboBox2.addItem("10");
        jComboBox2.addItem("11");
        jComboBox2.addItem("12");
       
        jComboBox3.addItem("01");
        jComboBox3.addItem("02");
        jComboBox3.addItem("03");
        jComboBox3.addItem("04");
        jComboBox3.addItem("05");
        jComboBox3.addItem("06");
        jComboBox3.addItem("07");
        jComboBox3.addItem("08");
        jComboBox3.addItem("09");
        jComboBox3.addItem("10");
        jComboBox3.addItem("11");
        jComboBox3.addItem("12");
        jComboBox3.addItem("13");
        jComboBox3.addItem("14");
        jComboBox3.addItem("15");
        jComboBox3.addItem("16");
        jComboBox3.addItem("17");
        jComboBox3.addItem("18");
        jComboBox3.addItem("19");
        jComboBox3.addItem("20");
        jComboBox3.addItem("21");
        jComboBox3.addItem("22");
        jComboBox3.addItem("23");
        jComboBox3.addItem("24");
        jComboBox3.addItem("25");
        jComboBox3.addItem("26");
        jComboBox3.addItem("27");
        jComboBox3.addItem("28");
        jComboBox3.addItem("29");
        jComboBox3.addItem("30");
        jComboBox3.addItem("31");

Bueno ahora que.....el jComboBox 4 entidad federativa y el 5 el sexo:

jComboBox4.addItem("AGUAS CALIENTES"); //AS
        jComboBox4.addItem("BAJA CALIFORNIA"); //BC
        jComboBox4.addItem("B. CALIFORNIA SUR"); //BS
        jComboBox4.addItem("CAMPECHE"); //CC
        jComboBox4.addItem("COAHUILA"); //CL
        jComboBox4.addItem("COLIMA"); // CM
        jComboBox4.addItem("CHIAPAS"); // CS
        jComboBox4.addItem("CHIHUAHUA"); //ch
        jComboBox4.addItem("DISTRITO FEDERAL"); // D,F
        jComboBox4.addItem("DURANGO"); //DG
        jComboBox4.addItem("GUANAJUATO"); //gt
        jComboBox4.addItem("GUERRERO"); //GR
        jComboBox4.addItem("HIDALGO"); //HG
        jComboBox4.addItem("JALISCO"); //JC
        jComboBox4.addItem("ESTADO DE MEX"); //MC
        jComboBox4.addItem("MICHOACAN"); //MN
        jComboBox4.addItem("MORELOS"); //MS
        jComboBox4.addItem("NAYARIT"); //NT
        jComboBox4.addItem("NUEVO LEON"); //NL
        jComboBox4.addItem("OAXACA"); // OC
        jComboBox4.addItem("PUEBLA"); // PL
        jComboBox4.addItem("QUERERTARO"); //QT
        jComboBox4.addItem("QUINTANA ROO"); //QR
        jComboBox4.addItem("SAN LUIS POTOSI"); // SP
        jComboBox4.addItem("SINALOA");// SL
        jComboBox4.addItem("SONORA"); // SR
        jComboBox4.addItem("TABASCO"); //TC
        jComboBox4.addItem("TAMAULIPAS"); //TS
        jComboBox4.addItem("TLAXCALA"); // TL
        jComboBox4.addItem("VERACRUZ"); //VZ
        jComboBox4.addItem("YUCATAN"); // YN
        jComboBox4.addItem("ZACATECAS"); // SZ
        jComboBox4.addItem("NACIDO EXTRANJERO");  //NE
       
       
        jComboBox5.addItem("H");
        jComboBox5.addItem("M");

Ahora veamos que más, a!!! si un radio button para seleccionar la ejecucion del CURP para que vean como se hace y otro ara el RFC aaa!!!! y agregamos un button group


El button group lo agregamos al formulario pero no aparecerá nada pero esto es normal ahora en el code en el constructor ponemos esto.
OJO se agregaran los radio button tantos como lo que agregues en tu JFRAME solo puse dos y queda así.


Bueno ya ahora nos vamos a la parte del boton, abrimos el formulario en modo diseño y le damos 2 clicks al botón de ejecutar yo le puse un nombre de ok. xD pero por default se llama jButton1ActionPerformed

Como ven en la imagen se ve que se ejecutara el metodo Curp() para sacar el curp. pero vamos a crearlo para que deje de marcar que no existe xD.

creamos el método Curp() en una parte que este afuera de un método arriba del Main del JFRAME para que vean a lo que me refiero y pondremos una variable global arriba (AFUERA) del método Curp();


String che;
    public void Curp()
    {
         String pat = this.jTextField2.getText();
        String mat = this.jTextField3.getText();
        String nom = this.jTextField1.getText();
        String a = this.jComboBox1.getSelectedItem().toString();
        String b = this.jComboBox2.getSelectedItem().toString();
        String c = this.jComboBox3.getSelectedItem().toString();
        String d = this.jComboBox5.getSelectedItem().toString();
        String e = this.jComboBox4.getSelectedItem().toString();
       
        switch(e)
        {
        case "AGUAS CALIENTES":
                 che = "AS";      
               break;
        case "BAJA CALIFORNIA":
            che = "BC";
            break;
        case "B. CALIFORNIA SUR":
            che = "BS";
            break;
        case "CAMPECHE":
            che = "CC";
            break;
        case "COAHUILA":
            che = "CL";
            break;
        case "COLIMA":
            che = "CM";
            break;
        case "CHIAPAS":
            che = "CS";
            break;
        case "CHIHUAHUA":
            che = "CH";
            break;
        case "DISTRITO FEDERAL":
            che = "DF";
            break;
        case "DURANGO":
            che = "DG";
            break;
        case "GUANAJUATO":
            che= "GT";
            break;
        case "GUERRERO":
            che = "GR";
            break;
        case "HIDALGO":
            che = "HG";
            break;
        case "JALISCO":
            che = "JC";
            break;
        case "ESTADO DE MEX":
            che="MC";
            break;
        case "MICHOACAN":
            che="MN";
            break;
        case "MORELOS":
            che="MS";
            break;
        case "NAYARIT":
            che="NT";
            break;
        case "NUEVO LEON":
            che="NL";
            break;
        case "OAXACA":
            che="OC";
            break;
        case "PUEBLA":
            che="PL";
            break;
        case "QUERERTARO":
            che="QT";
            break;
        case "QUINTANA ROO":
            che="QR";
            break;
        case "SAN LUIS POTOSI":
            che="SP";
            break;
        case "SINALOA":
            che = "SL";
            break;
        case "SONORA":
            che = "SR";
            break;
        case "TABASCO":
            che = "TC";
            break;
        case "TAMAULIPAS":
            che = "TS";
            break;
        case "TLAXCALA":
            che ="TL";
            break;
        case "VERACRUZ":
            che="VZ";
            break;
        case "YUCATAN":
            che="YN";
            break;
        case "ZACATECAS":
            che="ZS";
            break;
           
        case "NACIDO EXTRANJERO":
            che="NE";
            break;
       
           
        }
       
           String xd = jTextField1.getText();  // tomamos lo que se escribió en el nombre.
           String mostrar = xd.replaceAll("[A,E,I,O,U]", "");  //remplaza las vocales con campo nulo
           String xd1 = jTextField2.getText();
           String mostrar2 = xd1.replaceAll("[A,E,I,O,U]", "");
           String xd2 = jTextField3.getText();
           String mostrar3 = xd2.replaceAll("[A,E,I,O,U]", "");
 this.jTextField4.setText(pat.substring(0,2)+mat.substring(0,1)+nom.substring(0,1)+a.substring(2,4)+b.substring(0,2)+c.substring(0,2)+d.substring(0,1)+che+mostrar.substring(1,2)+mostrar2.substring(1,2)+mostrar3.substring(1,2)+"0"+a.substring(2,3));  
   
    }

Ahora execute y veremos el show. recuerda que hay que llenar los campos con MAYUSCULAS PARA EVITAR ERRORES. si quieres abarcar minúsculas pues en el replaceAll("[A,E,I,O,U]",""); agregarle más letras a,e,i,o,u en minúsculas.

ya hora si vualá!!!!


domingo, 16 de marzo de 2014

Centro de Tecnologías de Ecatepec.

Bueno ahora les traigo una entrada algo peculiar, una entrada para todo programador, para el que tenga la capacidad de aportar ideas y proyectos para la ciudadanía; para aquellos que la necesitan más.

Este proyecto surge a través de las necesidades más comunes de todos, ya sea, comerciantes, pequeñas empresas, alumnos de otros lugares, o simples personas que necesitan algo que les ayude a tener mejor calidad y productividad en cualquier tipo de marco laboral o no solo laboral; puede ser de investigación.

C.T.E se plantea fundar a través de todos los que realmente quieran aportar algo en el sitio, ya que por lo mientras está en desarrollo pero ya cuenta con un proyecto el cuál se dará a conocer el mismo día que se fundará el C.T.E.

El C.T.E. planea difundir conocimiento a todos y que sea en ocasiones O.S (Open Sourse). Para investigar y mejorar tecnologías, C.T.E. integra, revoluciona, proyecta e impulsa a todos los interesados en tecnologías para todos y para el mejoramiento del ambiente.

Participa en ello, se parte de algo nuevo para todos y no solo para uno. C.T.E. plantea ser una institución que no tendrá ningún carácter político y que se basara en los valores éticos y profesionales de todos lo que lo integren.

CONTACTO:

javi_gv89@hotmail.com --> FB, @, Skype.

Saludos.


miércoles, 12 de marzo de 2014

Estructura y diseño. HTML5 Parte 1.

Y que digan y sigan diciendo lo que quieran, bueno este día recordé a un amigo conocido en el bajo mundo del hip-hop "rowan rabia -> Mono" guitarrista del Cartel de Santa ya que me dio un consejo alguna vez para volver hablarle a una persona muy especial; me comentó.... simplemente deja salir todo lo que tienes, búscala y habla con ella, pero creo olvidé que a ella no le gustaba que la fuera a ver a su casa.....y fui. Pero en fin aquí en mi espacio web yo hago y suelto mis más profundos sentimientos en arte, el verdadero arte profundo y agónico del programar ..... ;).

DISEÑO.

En la base de un diseño web clásico siempre nos encontramos con una barra más que aquí llamamos Institucional. La nombramos de esta manera porque esta es el área en donde normalmente se muestra información acerca del sitio web, el autor o la empresa, además de algunos enlaces con respecto a reglas, términos y condiciones y toda información adicional que el desarrollador considere importante compartir. La barra Institucional es un complemento de la Cabecera y es parte de lo que se considera estos días la estructura esencial de una página web, como podemos apreciar en el siguiente ejemplo:


1. Cabecera
2. Barra de Navegación
3. Sección de Información Principal
4. Barra Lateral
5. El pie o la barra Institucional

Esta simple representación de un blog nos puede ayudar a entender que cada sección definida en un sitio web tiene un propósito. A veces este propósito no es claro pero en esencia se encuentra siempre allí, ayudándonos a reconocer cualquiera de las secciones descritas anteriormente en todo diseño. HTML5 considera esta estructura básica y provee nuevos elementos para diferenciar y declarar cada una de sus partes. A partir de ahora podemos decir al navegador para qué es cada sección:


<header>


Uno de los nuevos elementos incorporados en HTML5 es <header>. El elemento <header> no debe ser confundido con <head> usado antes para construir la cabecera del documento. Del mismo modo que <head>, la intención de <header> es proveer información introductoria (títulos, subtítulos, logos), pero difiere con respecto a <head> en su alcance. Mientras que el elemento <head> tiene el propósito de proveer información acerca de todo el documento, <header> es usado solo para el cuerpo o secciones específicas dentro del cuerpo:


<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="iso-8859-1">
<meta name="description" content="Ejemplo de HTML5">
<meta name="keywords" content="HTML5, CSS3, JavaScript">
<title>Este texto es el título del documento</title>
<link rel="stylesheet" href="misestilos.css">
</head>
<body>
<header>
<h1>Este es el título principal del sitio web</h1>
</header>
</body>
</html>


En el Listado 1-10, definimos el título de la página web utilizando el elemento <header>. Recuerde que esta cabecera no es la misma que la utilizada previamente para definir el título del documento. La inserción del elemento <header> representa el comienzo del cuerpo y por lo tanto de la parte visible del documento. De ahora en más será posible ver los resultados de nuestro código en la ventana del navegador.

Conceptos básicos: Entre las etiquetas <header> en el Listado hay un elemento que probablemente no conoce. El elemento <h1> es un viejo elemento HTML usado para definir títulos. El número indica la importancia del título. El elemento <h1> es el más importante y <h6> el de menor importancia, por lo tanto <h1> será utilizado para mostrar el título principal y los demás para subtítulos o subtítulos internos. Más adelante veremos cómo estos elementos trabajan en HTML5.

<nav>

Siguiendo con nuestro ejemplo, la siguiente sección es la Barra de Navegación. Esta barra es generada en HTML5 con el elemento <nav>:

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="iso-8859-1">
<meta name="description" content="Ejemplo de HTML5">
<meta name="keywords" content="HTML5, CSS3, JavaScript">
<title>Este texto es el título del documento</title>
<link rel="stylesheet" href="misestilos.css">
</head>
<body>
<header>
<h1>Este es el título principal del sitio web</h1>
</header>
<nav>
<ul>
<li>principal</li>
<li>fotos</li>
<li>videos</li>
<li>contacto</li>
</ul>
</nav>
</body>
</html>

Como se puede apreciar en el Listado, el elemento <nav> se encuentra dentro de las etiquetas <body> pero es ubicado después de la etiqueta de cierre de la cabecera (</header>), no dentro de las etiquetas <header>. Esto es porque <nav> no es parte de la cabecera sino una nueva sección.


Anteriormente dijimos que la estructura y el orden que elegimos para colocar los elementos HTML5 dependen de nosotros. Esto significa que HTML5 es versátil y solo nos otorga los parámetros y elementos básicos con los que trabajar, pero cómo usarlos será exclusivamente decisión nuestra. Un ejemplo de esta versatilidad es que el elemento <nav> podría ser insertado dentro del elemento <header> o en cualquier otra parte del cuerpo. Sin embargo, siempre se debe considerar que estas etiquetas fueron creadas para brindar información a los navegadores y ayudar a cada nuevo programa y dispositivo en el mercado a identificar las partes más relevantes del documento. 

<section>

Siguiendo nuestro diseño estándar nos encontramos con las columnas que en la imagen llamamos Información Principal y Barra Lateral. Como explicamos anteriormente, la columna Información Principal contiene la información más relevante del documento y puede ser encontrada en diferentes formas (por ejemplo, dividida en varios bloques o columnas). Debido a que el propósito de estas columnas es más general, el elemento en HTML5 que especifica estas secciones se llama simplemente <section>:

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="iso-8859-1">
<meta name="description" content="Ejemplo de HTML5">
<meta name="keywords" content="HTML5, CSS3, JavaScript">
<title>Este texto es el título del documento</title>
<link rel="stylesheet" href="misestilos.css">
</head>
<body>
<header>
<h1>Este es el título principal del sitio web</h1>
</header>
<nav>
<ul>
<li>principal</li>
<li>fotos</li>
<li>videos</li>
<li>contacto</li>
</ul>
</nav>
<section>
</section>
</body>
</html>

Al igual que la Barra de Navegación, la columna Información Principal es una sección aparte. Por este motivo, la sección para Información Principal va debajo de la etiqueta de cierre </nav>.

IMPORTANTE: Las etiquetas que representan cada sección del documento están localizadas en el código en forma de lista, unas sobre otras, pero en el sitio web algunas de estas secciones se ubicarán lado a lado (las columnas Información Principal y Barra Lateral son un claro ejemplo). En HTML5, la responsabilidad por la representación de los elementos en la pantalla fue delegada a CSS. El diseño será logrado asignando estilos CSS a cada elemento HTML.

<aside>

En un típico diseño web  la columna llamada Barra Lateral se ubica al lado de la columna Información Principal. Esta es una columna o sección que normalmente contiene datos relacionados con la información principal pero que no son relevantes o igual de importantes.

En el diseño de un blog, por ejemplo, la Barra Lateral contendrá una lista de enlaces. En el ejemplo de la imagen, los enlaces apuntan a cada una de las entradas del blog y ofrecen información adicional sobre el autor (número 4). La información dentro de esta barra está relacionada con la información principal pero no es relevante por sí misma.

Siguiendo el mismo ejemplo podemos decir que las entradas del blog son relevantes pero los enlaces y las pequeñas reseñas sobre esas entradas son solo una ayuda para la navegación pero no lo que al lector realmente le interesa.

En HTML5 podemos diferenciar esta clase secundaria de información utilizando el elemento <aside>:

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="iso-8859-1">
<meta name="description" content="Ejemplo de HTML5">
<meta name="keywords" content="HTML5, CSS3, JavaScript">
<title>Este texto es el título del documento</title>
<link rel="stylesheet" href="misestilos.css">
</head>
<body>
<header>
<h1>Este es el título principal del sitio web</h1>
</header>
<nav>
<ul>
<li>principal</li>
<li>fotos</li>
<li>videos</li>
<li>contacto</li>
</ul>
</nav>
<section>
</section>
<aside>
<blockquote>Mensaje número uno</blockquote>
<blockquote>Mensaje número dos</blockquote>
</aside>
</body>
</html>

El elemento <aside> podría estar ubicado del lado derecho o izquierdo de nuestra página de ejemplo, la etiqueta no tiene una posición predefinida. El elemento <aside> solo describe la información que contiene, no el lugar dentro de la estructura. Este elemento puede estar ubicado en cualquier parte del diseño y ser usado siempre y cuando su contenido no sea considerado como el contenido principal del documento. Por
ejemplo, podemos usar <aside> dentro del elemento <section> o incluso insertado entre la información relevante, como en el caso de una cita.

<footer>

Para finalizar la construcción de la plantilla o estructura elemental de nuestro documento HTML5, solo necesitamos un elemento más. Ya contamos con la cabecera del cuerpo, secciones con ayuda para la navegación, información importante y hasta una barra lateral con datos adicionales, por lo tanto lo único que nos queda por hacer es cerrar nuestro diseño para otorgarle un final al cuerpo del documento. HTML5 provee un elemento específico para este propósito llamado <footer>:

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="iso-8859-1">
<meta name="description" content="Ejemplo de HTML5">
<meta name="keywords" content="HTML5, CSS3, JavaScript">
<title>Este texto es el título del documento</title>
<link rel="stylesheet" href="misestilos.css">
</head>
<body>
<header>
<h1>Este es el título principal del sitio web</h1>
</header>
<nav>
<ul>
<li>principal</li>
<li>fotos</li>
<li>videos</li>
<li>contacto</li>
</ul>
</nav>
<section>
</section>
<aside>
<blockquote>Mensaje número uno</blockquote>
<blockquote>Mensaje número dos</blockquote>
</aside>
<footer>
Derechos Reservados &copy; 2010-2011
</footer>
</body>
</html>

En el típico diseño de una página web (Figura 1-1) la sección llamada Institucional será definida por etiquetas <footer>. Esto es debido a que la barra representa el final (o pie) del documento y esta parte de la página web es normalmente usada para compartir información general sobre el autor o la organización detrás del proyecto. Generalmente, el elemento <footer> representará el final del cuerpo de nuestro documento y tendrá el propósito descripto anteriormente. Sin embargo, <footer> puede ser usado múltiples veces dentro del cuerpo para representar también el final de diferentes secciones (del mismo modo que la etiqueta <header>).

Bueno hora ya tenemos el esqueleto completo, ahora falta rellenarlo con información pero eso ya es otra historia, así que poco a poco iremos diseñando y haciendo algo más avanzado e incrementando más y más de nivel.

Saludos :p   c0d3r - Javier.




martes, 11 de marzo de 2014

Programa CURP Java

Bueno esta vez no les pondré todo en bandeja de plata, ya que me cansa el saber que no hacen por esforzarse ni un poco pero como soy buena onda, les daré el modulo que hace la mágia del curp, en esta caso lo resumí todo a un método.

public void Curp()
    {
         String pat = this.jTextField2.getText(); //a. paterno.
        String mat = this.jTextField3.getText(); //a. materno
        String nom = this.jTextField1.getText(); // nombre
        String a = this.jComboBox1.getSelectedItem().toString(); //año
        String b = this.jComboBox2.getSelectedItem().toString(); //mes
        String c = this.jComboBox3.getSelectedItem().toString(); //dia
        String d = this.jComboBox5.getSelectedItem().toString(); //Entidad
        String e = this.jComboBox4.getSelectedItem().toString(); //sexo
       
        switch(e)
        {
        case "AGUAS CALIENTES":
                 che = "AS";      
               break;
        case "BAJA CALIFORNIA":
            che = "BC";
            break;
        case "B. CALIFORNIA SUR":
            che = "BS";
            break;
        case "CAMPECHE":
            che = "CC";
            break;
        case "COAHUILA":
            che = "CL";
            break;
        case "COLIMA":
            che = "CM";
            break;
        case "CHIAPAS":
            che = "CS";
            break;
        case "CHIHUAHUA":
            che = "CH";
            break;
        case "DISTRITO FEDERAL":
            che = "DF";
            break;
        case "DURANGO":
            che = "DG";
            break;
        case "GUANAJUATO":
            che= "GT";
            break;
        case "GUERRERO":
            che = "GR";
            break;
        case "HIDALGO":
            che = "HG";
            break;
        case "JALISCO":
            che = "JC";
            break;
        case "ESTADO DE MEX":
            che="MC";
            break;
        case "MICHOACAN":
            che="MN";
            break;
        case "MORELOS":
            che="MS";
            break;
        case "NAYARIT":
            che="NT";
            break;
        case "NUEVO LEON":
            che="NL";
            break;
        case "OAXACA":
            che="OC";
            break;
        case "PUEBLA":
            che="PL";
            break;
        case "QUERERTARO":
            che="QT";
            break;
        case "QUINTANA ROO":
            che="QR";
            break;
        case "SAN LUIS POTOSI":
            che="SP";
            break;
        case "SINALOA":
            che = "SL";
            break;
        case "SONORA":
            che = "SR";
            break;
        case "TABASCO":
            che = "TC";
            break;
        case "TAMAULIPAS":
            che = "TS";
            break;
        case "TLAXCALA":
            che ="TL";
            break;
        case "VERACRUZ":
            che="VZ";
            break;
        case "YUCATAN":
            che="YN";
            break;
        case "ZACATECAS":
            che="ZS";
            break;
           
        case "NACIDO EXTRANJERO":
            che="NE";
            break;
       
           
        }
       
   
     frasex = this.jTextField2.getText();
     frasex1 = this.jTextField2.getText();
     na = frasex1.substring(0,1);
   
     if(na == "A" || na == "E" || na == "I" || na =="O" || na =="U" )
     {
 
    frased = this.jTextField2.getText();
    mostrar = frased;

     }
     else if(na != "A" || na != "E" || na != "I" || na !="O" || na !="U" )
     {
    for (int x=0;x<frasex.length();x++){
     aux=String.valueOf(frasex.charAt(x));
     if(aux.equalsIgnoreCase("A") ||aux.equalsIgnoreCase("E")|| aux.equalsIgnoreCase("I")|| aux.equalsIgnoreCase("O")|| aux.equalsIgnoreCase("U")) //cierra el if
{
aux=String.valueOf(cambio);
}
cadena+=aux;
}
 mostrar = cadena;

     }
   
     ////////////////// SEGUNDO APELLIDO
     staff = this.jTextField3.getText();
     staff1 = this.jTextField3.getText();
     na2 = staff1.substring(0,1);
   
     if(na2 == "A" || na2 == "E" || na2 == "I" || na2 =="O" || na2 =="U" )
     {
 
    netoo = this.jTextField3.getText();
    mostrar2 = netoo;

     }
     else if(na2 != "A" || na2 != "E" || na2 != "I" || na2 !="O" || na2 !="U" )
     {
    for (int x=0;x<staff.length();x++){
     aux1=String.valueOf(staff.charAt(x));
     if(aux1.equalsIgnoreCase("A") ||aux1.equalsIgnoreCase("E")|| aux1.equalsIgnoreCase("I")|| aux1.equalsIgnoreCase("O")|| aux1.equalsIgnoreCase("U")) //cierra el if
{
aux1=String.valueOf(changee);
}
datoss+=aux1;
}
 mostrar2 = datoss;

     }
     //la ultima consonante, esta vez del primer nombre, exceptuando que sean jose o maria, pero
     // mejor eso lo dejamos como una validacion extra que no meteré, que joda.
     deeck = this.jTextField1.getText();
     deeck1 = this.jTextField1.getText();
     na3 = deeck1.substring(0,1);
   
     if(na3 == "A" || na3 == "E" || na3 == "I" || na3 =="O" || na3 =="U" )
     {
 
    sombr4 = this.jTextField1.getText();
    mostrar3 = sombr4;

     }
     else if(na3 != "A" || na3 != "E" || na3 != "I" || na3 !="O" || na3 !="U" )
     {
    for (int x=0;x<deeck.length();x++){
     aux2=String.valueOf(deeck.charAt(x));
     if(aux2.equalsIgnoreCase("A") ||aux2.equalsIgnoreCase("E")|| aux2.equalsIgnoreCase("I")|| aux2.equalsIgnoreCase("O")|| aux2.equalsIgnoreCase("U")) //cierra el if
{
aux2=String.valueOf(cambi);
}
replaceed+=aux2;
}
 mostrar3 = replaceed;

     }
 this.jTextField4.setText(pat.substring(0,2)+mat.substring(0,1)+nom.substring(0,1)+a.substring(2,4)+b.substring(0,2)+c.substring(0,2)+d.substring(0,1)+che+mostrar.substring(1,2)+mostrar2.substring(1,2)+mostrar3.substring(1,2)+"0"+a.substring(2,3));  
     }


Bueno si quieren saber como se hizo desde cero pues, pregunten; no los reprobaré >.<

:P

P.D: para que vean mi bondad les paso las variables globales para cada cosa:
//
    // DATOS GLOBALES PARA SACAR LA PRIMER CONSONANTE INTERNA DEL PRIMER APELLIDO
        String frasex,frasex1,frased,na ,cadena="";
        String aux;
        String cambio="";
        String mostrar;
        ///// dATOS GLOBALES PARA SACAR LA PRIMER CONSONANTE INTERNA DEL SEGUNDO APELLIDO
        /////CASI CASI TERMINAMOS DE SACAR EL CURP.
        String staff,staff1,netoo,na2 ,datoss="";
        String aux1;
        String changee="";
        String mostrar2;
        ////
        ///// datos globales para sacar la primer consonante del primer nombre pila excepto maria y jose
        String deeck,deeck1,sombr4,na3 ,replaceed="";
        String aux2;
        String cambi="";
        String mostrar3;

     String che;

Saludos.

viernes, 7 de marzo de 2014

HTML5 Parte 0.

Bueno como todos saben, HTML5 no es una nueva versión del antiguo lenguaje de etiquetas, ni siquiera una mejora de esta ya antigua tecnología, sino un nuevo concepto para la construcción de sitios web y aplicaciones en una era que combina dispositivos móviles, computación en la nube y trabajos en red.

Los documentos HTML se encuentran estrictamente organizados. Cada parte del documento está diferenciada, declarada y determinada por etiquetas específicas. En esta parte del capítulo vamos a ver cómo construir la estructura global de un documento HTML y los nuevos elementos semánticos incorporados en HTML5.

<!DOCTYPE>

En primer lugar necesitamos indicar el tipo de documento que estamos creando. Esto en HTML5 es extremadamente sencillo:

<!DOCTYPE html>


IMPORTANTE: Esta línea debe ser la primera línea del archivo, sin espacios o líneas que la precedan. De esta forma, el modo estándar del navegador es activado y las incorporaciones de HTML5 son interpretadas siempre que sea posible, o ignoradas en caso contrario.

Hágalo usted mismo: Puede comenzar a copiar el código en su archivo de texto y
agregar los próximos a medida que los vamos estudiando.

<html>

Luego de declarar el tipo de documento, debemos comenzar a construir la estructura
HTML. Como siempre, la estructura tipo árbol de este lenguaje tiene su raíz en el elemento <html>. Este elemento envolverá al resto del código:

<!DOCTYPE html>
<html lang=”es">
</html>

El atributo lang en la etiqueta de apertura <html> es el único atributo que necesitamos especificar en HTML5. Este atributo define el idioma humano del contenido del documento que estamos creando, en este caso es por español.
Bueno como ven todo sencillo pero una cosa más, hay cosas nuevas y otras que no tanto mejor veamos otro ejemplo con más código ya que si lo hacemos pasito milimétrico nunca acabaríamos.

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="iso-8859-1">
<meta name=”description” content=”Ejemplo de HTML5”>
<meta name=”keywords” content=”HTML5, CSS3, Javascript”>
</head>
<body>
</body>
</html>

Como ven la estructura es bastante familiar no? bueno también las etiquetas <meta> tienen su significado y meramente es lo esencial en un html-

La innovación de este elemento en HTML5, como en la mayoría de los casos, es solo simplificación. La nueva etiqueta <meta> para la definición del tipo de caracteres es más corta y simple. Por supuesto, podemos cambiar el tipo iso-8859-1 por el necesario para nuestros documentos y agregar otras etiquetas <meta> como description o keywords para definir otros aspectos de la página web

En HTML5 no es necesario cerrar etiquetas simples con una barra al final, pero recomendamos utilizarlas por razones de compatibilidad. El anterior código se podría escribir de la siguiente manera:

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="iso-8859-1" />
<meta name="description" content="Ejemplo de HTML5" />
<meta name="keywords" content="HTML5, CSS3, JavaScript" />
</head>
<body>
</body>
</html>

<title>
La etiqueta <title>, como siempre, simplemente especifica el título del documento, y no
hay nada nuevo para comentar.

<title> MI TITULO </title>

<link>
Otro importante elemento que va dentro de la cabecera del documento es <link>. Este elemento es usado para incorporar estilos, códigos Javascript, imágenes o iconos desde archivos externos. Uno de los usos más comunes para <link> es la incorporación de archivos con estilos CSS.

<link rel=”stylesheet” href=”misestilos.css”>

En HTML5 ya no se necesita especificar qué tipo de estilos estamos insertando, por lo que el atributo type fue eliminado. Solo necesitamos dos atributos para incorporar nuestro archivo de estilos: rel y href. El atributo rel significa “relación” y es acerca de la relación entre el documento y el archivo que estamos incorporando por medio de href.

Con esta última inserción podemos considerar finalizado nuestro trabajo en la cabecera. Ahora es tiempo de trabajar en el cuerpo, donde la magia ocurre.

Próxima entrada, el cuerpo de un documento HTML5.

Saludos by x0d3ck ----- Javier García----- TESE.


miércoles, 5 de marzo de 2014

Curso HTML5 desde 0.

Bueno ahora que estuve charlando con una compañera de la escuela, me hice una pregunta...... ¿Realmente me estoy actualizando?. Bueno la respuesta fue obvia así que recurro hacer mi tutorial de HTML5 + CSS3 y algo de aquí como PHP + JAVASCRIPT, para dejar un nivel de aprendizaje " ALTO". Seremos como todos unos ingenieros profesionales.

Así que empieza el curso desde JUEVES-06 DE MARZO- 2014.


Saludos YAGAMI YUE. ;)


martes, 4 de marzo de 2014

Programa de promedios en c#

Bueno como unos supuesta-mente saben programar en c# y que Java es totalmente diferente ja,bueno se me ocurrió hacerlo en c# y bueno es más lindo programar en el IDE de Visual Studio que en el de netbeans o eclipse, pero bueno hay que acostumbrarse poco a poco y no quisiera decir nombres pero alguien me dijo que lo hiciera, su nombre empieza con E y termina con rik. >.<


Bueno que es lo que aremos..... abriremos un nuevo proyecto pero en este caso una aplicación de windows Forms. No saben? bueno aquí una imagen.



Ahora que aremos...... hacemos un poco de magia de seguro? ...NO! vamos a nuestro toolbox para agregar, en mi caso:

2 LABEL
2 TextBox
2 Botones.



Los labels son ara indicar que es cada textbox, en este caso para ingresar la calificación y otro para mostrar el promedio.

Los botones son para ejecutar todo y otro para mostrar el promedio.

Si hacemos todo esto bien nos quedará así:


Bueno ahora a codear, aremos lo siguiente:

Después del class dentro del sourse code, ponemos nuestras variables generales que sera el array entre otras que se darán cuenta por pura lógica par que sirven.

public partial class Form1 : Form
    {
        private int[] a = new int[10];
        private int chuchu = 0;
        private int res = 0;
..............//
......etc.// etc.... más codigo...etc.

Bueno ya metemos las variables que fueron 3.
el array, el contador chuchu y la que muestra la suma que le puse res.

Bueno ahora que aremos, a si a programar los botones el primer botón que serpa el de agregar calif. tendrá esto:

Ojo se van a Design ven el botón le dan doble click y dentro ponen esto, aaaa.... pondré mi botón completo así que solo copean la parte que indico:

private void button1_Click(object sender, EventArgs e)
        {
             //desde aqui
            int n = int.Parse(textBox1.Text);


            if (chuchu < a.Length)
            {
                a[chuchu] += n;
                chuchu++;
                MessageBox.Show("Inserto correctamente la calif: " + chuchu);

            }
            else
            {
                MessageBox.Show("Inserto todas las calificaciones, inserto en total: " + chuchu);
            }
                //hasta aqui:
        }

Ahora el segundo botón es esto:

private void button2_Click(object sender, EventArgs e)
        {
            //desde aquí
                int mostra = res / a.Length;
                textBox2.Text = (Convert.ToString(mostra));
            // hasta aquí
         
        }

Ahora si a jalar nuestro programa, ojooo todo lo puse como TIPO INT, pasenlo a double o float para que les muestre un promedio exacto.

Saludos.



lunes, 3 de marzo de 2014

Declaración de un Nodo. E. Datos Parte 2.

Bueno como vamos poco a poco pues poco a poco veremos las técnicas más obscuras del lado del mal, muajajaja... bueno no tanto pero aquí les mostrare como se declara un nodo y para que sirve y sus múltiples funciones.

Una lista enlazada se compone de una serie de nodos enlazados mediante referencias. En Java, se declara una clase para contener las dos partes del nodo: dato y enlace. Por ejemplo, para una lista enlazada de números enteros, la clase Nodo es:

class Nodo
{
int dato;
Nodo enlace;
public Nodo(int t)
{
dato = t;
enlace = null;
}
}
En la declaración, la visibilidad de los dos campos del nodo, dato y enlace, es la del package (visibilidad por defecto). De esa manera, los métodos que implementan las operaciones de listas pueden acceder a ellos al estar en el mismo paquete. El constructor inicializa el objeto Nodo a una dato y el enlace a la referencia null.
Dado que los tipos de datos que se pueden incluir en una lista pueden ser de cualquier tipo (enteros, dobles, caracteres o cualquier objeto) con el objetivo de que el tipo de dato de cada nodo se pueda cambiar con facilidad, se define a veces la clase Elemento como una generalización del tipo de dato. En ese caso, se utiliza una referencia a Elemento dentro del nodo, como se muestra a continuación:

class Elemento
{
// ...
}
class Nodo
{
Elemento dato;
Nodo enlace;
}
Entonces, si se necesita cambiar el tipo de elemento en los nodos, sólo tendrá que cambiar el tipo encerrado en la clase Elemento. Siempre que un método necesite referirse al tipo del dato del nodo puede utilizar el nombre Elemento.

La clase Punto, representa un punto en el plano de coordenadas (x, y). La clase Nodo con un campo dato referencia a objetos de la clase Punto. Estas clases formarán parte del paquete

ListaPuntos.
package ListaPuntos;
public class Punto
{
double x, y;
public Punto(double x, double y)
{
this.x = x;
this.y = y;
}
public Punto() // constructor por defecto
{
x = y = 0.0;
}
}
La clase Nodo que se escribe a continuación tiene como campo dato una referencia a Punto y como campo enlace una referencia a otro Nodo.

Se definen dos constructores: el primero inicializa dato, un objeto Punto y enlace a null; el segundo inicializa enlace de tal forma que referencia un Nodo.

package ListaPuntos;
public class Nodo
{
Punto dato;
Nodo enlace;
public Nodo(Punto p)
{
dato = p;
enlace = null;
}
public Nodo(Punto p, Nodo n)
{
dato = p;
enlace = n;
}
}

Bueno hasta aqui llegó esta entrada, pronto les enseñare como acceder a la lista a su cabecera y cola...y bueno una que otra cosa se me ocurrirá, hasta a próxima.

By x0d3ck.

Programa promedios en java.

Bueno como todos saben también publicare las formas de como hacer un programa ya que bueno uno no sabe como hacerlo de una forma adecuada ya que puede que existan formas rudimentarias de como hacerlo o llegar a un cierto fin, pero bueno no soy dios para estar siempre en lo correcto así que este es mi humilde aportación ya que así se me ocurrió hacerlo.


Veamos abramos el IDE de netbeans cargado con nuestro JDK  JAVA más reciente o el que sea.
Una cosa es un IDE y otra es un JDK como a lo mismo un lenguaje a un IDE.

Bueno empecemos, abramos un nuevo proyecto de java exactamente como si empezáramos uno en consola.

Bueno ahora iremos a la pestaña de lado izquierdo y veremos un diagrama de los proyectos que tenemos en nuestra pc y veremos la que dice resourse packages y le damos ensima de el con botón secundario y agregamos un JFrame Form.



Ahora tendremos en resourse packages nuestra clase main y el NewJFrameForm.java que es el nombre que se da por defaul a menos que le hayan agregado un nombre más nice. xD.

Bueno ahora que aremos..... aaaa!!!!! si en el main pondremos que queremos ver el formulario de el JFrame esto lo hacemos instanciando la clase del JForm y mandándola a llamar o a mostrar con un show.


Suponiendo que le dejamos el nombre por default a el JFrame la mandaremos a llamar desde el main:

public static void main(String[] args) {
        NewJFrame xd = new NewJFrame(); //intanciamos en un objeto xd
        xd.show(); mostramos a xd  que es el objeto que instancia la clase del JFrame.
    }


Bueno ahora le daremos ejecutar y nos saldrá la pantalla en blanco de nuestro formulario.

Ahora agregamos nuestras cosas que podremos usar en este caso yo agregue:

2 textbox
1 botón
2 label

Ahora pues a empezar a codear.

Nos iremos a donde esta el textbox primero le damos doble click para ver su code.

aparecera esto masomenos pero no lo tocamos lo dejamos asi:
 private void textField1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
                // TODO add your handling code here:
    }
en el otro lo mismo pero solo es para que identifiquen su estructura interna.

ahora nos iremos al botón ese el empezar a poner calificaciones.

ese mandará a llamar a mi método que llamé:
cheked()

Pero antes de eso el primer textbox es para poner el numero de calificaciones que deseamos capturar.
el segundo textbox muestra el resultado de promediar las calificaciones, eso si las puse como tipo int solo queda ponerlas a float o double para que sean más exactas.

y este quedó así el método que manda a llamar el botón:

public void cheked()
       {
           int a = Integer.parseInt(this.textField1.getText());  // toma el numero de calif a capt.
           int x[] = new int[a]; // datermina el tamaño del array
           int res = 0; //inicializa el resultado, poner double o float
           for( int i = 0; i < x.length; i++ ) {  // recorremos posiciones para meter calif.
         
                String s = JOptionPane.showInputDialog(null, "Introduzca el valor " + ( i + 1 ) + ":" );
                x[i] = Integer.parseInt( s ); // lee la calif.
             
       }
         
          for(int j = 0; j < x.length; j++) // suma el array
          {
             res = res + x[j];
           
          }
          int jopo = res / a;  // hace la operacion de promedio
       
       textField2.setText(String.valueOf(jopo)); // muestra el result en el textbox 2.
       }
     
eso fue todo pero aaa.... mira mandamos a llamar  a este método desde el botón nos vamos al botón y doble click vemos el código que será así maso-menos y solo llamamos al método.

private void button1ActionPerformed(java.awt.event.ActionEvent evt) {                                      
 
     cheked();
    }  

así quedó:



fin del programa, hasta la próxima donde les enseñare más cosas de estructura de datos.

Powered by x0d3ck.

domingo, 2 de marzo de 2014

Listas de datos parte 2. E. Datos Parte 1.

Bueno como reconocemos desde un principio que somos buenos programadores y que nos interesa la carrera de sistemas o informática; no olviden aprender un poco más de lo que nos explican en la escuela ya que todo en esta vida es autodidacta y que cada idea generada desde la parte mas interna de su cerebro sea: EXPLOTADA!!!, ya que así y solo así de esa forma podrán ser alguien en la vida.

Bueno emos visto que la implementación de cada una de los cuatro tipos de estructuras de lista se pueden desarrollar utilizando referencias.


El primer nodo, frente, de una lista es el nodo apuntado por una cabeza. la lista encadena nodos juntos desde el frente al final de la (cola) da la lista.El final se identifica como el nodo cuyo campo de referencia tiene valor null. La lista se recorre desde el primer punto al ultimo nodo; en cualquier punto del recorrido la posición actual se referencia por el puntero (pointer) actual. Una lista vacía no contiene nodos.Se representa con el puntero cabeza null.

TAD ( lista ).

Bueno como vemos es cosa fácil y emos visto que una lista se usa para almacenar un dato ya sea del mismo tipo, en esta caso aremos pruebas de como hacer algunas operaciones con las listas.

Una lista como bien sabemos es una estructura de datos dinamica. El numero de nodos puede varias rápidamente en un proceso aumentando o disminuyendo dependiendo si se eliminan o se insertan.

Matemáticamente, una lista es una secuencia de cero o más elementos de un determinado tipo.
(a1, a2, a3, ... , an) donde n >= 0,
si n = 0 la lista es vacía.
Los elementos de la lista tienen la propiedad de que sus elementos están ordenados de forma lineal, según las posiciones que ocupan en la misma. Se dice que ai precede a ai+1 para i = 1 ..., n-1; y que ai sucede a ai-1 para i = 2... n.

Para formalizar el tipo de dato abstracto Lista a partir de la noción matemática, se define un conjunto de operaciones básicas con objetos de tipo Lista. Las operaciones son:

A L ∈ Lista, A x ∈ Lista, A p ∈ puntero

Lista vacia(L) Inicializa la lista L como lista vacía.
Es vacia(L) Determina si la lista L está vacía.
Insertar(L,x,p) Inserta en la lista L un nodo con el campo dato x, delante del
nodo de dirección p.


Localizar(L,x)  Devuelve la posición/dirección donde está el campo de información x.
Suprimir(L,x)  Elimina de la lista el nodo que contiene el dato x.
Anterior(L,p)  Devuelve la posición/dirección del nodo anterior a p.
Primero(L)  Devuelve la posición/dirección del primer nodo de la lista L.
Anula(L)  Vacía la lista L.

Estas operaciones son las que pueden considerarse básicas para manejar listas. En realidad, la decisión de qué operaciones son las básicas depende de las características de la aplicación que se va a realizar con los datos de la lista. También dependerá del tipo de representación elegido para las listas. Así, para añadir nuevos nodos a una lista, se implementan, además de insertar(), versiones de ésta como:

inserPrimero(L,x) Inserta un nodo con el dato x como primer nodo de la lista L.
inserFinal(L,x) Inserta un nodo con el dato x como último nodo de la lista L.

Una operación típica de toda estructura de datos enlazada es recorrer. Consiste en visitar cada uno de los datos o nodos de que consta. En las listas enlazadas, esta operación se realiza normalmente desde el nodo cabeza al último nodo o cola de la lista.

OPERACIONES EN LISTAS.

La implementación del TAD Lista requiere, en primer lugar, declarar la clase Nodo, en la que se combinarán sus dos partes: el dato (entero, real, doble, carácter o referencias a objetos) y un enlace. Además, la clase Lista con las operaciones y el atributo con la cabeza de la lista.

 Las operaciones tendrán las siguientes funciones:

• Inicialización o creación.
• Insertar elementos en la lista.
• Eliminar elementos de la lista.
• Buscar elementos de la lista.
• Recorrer la lista enlazada.
• Comprobar si la lista está vacía.

Bueno ahora ya saben algo la siguiente entrada ahora si empezaremos con algo de practica.

Saludos by x0d3ck.

Listas enlazadas. Estructura de Datos Parte 0.

Esta entrada se tratara de estructura de Datos desde CERO ( "0" ). Espero les agrade la idea ya que con esto podrán avanzar y reconocer un poco más a fondo la programación y una forma más fácil de programar y hacer eficiente una aplicación.

Una lista enlazada es una colección o secuencia de elementos dispuestos uno tras de otro, en la que cada elemento se conecta al siguiente elemento por un "enlace" o "referencia". La idea básica consiste en construir una lista cuyos elementos llamados nodos, se componen de 2 partes (campos), la primera parte contiene la información y es por consiguiente un valor de tipo genérico llamado (dato, tipo elemento, info...) y la segunda parte es una referencia denominada (enlace), que apunta (enlaza) al siguiente elemento de la lista.


 

Bueno ahora saben como identificar las listas y como se enlazan, pero bueno eso no es todo ya que deben conocer las que existen y bueno principalmente son 4 categorías.

1.- Listas simplemente enlazadas.
2.- Listas doblemente enlazadas.
3.- Listas circulares simplemente enlazadas.
4.- Listas circulares doblemente enlazadas.

Ahora para no alargar el post, la siguiente entrada empezaré con la primer categoría (Listas simplemente enlazadas).

Saludos by x0d3ck.