martes, 10 de noviembre de 2009
Escoger ruta: JFileChooser
JFileChooser jfc= new JFileChooser(); //Se define el nuevo control JFileChooser
int seleccion=jfc.showOpenDialog(this); //Se muestra el control y se guarda un valor
if(seleccion==jfc.APPROVE_OPTION) //int asociado con la accion del usuario
{
File archivo=jfc.getSelectedFile(); // Se guarda una referencia al archivo
path=jfc.getSelectedFile().getAbsolutePath(); //tomo la ruta del archivo
}
Con eso ya tenemos la ruta y el archivo....
domingo, 1 de noviembre de 2009
Compartir directorio VirtualBox: Anfitrion Ubuntu, Huesped Windows
Es muy útil compartir un directorio entre el SO anfitrión y el SO que hospeda VirtualBox, a continuación voy a explicar como hacer ese procedimiento entre Ubuntu - Windows.
Primero con click derecho sobre la maquina virtual en cuestión ve a configuración, y al ítem Directorios Compartidos, ahi click en icono de la carpeta con el mas en el lado derecho; se abre una ventana que se llama Agregar Comparticion, tiene la opcion Folder Path y la opcion Folder Name; se despliega el combo Folder Name y en la opcion Otro podemos navegar a la ruta de Ubuntu a compartir.
Click en aceptar y de nuevo en aceptar.
Inicia la maquina virtual y ve a inicio y da click derecho en Mi PC, en conectar a unidad de red
Se abrirá una ventana llamada Conectar a unidad de red y ahí en el ítem carpeta damos click en examinar, que abrirá Buscar Carpeta.
Si expandimos el arbol en la opcion VirtualBox shared Folders podemos ver las carpetas que hallamos compartido, en este caso mi home y media, para tener todos los dispositivos de almacenamiento conectados automáticamente, aunque VirtualBox puede gestionar la conexión de las memorias usb como tales.
Selecciona el que quieres agregar y click en aceptar, suele ser un poco lento para esta parte pero funciona. Luego en Conectar a unidad de red click en Finalizar. Y repetimos hasta haber agregado todo lo requerido.
Ahora, si vamos a Mi PC podemos ver y acceder a las carpetas como si fueran unidades de red.
domingo, 4 de octubre de 2009
Pasar un arreglo en PHP a uno en JavaScript
Ahora bien, en el formulario para llenar la información de contacto hay un combo que se despliega mostrando las ciudades en las que hay almacenes, ahí se puede seleccionar la ciudad en la que labora el contacto y el siguiente campo es un combo que se despliega mostrando los almacenes de dicha ciudad, por que no seria ni estético ni funcional mostrar todos los almacenes si ya se discrimino una ciudad, y para llenar el combo de almacén debo ejecutar a una consulta en la BD que seleccione los almacenes que están en la ciudad escogida en el combo:
select almacen from almacenes where ciudad = "ciudad seleccionada en el combo"
donde almacen es el nombre del almacen y almacenes la tabla, pero esto me implicaria enviar la pagina solo para obtener eso y luego enviarla de nuevo para guardar, me pregunte entonces si no podria obtener todos los almacenes con sus ciudades:
$con="select almacen, ciudad from almacen";
$res=mysqli_query($link,$con);
y guardarlo todo en un arreglo:
$f=mysqli_fetch_array($res)
y que se envié el arreglo de php a la pagina en un arreglo javascript para que en una funcion javascript se decida como se va a llenar el combo de almacén.
Asi fue como lo hice:
$i=mysqli_num_rows($res);
Rescato cuantas filas devolvio la consulta, cuantos almacenes tenemos.
echo "<script language='javascript'> var almacencito= new Array($i); </script>";
echo "<script language='javascript'>var ciudad = new Array($i); </script>";
Defino desde el codigo php dos arreglos que tengan por tamaño tantas filas tiene la consulta.
Y cargo cada campo del arreglo de javascript con cada campo de la consulta que esta en php.
while($f=mysqli_fetch_array($res)){
$temporal=$f['ciudad'];
echo "<script language='javascript'>ciudad[$i]='$temporal';</script>";
$temporal=$f['almacen'];
echo "<script language='javascript'>almacencito[$i]='$temporal'; </script>";
$i++;
}
Asi cuando ya se ha seleccionado el campo ciudad una funcion javascript llena el combo almacen.
function almacen()
{
var i=0;
var k=0;
var j= document.f1.ciudad.selectedIndex;
while(i<ciudad.length)
alert(document.f1.ciudad.selectedIndex+" "+i.toString()+" "+almacencito[i].toString());
if(document.f1.ciudad.options[j].text==ciudad[i])
{
document.f1.Almacen.length=k+1;
document.f1.Almacen.options[k].value=almacencito[i].toString();
document.f1.Almacen.options[k].text=almacencito[i].toString();
k++;
}
i++;
}
}
Se que existen formas mas eficientes y sofisticadas de hacer esto, pero esta me saco de un apuro.
Comando apt-get al rescate
Soy bastante novata y la verdad estaba bien perdida y no fue mucho, practicamente nada lo que encontre en Internet.
Asi que intente razonar que podia estar pasando y que era lo que habia hecho que podia producir eso, asi due como le heche la culpa a Amarok, pues al intentar actualizar seguramente se habian instalado librerias y paquetes que entraban en conflicto con KDE 4.2 (si estoy hablando muchas tonterias que alguien me corrija), pero el caso es que la solución que le di funciono y me hace pensar que estoy no totamente pero casi complatamente en lo cierto.
Al iniciar por gnome me decia que se habia intentando una actualizacion que no habia terminado bien, (lo que es tecnicamente cierto).
Intente sudo apt-get update: que se usa para sincronizar el índice de paquetes respecto a sus fuentes, de los lugares especificados en /etc/apt/sources.list. Por ejemplo, cuando se usa un archivo de Debian, esta orden descarga y analiza los ficheros Packages.gz, de tal forma que la información acerca de nuevos paquetes pasa a estar disponible. Siempre se debe realizar un update antes de un upgrade o un dist-upgrade. (según el manual de apt-get).
No funciono obviamente por que apt-get update solo descargará descripciones. Es con propósito informativo.
Pude haber intentado un upgrade: se usa para instalar la versión más nueva de todos los paquetes instalados en el sistema provenientes de alguna de las fuentes listadas en /etc/apt/sources.list. Los paquetes instalados con una nueva versión disponible son descargados y actualizados, bajo ninguna circunstancia se desinstalarán paquetes, o se instalarán paquetes nuevos. Las nuevas versiones de programas instalados que no puedan ser actualizados sin cambiar el estado de instalación de otros paquetes no se instalarán, manteniéndose la versión actual. Debe realizarse un update antes para que apt-get sepa cuales son las versiones disponibles de los paquetes.
Pero al final me decidi por dist-upgrade: además de realizar las acciones de upgrade, maneja inteligentemente los cambios de dependencias debidos a nuevas versiones de paquetes, tiene un sofisticado sistema de resolución de conflictos, si es necesario tratará de actualizar los paquetes más importantes a costa de los menos importantes.
Esto se oye mas impresionante y prometedor, sobre todo si se tiene un conflicto tan extraño de dependencias.
Lo intente: sudo apt-get dist-upgrade.
Pero no funciono, mas conflictos. Asi que por consejo de la terminal intente lo mismo pero con --fix-missing, que no tiene en cuenta los paquetes que no se hayan podido descargar o que después de la descarga se encuentren dañados, estos paquetes se tratan como no modificables y se continúa con el resto. Si un paquete se selecciona para su normal instalación (particularmente si se hace mediante la línea de órdenes) y no puede ser descargado, será tratado como no modificable.
Esto obviamente tiene sus riesgos, pues luego de leer queda claro que arrasara con quien se interponga en su camino, pero la verdad aun no encontrado nada de lo que deba arrepentirme, quede con kde 4.3 y todo esta bien, un paquete quedo roto, kstart, y lo arregle con synaptic.
Y sigo con Amarok 2.1, creo que lo voy a dejar asi unos días.
Supongo que no es la solución mas ortodoxa, ya que lo que hice fue actualizar. Pero funciono y kde 4.3 esta super.
Bibliografía: paginas que me fueron de utilidad. Muchas gracias!!!! xD
jueves, 10 de septiembre de 2009
MessageBox en Java
JOptionPane.showMessageDialog(Form formulario,String mensaje);
ASi no lo olvido de nuevo!!!.xD.
sábado, 18 de julio de 2009
Escuchar Emisoras On-Line Linux
Bueno...en Linux hay solución.
Instala en Firefox el siguiente complemento:
Media Player Connectivity
Luego de que se ha instalado el te pide que lo configures, aunque también se puede configurar luego en Herramientas -> Media Player Connectivity -> Configurar, en la pestaña Reproductores Multimedia, en Windows Media viene configurado con VLC pero no funciona, cambialo por Amarok que se que funciona y yo uso, o cualquier otro reproductor que acepte flujos de radio.
El ejecutable de Amarok y de casi todos los demás esta en: /usr/bin.
Cuando llegues a donde las paginas de las emisoras te envían para oír la emisora sale un icono negro con un play en la mitad, click y ya.
martes, 5 de mayo de 2009
Imagen .nrg a .iso
- Instalas este programita, nrg2iso, muy diciente:
$ sudo apt-get install nrg2iso. - Luego simplemente vas a la carpeta donde esta guardado tu .nrg y dices:
nrg2iso [nrg-file] [iso-file]. Basicamente, archivo de origen archivo de destino.
miércoles, 22 de abril de 2009
De nuevo VirtualBox!!!!!! kernel driver not instaled
kernel driver not instalñed virtual box
- Pero lo sierto es que si estaba instalado y yo seguia usando el mismo kernel de siempre.....el caso es que como buena despistada se daño no se porque. Pero lo que me interesa compartir es como lo arregle. Tienes que instalar las cabeceras kernel, que son algo asi...y no es una definicion precisa...sino lo que yo entendi....bien, incluyen los archivos de cabecera de C que especifican la interfaz entre el Kernel de linux y el userpace de bigliotecas y programas. Los archivos de cabecera definen estructuras y constantes que son requeridas para construir programas mas tipicos. Esto se hace asi:
- Luego hay que instalar el controlador para el kernel de VirtualBox, asi:
Y luego funciono......
Si alguien me cuenta por que funcionaba....jugue los las versiones del kernel....y aun volviendo a la anterior funciono lo agradeceria.
Chau....