Cuando empezamos a aprender Java un error muy común al compilar desde DOS es que nos encontramos con errores en la compilación y no sepamos como resolverlo. Por ejemplo un de ellos se produce cuando en una clase creamos un objecto a partir de otra clase.
Por ejemplo teniendo estas dos clases, una es Leer.java y la otra Leer3.java que crea el objeto de la case Leer.java:
//Clase Leer.java
import java.io.*;
import java.util.Scanner;
public class Leer{
public String Leer()
{
return porTeclado();
}
public String porTeclado()
{
Scanner leer = new Scanner(System.in);
String cadena = leer.next();
return cadena;
}
}
//Clase Leer3.java
public class Leer3
{
public static void main(String args[])
{
Leer vleer = new Leer();
String cadena = vleer.porTeclado();
System.out.println("Texto leido : " + cadena);
}
}
Partimos de que los dos archivos están guardados en el siguiente directorio:
C:\cursojava\modulor4\practica4\Leer.java
C:\cursojava\modulor4\practica4\Leer3.java
Al compilar las clases según se muestra a continuación, vemos que nos genera un error de "cannot find symbol", en la compilación de la clase Leer3.java, cuando la compilación de la clase Leer.java no ha generado ningún problema.
C:\cursojava>javac modulo4/practica4/Leer.java
C:\cursojava>javac modulo4/practica4/Leer3.java
modulo4\practica4\Leer3.java:6: cannot find symbol
symbol : class Leer
location: class Leer3
Leer vleer = new Leer();
^
modulo4\practica4\Leer3.java:6: cannot find symbol
symbol : class Leer
location: class Leer3
Leer vleer = new Leer();
^
2 errors
El problema es debido a que la clase Leer3 necesita crear el el objecto de la clase Leer pero el compilador desconoce donde se encuentra almacenada dicha clase. Para ello debemos agrupar estas dos clases en un paquete PACKAGE, esta clave la deberemos indicar al principio de cada una de las clases para evitar el error. Hay que tener en cuenta la clave del paquete debe mantener la misma estructura de directorios donde están almacenadas las clases.
Según hemos visto en el ejemplo las clases deberían quedar de la siguiente manera:
//Clase Leer.java
package modulo4.practica4;
import java.io.*;
import java.util.Scanner;
public class Leer{
public String Leer()
{
return porTeclado();
}
public String porTeclado()
{
Scanner leer = new Scanner(System.in);
String cadena = leer.next();
return cadena;
}
}
//Clase Leer3.java
package modulo4.practica4;
public class Leer3
{
public static void main(String args[])
{
Leer vleer = new Leer();
String cadena = vleer.porTeclado();
System.out.println("Texto leido : " + cadena);
}
}
NOTA: También afecta la configuración de la variable de entorno CLASSPATH que para este ejemplo su valor es: c:\Java\jdk1.6.0_23\lib;c:\cursojava
martes, 15 de marzo de 2011
martes, 22 de febrero de 2011
Recursos interesantes de JAVA
Al igual que en el post de PHP también es interesante tenerlo para JAVA.
LENGUAJE
TUTORIALES
LENGUAJE
- Web oficial de JAVA en castellano (http://www.java.com/es/download/help/index.xml)
TUTORIALES
- Un tutorial que es antiguo por está bastante claro. (unam.mx)
Recursos interesantes de PHP
Siempre que te enfrascas en el aprendizaje de una nueva tecnología como puede ser PHP empiezas a buscar y buscar información, documentación, ejemplos, vídeos, etc. Todo ello implica que con el tiempo se te acumula todo tipo de información y sobre todo recursos de la web, que a continuación he organizado para simplificar encontrarlos.
LENGUAJE
LENGUAJE
- Web oficial de PHP (http://www.php.net/)
- Foro en español de PHP (http://www.php-hispano.net/)
TUTORIALES
La web aulaformativa.com nos ofrece unos vídeos de su primer taller de php, realizado en 3 días. (instrucciones para descargar los vídeos)
Ejemplos de código de phpMyEdit en http://www.php-html-form.com/.
UTILIDADESphpMyEdit, genera código para ver tablas de MySql en PHP.
PHPExcel, clase para generar y leer archivos de Excel.
lunes, 20 de diciembre de 2010
Instalación de XAMPP en Windows y Ubuntu
XAMPP es un servidor independiente de la plataforma, software libre que consiste principalmente en la base de datos MySql, el servidor Web Apache y los interpretes para los lenguajes de script PHP y PERL. Está disponible para diferentes sistemas operativos como pueden ser Microsoft Windows, GNU/Linux y otros.
Una vez revisados los requisitos del sistema operativo podemos proceder a la instalación de XAMPP. Si no disponemos del programa XAMPP podemos descargarlo del siguiente enlace:
http://www.apachefriends.org/en/xampp-windows.html#641
En la web oficial de XAMPP http://www.apachefiends.org se puede obtener más información del funcionamiento del programa, instalación, ayuda y otra información que puede ser relevante para el buen funcionamiento del entorno del servidor.
Sistema operativo Windows
Deberemos de disponer de una de las versiones siguientes del sistema operativo NT, 2000, XP, Vista o Windows 7. Para una mayor ampliación de los sistemas operativos compatibles visita la web:
Una vez revisados los requisitos del sistema operativo podemos proceder a la instalación de XAMPP. Si no disponemos del programa XAMPP podemos descargarlo del siguiente enlace:
http://www.apachefriends.org/en/xampp-windows.html#641
Ejecutaremos el programa xampp-win32-1.7.3.exe (1.7.3 no indica la versión) en la ubicación donde hemos efectuado la descarga. Nos pedirá la carpeta de destino de la instalación que se está realizando (figura 1) y pulsaremos el botón INSTALL, la cual cosa iniciará el proceso de instalación (figura 2).
![]() | ![]() |
Al finalizar el proceso de instalación, nos aparecerá un cuadro de dialogo en entorno de consola donde nos preguntará si queremos añadir accesos directos al menú inicial y al escritorio. Es recomendable indicar que sí que queremos este acceso directo.
Una vez finalizados estos pasos ya podemos iniciar el entorno, para hacerlo ejecutaremos el panel de control que podemos localizar en el escritorio (si lo hemos indicado) o en el menú de programas. Cuando el panel de control esté en funcionamiento (figura 3) podemos iniciar el servidor Apache y la base de datos MySql mediante los botones con leyenda START. El los programas inician sin ningún problema veremos el panel de control como parece en la figura 4.
Podemos testear el funcionamiento del servidor abriendo un explorador web e introduciendo la dirección del servidor local http://localhost (figura 5).
Sistema operativo Ubuntu
Para realizar la instalación son necesarios permisos de administrador. La instalación puede efectuarse mediante el comando SUDO si no se ha iniciado la sesión como administrador o bién iniciando la sesión como administrador.
Atención: Todo el proceso de instalación que se explica a continuación se ha realizado mediante el usuario ROOT. En consecuencia no se muestra el funcionamiento mediante SUDO
Una vez revisados los requisitos del sistema operativo podemos proceder a efectuar la instalación del XAMPP, anteriormente conocido como LAMPP. La versión de este programa deberá ser como mínimo la 1.7.3.
Si no disponemos del programa XAMPP podemos descargarlo del enlace siguiente:
Nota: En el caso de disponer de una versión anterior a la 1.7.3 se puede obtener la versión de actualización del programa, pero no se explicará en este manual como efectuarla.
Nota: Si se descarga el archivo en un sistema operativo Windows y se está ejecutando el programa antivirus Mcfee, este puede dar un falso positivo de virus. Es problema de Mcafee y los archivos comprimidos gzip, ignóralo.
Una vez tengamos el archivo comprimido descargado o bien lo tangamos en otro soporte, procederemos a la extracción del archivo. Nos deberemos situar en el directorio donde está situado el archivo comprimido y extraeremos el contenido con el archivo “xampp-linux-1.7.3a.tar.gz” al directorio opt:
# tar xvfz xampp-linux-1.7.3a.tar.gz -C /opt
Nota: Solo utiliza este comando para instalar XAMP, no utilices ninguna herramienta de extracción de archivos de Widnows. No funcionará. Si hubieran instalaciones anteriores de XAMPP estas quedarían sobrescritos con este comando, siempre y cuando el servidor estuviera parado.
Con este comando el paquete XAMPP ha quedado instalado en el directorio /opt/lampp. Todo este proceso también lo podemos realizar mediante la interficie gráfica teniendo en cuenta les precauciones anteriormente descritas.
El proceso de instalación de XAMPP ya está finalizada, ahora sólo queda arrancar lo con elc omando siguiente (figura 6):
# /opt/lampp/lampp start
Y una vez ya esta correctamente funcionando podemos testearlo abriendo un explorador web e introduciendo la dirección del servidor local http://localhost (figura 7).
Comandos y directorios de XAMPP en Ubuntu
El entorno XAMPP para Linux no dispone del panel de control que tiene la versión de Windows, para poder arrancarlo, pararlo, etc. Se deben de utilizar un conjunto de comandos que a continuación se describen:
| PARAMETRO | DESCRIPCIÓN |
| start | Arrancar XAMPP. |
| stop | Para XAMPP. |
| restart | Reiniciar XAMPP. |
| startapache | Inicializa sólo el Apache. |
| startssl | Inicializa Apache con soporte SSL. |
| startmysql | Inicializa sólo la base de datos MySQL. |
| startftp | Inicializa el servidor ProFTPD. Via FTP se pueden subir archivos por la web server (user "nobody", password "lampp"). |
| stopapache | Para el Apache. |
| stopssl | Para el suporte SSL del Apache. |
| stopmysql | Para la base de datos MySQL. |
| stopftp | Para el servidor ProFTPD. |
| security | Inicializa un pequeños programa de verificación de la seguredad. |
Los archivos y directorios más relevantes son:
| Archivo/Directorio | Propostio |
| /opt/lampp/bin/ | Directorio de comandos de XAMPP. /opt/lampp/bin/mysql llama por ejemplo el monitor de MySQL. |
| /opt/lampp/htdocs/ | El directorio principal de los documentos de l'Apache. |
| /opt/lampp/etc/httpd.conf | El archivo de configuración de Apache. |
| /opt/lampp/etc/my.cnf | El archivo de configuración de MySQL. |
| /opt/lampp/etc/php.ini | El archivo de configuración de PHP. |
| /opt/lampp/etc/proftpd.conf | El archivo de configuración de ProFTPD. (desde la versión 0.9.5) |
| /opt/lampp/phpmyadmin/config.inc.php | El archivo phpMy |

sábado, 11 de diciembre de 2010
CONVERTIR PDF A EPUB CON CALIBRE
Al utilizar el programa Calibre v.0.7.32 para convertir un documento en formato PDF y pasarlo al formato EPUB me encuentro que el conversor no realiza un ajuste incorrecto en los párrafos, generándose saltos e insertando líneas en blanco.
Por ejemplo, el párrafo en el documento PDF
"Luis Wu volvió a la realidad en el centro del Beirut nocturno, en el interior de una de las varias cabinas teletransportadoras de uso general."
Al pasarlo a EPUB queda como sigue
"Luis Wu volvió a la realidad en el centro de Beirut nocturno, en el interior de una de las varias cabinas
teletransportadoras de uso general"
Esto se puede evitar modificando las opciones de conversión que ofrece Calibre. Al pulsar sobre el icono de conversión seleccionaremos la opción de "Entrada PDF" y en "Factor para unir líneas divididas" estableceremos el valor de 0,45.
Esto modificará la forma en que Calibre lee el documento PDF para efectuar una correcta conversión a EPUB,
Por ejemplo, el párrafo en el documento PDF
"Luis Wu volvió a la realidad en el centro del Beirut nocturno, en el interior de una de las varias cabinas teletransportadoras de uso general."
Al pasarlo a EPUB queda como sigue
"Luis Wu volvió a la realidad en el centro de Beirut nocturno, en el interior de una de las varias cabinas
teletransportadoras de uso general"
Esto se puede evitar modificando las opciones de conversión que ofrece Calibre. Al pulsar sobre el icono de conversión seleccionaremos la opción de "Entrada PDF" y en "Factor para unir líneas divididas" estableceremos el valor de 0,45.
Esto modificará la forma en que Calibre lee el documento PDF para efectuar una correcta conversión a EPUB,
viernes, 9 de abril de 2010
UTILIZAR LEVEL PARA DUPLICAR REGISTROS EN UNA CONSULTA
A veces nos interesa duplicar, triplicar o tener n copias de un mismo registro de la base de datos por cualquier motivo. Un ejemplo sería hacer n copias de la misma factura para un cliente.
Para abordar esto lo podemos hacer de muchas maneras, utilizando bucles en el código, con SQL sin intervención de ningún tipo de bucle u otras maneras que seguro sabréis ;).
En el siguiente ejemplo de enfoque de la solución he optado por SQL, ya que la motivación inicial era aplicarlo directamente en la consulta de obtención de datos para REPORTS 6.
Para simplificar el ejemplo supondremos que tenemos los siguientes datos en una tabla llamada Cliente con estos datos
Nombre CopiasUtilizaremos la tabla DUAL para obtener una cantidad ilimitada de registros, pero para el ejemplo lo limitaremos a 5 registros.
----------- ---------
Jordi .......... 3
Pedro ........ 2
Elisa .......... 4
SELECT LEVEL Registro FROM DUAL CONNECT BY LEVEL <= 5
Nota: cuidado con ejecutar SELECT LEVEL Registro FROM DUAL CONNECT BY LEVEL > 0, ya que la generación de la tabla temporal se comerá toda la memoria. (con 40.322.423 registros mi portatil se quedó sin memoria virtual)
Esto nos generará un conjunto de registros que quedaría así:
RegistroEfectuamos la unión entre las dos tablas para obtener el conjunto de registros indicados en el campo copias de la tabla cliente.
------------
1
2
3
4
5
SELECT c.nombre, c.copias, d.registroEl resultado que obtenemos:
FROM cliente c,
( SELECT LEVEL registro
FROM DUAL
CONNECT BY LEVEL <= 5 ) d WHERE c.copias >= d.registro
NOMBRE COPIAS REGISTRO
-------------- ------------ ----------------JORDI ............3................. 1
JORDI ............3................. 2
JORDI ........... 3................. 3
PEDRO ..........2................. 1
PEDRO ..........2................. 2
ELISA ...........4.................. 1
ELISA ...........4.................. 2
ELISA ...........4.................. 3
ELISA .......... 4.................. 4
jueves, 25 de marzo de 2010
ERROR INSTALACION FORMS 6 EN WINDOWS 7

Al efectuar el proceso de instalación de Oracle Forms 6 en Windows 7 se produce un error si se dan una serie de circunstancias.
Si el instalador intenta instalar el driver ODBC 32 bits, se produce un error:
odbo3220.ins(182): OS_ERROR while...
y la instalación no continúa.
El problema se genera al registrar los productos de Oracle Forms 6 si no se es el usuario Administrador de Windows 7, incluso teniendo derechos de administrador.
Para poder instalarlo correctamente y sin errores debemos efectuar el proceso de instalación como el usuario Administrador.
Suscribirse a:
Entradas (Atom)






