viernes, 22 de abril de 2016

[Soporte] Restaurar la capacidad de un pendrive


Dejo un articulo que el Mtro Ramón Rincón hace para Kobi Notes 

El pendrive, como memoria USB, es uno de los dispositivos más utilizados para el almacenamiento y la portabilidad de la información. Su diseño pequeño, ergonómico y la gran capacidad de almacenamiento, han ayudado a incrementar su uso. Sin embargo, debido al uso frecuente del pendrive, nuestra información almacenada está en riesgo. Las
causas pueden ser diversas: virus, mala escritura de un archivo, formateo accidental, entre otros.

Una causa poco usual, pero suele suceder, es la mala asignación del espacio como memoria disponible. Esto es que se han generado dos particiones en nuestro pendrive, de la cual el sistema de archivos solo reconoce una parte de la capacidad de almacenamiento, y el espacio restante, que no tiene formato, no tiene posibilidad de acceso por parte del sistema operativo. Es decir, si nuestro pendrive es de 8GB, y el sistema operativo (por ejemplo Windows) solo reconoce 200MB como el espacio total, el espacio restante no tiene formato, por lo cual no es utilizable. Pero, ¿cómo le puedo hacer para que Windows reconozca el espacio no particionado del pendrive? 

Del post que se encuentra al final de este documento, se recomienda seguir con los siguientes pasos para resolver esta situación poco común. En lo personal, estos pasos los seguí para recuperar espacio no asignado de mi pendrive y funcionó al 100%. Cabe mencionar que en el blog que está al final, menciona que estos pasos solo pueden ser aplicados en versiones de Windows 7 y anteriores. Esta afirmación, no la he comprobado. 

Pasos para recuperar espacio no asignado del pendrive en Win 7: 

1) Abrimos C:\WINDOWS\system32\cmd.exe con botón derecho y ejecutar como administrador. Es importante que lo ejecutes como administrador para que tengas acceso a comandos especiales en la consola de Windows




2) Una vez en el símbolo del sistema escribimos:

diskpart

Esta herramienta le permite administrar objetos (discos, particiones o volúmenes) mediante scripts o directamente en el símbolo del sistema. Y aparecerá la siguiente ventana





3)  Después teclea el siguiente comando:  

list disk

Los comandos list disk y list volume muestran todos los discos y volúmenes del equipo.

Es importante que observes qué numero es el pendrive mirando los GB de este y no te equivoques porque lo va a formatear. Si eliges otra unidad de disco, puedes meterte en serios problemas.  





4) Una vez observado el número de volumen de pendrive, escribe:
 

select disk + número de disco del pendrive
 

Ejemplo: select disk 5

Este comando selecciona la unidad de disco especificado y posiciona el cursor en esa unidad. Es importante que no selecciones la unidad de disco 0, porque es una unidad del sistema.



5)   A continuación teclea:
 

clean

En Diskpart, el comando clean ordena al software de utilidad limpiar un disco específico de cualquier partición y la información del sector oculto, limpiando el disco de todos los datos









Puede que marque error, pueda que la limpieza lo haga de manera satisfactoria, independientemente puedes seguir con la ejecución de los pasos para terminar de recuperar el espacio de tu pendrive. A mi me marcó ese error, pero pude recuperar el espacio de mi memoria

6)  Después introduce el siguiente comando:
 
create partition primary

El comando create partition primary crea una partición primaria en el disco básico actual. Después de crear la partición, ésta recibe el foco automáticamente. La partición no recibe una letra de unidad.




7.    En seguida introduce el siguiente comando: 

format fs=NTFS quick 


 

Este comando formatea el volumen o la partición. Esta partición ya está seleccionada desde el select disk. Si se va siguiendo los pasos de manera adecuada, la unidad seleccionada es la unidad del pendrive.

 8.    El último paso importante, escribe:
 
assign

Este comando asigna una letra de unidad al volumen al pendrive, que es la unidad seleccionada que estamos trabajando. Si no se especifica ninguna letra de unidad, se asignará la siguiente letra de unidad disponible.


Una de las maneras de comprobar que se ha generado los pasos correctamente, se abre la ventana de ejecución automática del explorador de Windows para hacer operaciones sobre la unidad.

9.    Para finalizar, introduce:
 
Exit

Este comando me permite salir de la sesión de diskpart de la consola. Puedes teclear de nuevo el comando para salir de la consola de Windows.

Ahora si, puede comprobar que el pendrive o memoria usb ha recuperado el espacio perdido. Espero que les haya servido la información


Referencias

http://www.taringa.net/post/hazlo-tu-mismo/9092024/Solucion-Espacio-no-asignado-en-Pen-Drive-y-Memorias-USB.html 

 https://technet.microsoft.com/es-mx/library/cc766465(v=ws.10).aspx
 

miércoles, 6 de abril de 2016

[J2ME] Re-dimensionar una imagen




El re-dimensionamiento de una imagen no trae muchas complicaciones en Java ME en este caso probado en WTK2.5.2, para esto solo necesitaremos hacer lo siguiente: 

1) Importar la clase Image

  import javax.microedition.lcdui.Image;

2) Invocar el método "redimensionar" con la imagen y el ancho y alto que quieren que quede:


/**
     * Metodo para redimensionar el tamaño de la imagen 
     * @param image objeto con la imagen que se quiere cambiar de tamaño 
     * @param ancho  ancho que quedaria la imagen 
     * @param alto alto que quedaria la imagen 
     * @return retorna el objeto Image ya redimensionada
     */
private Image redimensionar(Image image, int ancho, int alto) {
        int anchoOriginal = image.getWidth(); 
        int alturaOriginal = image.getHeight();
        int[] inicial;  
        int[] ifinal = null;
        inicial = new int[anchoOriginal];
        int i = 0;
        int dy, dx;
        ifinal = new int[ancho * alto];
        for (int y = 0; y < alto; y++) {
            dy = y * alturaOriginal / alto;

            image.getRGB(inicial, 0, anchoOriginal, 0, dy, anchoOriginal, 1);

            for (int x = 0; x < ancho; x++) {
                dx = x * anchoOriginal / ancho;

                ifinal[(ancho * y) + x] = inicial[dx];
            }
        }
        Image redimensionada = Image.createRGBImage(ifinal, ancho, alto, true);
        return redimensionada;
    }


Al mostrarla en un canvas, quedaría re-dimensionada.