lunes, 29 de junio de 2009

Separar Número y Letra del NIF en Java

Vamos a ver un ejemplo sencillo de cómo separar el número y la letra del NIF que aparece en los carnets de identidad.


Puede ocurrirnos que nos lo den como un String y necesitemos guardarlo en variables distintas o imprimir sólo el DNI. Nosotros simplemente mostraremos el número en una línea y la letra en otra.


Se nos pueden presentar dos casos:






Caso A. Número y letra separados por un guión. Ejemplo: 11111111-A.



Éste se resuelve de forma más sencilla. Usamos StringToquenizer poniendo como carácter separador el guión:




String strDatos="11111111-A";
StringTokenizer tokens=new StringTokenizer(strDatos, "-");
while(tokens.hasMoreTokens()){
System.out.println(tokens.nextToken());
}



nif1.png






Caso B. Número y letra van seguidos. Ejemplo: 11111111A.



Aquí no tenemos caracter separador, así que tenemos que convertir el String en un vector de Char. Recorreremos ese vector comprobando si la posición actual es una letra. Para ello usaremos el método isLetter de la clase Character:




String strDatos="111111A";
char[] ca = strDatos.toCharArray();
for(int i=0; i<strDatos.length();i++)
{
if(Character.isLetter(ca[i])) //Si es letra
System.out.println("\n"+ca[i]); //Salto de línea e imprimimos el carácter
else //Si no es letra
System.out.print(ca[i]); //Imprimimos el carácter
}



nif1.png




Llamar a una Función PL/SQL desde Java

java.jpg




Qué es una función


En PL/SQL existen procedimientos y funciones. La diferencia está en que la función debe devolver un valor al bloque PL/SQL que lo llamó. Sin embargo un procedimiento puede devolver múltiples parámetros al bloque.


Llamada a la función


Veamos cómo llamar a una función desde java. Tenemos una función que nos devuelve el número de productos del tipo que le pasamos como parámetro. Ésta es la cabecera:


FUNCTION NUMPRODUCTOS (TIPO IN VARCHAR2) RETURN NUMBER AS INTEGER;


Tiene un parámetro de entrada de tipo VARCHAR2, que correspondería a un String en Java. El parámetro de salida es un entero.


Primero creamos un objeto Connection que será la conexión con la base de datos. Obviamente tendremos que poner como parámetros la cadena de conexión, el usuario y la contraseña.




Connection conexion = DriverManager.getConnection(conexion, usuario, contraseña)


Luego vendría la llamada a la función:




CallableStatement sentencia=conexion.prepareCall("{?=call numproductos(?)}");//Declarar la sentencia.
sentencia.registerOutParameter(1, Types.VARCHAR); //Registrar el parámetro de entrada
sentencia.setString(2,cliente1); //Registrar el parámetro de salida
sentencia.executeQuery(); //Realizar la llamada
numero=sentencia.getInt(1); //Recoger el parámetro de salida
System.out.println(numero);




lunes, 22 de junio de 2009

Usar el último Kernel instalado en Ubuntu

Cuando descargamos un kernel nue o se nos pregunta si actualizar el grub (menu.lst). Si respondimos que no y ahora queremos ejecutar ese núcleo, haremos lo siguiente:


Para saber que versión es la que ejecutamos actualmente :






uname -r



Para conocer la última versión instalada : abrimos Synaptic y buscamos linux-image-generic:


kernel1.png


Si la ersión es la misma que estamos usando, no habrá que hacera nada. Pero si no es así­, editamos menu.lst:






sudo gedit /boot/grub/menu.lst



Copiamos la entrada del kernel, que tendrá la siguiente forma:






title Ubuntu 9.04, kernel xxxxxxx-generic
uuid yyyy
kernel /boot/ mlinuz-xxxxxxx-generic root=UUID=yyyy ro quiet splash
initrd /boot/initrd.img-xxxxxxx-generic
quiet



Pegamos debajo y modificamos para que apunte a la nue a ersión. En mi caso cambiaría las xxxxxxx por 2.6.28-11. Las yyyy corresponden al id de la partición, que no habría que modificar.


Importante: no borrar la entrada anterior hasta comprobar que la nueva funciona. Más vale ser cautos a la hora de trabajar con el grub.


Reiniciamos Ubuntu y nos aparecerá una nueva entrada que usará el nuevo núcleo.




Primer Ejemplo con JQuery

logo_jquery_215x53.gif





¿JQuery?


JQuery es una biblioteca para Javascript que nos ahorrará mucho código. Nos permitirá asociar acciones a un tipo concreto de elemento (enlaces, tablas, listas, ...), inteactuar con AJAX, etc (más información aquí).





Un ejemplo


Veremos como al pulsar sobre un enlace cualquiera, se oculte o se muestre una capa de nuestra página.


Para este ejemplo necesitamos los siguiente:



  • Un servidor web (yo uso Apache instalado mediante XAMPP).

  • La librería jquery (es un archivo.js). Enlace.

  • El StarterKit, para hacer ejemplos rápidamente. Enlace.


En el directorio del servidor (en mi caso C:\xampp\htdocs) tendremos guardar el archivo jquery.js que hemos descargado. También los archivos del Starterkit.


Nos fijamos en que StarterKit.html contiene los includes de los .js:




<script src="jquery.js" type="text/javascript"></script>

