miércoles, 28 de marzo de 2012

Guardar cambios en los handles en una aplicación generada con GUIDE (Matlab)

  • Problema: Generamos un programa con GUIDE en Matlab y al modificar los handles dentro de una función o callback, los cambios no se mantienen tras salir de ella.
  • Descripción: Recordemos primero qué son los handles: Sabemos que los handles es una estructura de datos definida por GUIDE. Ésta contiene toda la información de la interfaz gráfica de usuario o GUI. Los handles están asociados a una ventana (figure) concreta (si nuestra GUI tiene diferentes ventanas -figures-, cada una tendrá sus propios handles). De este modo, nos permiten almacenar información accesible desde todos los callbacks de una misma figura y compartir información entre figuras cuando los pasamos como parámetros. Veremos que en todos los callbacks siempre se pasan como parámetro, PERO, si los modificamos o les añadimos nuevos datos dentro de dicha función, estos cambios se perderán al salir del callback.
  • Solución: Para que la información quede almacenada deberemos ejecutar el siguiente comando en los callbacks asociados a los diferentes elementos de GUIDE (por ejemplo justo antes de salir de la función):
guidata(hObject, handles)


Por otro lado, si deseamos modificar los handles en una función que hemos creado nosotros (no un callback de los creados automáticamente por Matlab), entonces es tan fácil como pasar los handles como parámetro y devolverlos como el output de la función. Definiremos la función así:


function handles = nombre_de_la_funcion(handles)
%Aquí el código que modifica nuestros handles, por ejemplo:
handles.nuevo_dato=1;


La llamada a la función lógicamente deberá recoger el output actualiado: 


handles = nombre_de_la_funcion(handles);


Si encontraste una solución a tu problema y ahorraste tiempo, ya me doy por satisfecho. También podrías invitarme a un café con una pequeña donación en Paypal. ¡Gracias! 

miércoles, 14 de marzo de 2012

Microsoft Word siempre se abre con el modo de compatibilidad activado


  • Problema: Todos los documentos que abrimos en Word 2010 tienen activado siempre el modo de compatibilidad. Deseamos que se abran normalmente, sin esta opción.
  • Solución: Se trata de un problema con la plantilla normal.dotm, para solucionarlo simplemente tenemos que buscar el archivo en nuestro ordenador y cambiarle el nombre. No nos debemos preocupar de este cambio porque se creará un nuevo fichero "normal.dotm" válido cuando abramos un documento. La ubicación de "normal.dotm" generalmente es C:\Users\tu_nombre_de_usuario\AppData\Roaming\Microsoft\Plantillas
  • Si encontraste una solución a tu problema y ahorraste tiempo, ya me doy por satisfecho. También podrías invitarme a un café con una pequeña donación en Paypal. ¡Gracias! 

    lunes, 5 de marzo de 2012

    Cómo acceder a una impresora conectada al router ADSL homestation de Telefonica Movistar



  • Problema: Para acceder a una impresora conectada a nuestro router, se nos indicará que nos descarguemos un fichero. El problema es que al ejecutarlo, la barra de estado no llega hasta el final, se queda parada y no ocurre nada. 
  • Pre-Solución: Cuando la barra se para, Windows emite un sonido, en ese instante pulsa ENTER aunque no haya ninguna pantalla nueva. Es posible que se abra un cuadro de diálogo solicitando tu modelo de impresora para instalar los drivers. Seleccionamos el que corresponda y aceptamos, veremos que la instalación prosigue con éxito. Si esto no funciona, sigue leyendo:
  • Solución: Se trata de un problema de compatibilidad con Windows 7 64 bits. La solución es añadir la impresora con un procedimiento un poco más manual:

    1. Panel de control -> dispositivos e impresoras
    2. Agregar una impresora
    3. Agregar una impresora en red
    4. Añadir una impresora que no aparece en la lista y poner en el recuadro: http://homestation:631/printers/myprinter. NOTA (gracias al comentario de Anónimo): El nombre de la impresora debe ser el mismo nombre introducido en la interfaz de usuario del módem ADSL en el paso 1 de la sección Configuración del servidor de impresión.
    5. A continuación debemos seleccionar el driver de nuestra impresora, según su modelo.
    Si encontraste una solución a tu problema y ahorraste tiempo, ya me doy por satisfecho. También podrías invitarme a un café con una pequeña donación en Paypal. ¡Gracias!