<script src="custom.js" type="text/javascript"></script>


El archivo custom.js es el que usaremos para realizar nuestras funciones. En éste ejemplo veremos como ocultar un texto con el efecto de barrido. Para ello custom.js será así:




$(document).ready(function(){ //Línea 1

$("a").toggle(function(){ //Línea 2

$(".stuff").hide('slow'); //Línea 3

},function(){ //Línea 4

$(".stuff").show('fast'); //Línea 5

});

});



Explicación:


Línea 1: Cuando el documento está preparado registra un evento.


Línea 2: Al pulsar sobre cualquier enlace (por eso la variable a) realiza la línea 3.


Línea 3: La capa "stuff" se esconde lentamente.


Línea 4: Al pulsar de nuevo sobre un enlace.


Línea 5: La capa "stuff" se mestra rápidamente.


Para problarlo pondremos en nuestro navegador http://localhost/starterkit.html y pulsamos en un enlace cualquiera.





Fuentes


http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery




lunes, 15 de junio de 2009

Alojamiento Gratuito PHP + MySQL: 000webhost.com

Preguntado en foros acerca de algún servicio de hosting gratuito, me he encontrado con http://www.000webhost.com. Quería subir un proyecto PHP y MySQL y así lo he hecho de una forma sencilla y rápida. Otra cosa muy importante es que no agrega publicidad alguna. A continuación se detallan algunas características de la versión gratuita y de pago:


webhost1.png





Registro


Lo primero que haremos será registrarnos, pulsando "Order Now" en la columna "Free Hosting". Entre otras cosas indicaremos el dominio (si ya tenemos uno podemos usarlo).


Mi proyecto lo despliego localmente mediante XAMPP. A continuación describo lo que hice para subirlo a este servicio.


Nos iremos a panel de control y nos encontraremos algo así:


webhost2.png





Subiendo los archivos


Para subir los archivos del proyecto (PHP, HTML, CSS, imágenes, ...) pulsamos en "File Manager". Con eso accederemos a una interfaz web que mediante FTP nos permitirá subir dichos archivos (Nota: podemos usar el programa cliente FTP que prefiramos para este propósito). Los pondremos en la carpeta "public html" pulsando Upload e indicando la ruta en la que se encuentran.


webhost3.png





La BBDD


Lo siguiente es la base de datos. Accederemos a phpMyAdmin y crearemos una base de datos con el nombre que prefiramos. Posteriormente podremos crear la tablas. En mi caso, solo he hecho un import e indico un archivo .sql que contiene mi BD.


Posteriomente, cambiamos los parámetros de conexión a la BD para que apunten a la nueva y no a la BD local. Me estoy refiriendo a los parámetros de las funciones mysql_connect y mysql_select_db.


Importante: Éste entorno distingue entre mayúsculas y minúsculas, por tanto si una tabla se llama "producto" y hacemos un "mysql_query("SELECT MAX(id) FROM Producto", $conexion)", ésto no funcionará.





Un ejemplo


Y eso es todo. Pueden ver mi proyecto aquí:


http://felinfo.host56.com/proyecto/




lunes, 8 de junio de 2009

Instalar VMWare Tools con OpenSuse como Huesped



¿VMware Tools?


Las VMware Tools nos permiten mejorar el uso y rendimiento del sistema virtualizado. Por ejemplo aspectos relacionados con los periféricos y los gráficos en el S.O. huesped. A continuación vamos a explicar cómo instalarlas.



Instalación


Paso 1. Arrancar Opensuse en nuestro VMware.

Paso 2. Abrir un terminal y ponernos como administradores escribiento:


su --

Paso 3. Instalar las utilidades requeridas en OpenSuse:


yast2 --install gcc gcc-c++ kernel-source make

Ésto instalará el compilador de C y C++, los paquetes del kernel y la utilidad make.

Paso 4. En el menú "VM" de VMware, pinchamos en "Install VMWare Tools". Ésto montará una unidad CDROM en el sistema huesped openSUSE con una instalación de los VMWare Tools. Encontraremos un archivo RPM y otro Tar/gzip.
















Paso 5. Pinchamos con botón derecho sobre el archivo RPM y seleccionamos "Open with Package Installer", introducimos la clave de administrador y completamos la instalación.

Paso 6. Cuando se haya instalado, ejecutamos un script de la siguiente forma:


/usr/bin/vmware-config-tools.pl

Contestamos a unas preguntas para completar la configuración.

Paso 7. Reiniciamos el SO huesped.

Y ya podemos disfrutar de OpenSuse virtualizado!




miércoles, 3 de junio de 2009

Instalar Varias Versiones de IE en un PC




Cómo visualizar webs en versiones de IE antiguas


Existe una aplicación que nos permite instalar varias versiones Internet Explorer en un mismo PC. Ésto es realmente útil a la hora de comprobar si una página se visualiza correctamente en cualquier explorador. De modo que es una herramienta muy recomendada para desarrolladores y diseñadores web.

Os estoy hablando de Multiple IE. Se puede obtener aquí:

Descargar




Instalación


Se hace de forma muy sencilla.

multipleIE1.png

multipleIE2.png

Al final tendremos en nuestro escritorio los accesos directos a cada una de las versiones de IE.




Felinfo: Java, Linux, Virtualización. Open Source.  ©Template Blogger Green by Dicas Blogger .

TOPO