sobre DSay y SayRef o agradecimiento a Ramón Avendaño

Uno de los efectos que siempre me han gustado en los formularios de ‘acerca de’ de los programas es el efecto que yo llamo starwars. Consiste en un texto que se va deslizando de abajo arriba del formulario para desaparecer y luego volver a salir por abajo.

Uno de los mejores creadores de controles que ha habido para Fivewin – lo pongo en pasado porque hace años que no se nada de este señor – ha sido Ramón Avendaño. Una de sus clases – DSay o Dynamic Say – sirve para hacer precisamente esto, mover un texto por un área de un formulario. Otra de sus clases – SayRef – sirve para poner un hiperenlace a un texto, de manera que al pinchar en él nos enlace con un sitio web o envie un correo.

Dejo un fichero con un ejemplo de lo que se puede hacer con esta clase. Dentro del fichero va el ejecutable que muestra el efecto, así como los fuentes de las clases DSay y SayRef de Ramón. El ejecutable usa dos BMP que están en ficheros separados, por lo que hace falta descomprimir el ZIP para que el ejecutable se vea bien.

Las clases se pueden encontrar por internet con fuentes y ejemplos, y no he tenido que retocar nada para hacerlas correr con FWH. El ejemplo está compilado con el compilador comercial de xHarbour, pero se puede hacer facilmente con la version open source.

diseño de sistemas interactivos

Ayer fue mi cumpleaños y tuve varios regalos. Aparte de los de mi mujer y mi hija, yo me hice un regalo de un libro que llevaba mucho tiempo queriendo comprar. El título en cuestión es ‘Diseño de sistemas interactivos’ que es la traducción a castellano del libro ‘The human interface’ del recientemente fallecido Jef Raskin. Esta traducción está editada en Argentina y no está disponible en España, asi que la he pedido a una librería de aquel país, concretamente a Cuspide.

iconexperience

Hace unas semanas María me mandó un e-mail con la dirección de un sitio de iconos que desconocía: iconexperience. Los iconos están muy bien y me chocó la cantidad de iconos disponibles, más de 1100, y su precio de 379$ que al cambio son sobre 280€. Vamos que el icono sale a 0,25€. La verdad es que hay muchos iconos repetidos con distintos emblemas, pero la colección es impresionante. Por poner un ejemplo, los iconos del nuevo antispyware de Microsoft son los de esta colección.

editor de recursos pellesc 2.90

Desde hace algún tiempo uso como editor de recursos el que viene con PellesC. Me acabo de instalar la última versión – 2.90 – y hay algunas mejoras realmente interesantes. Ahora permite ordenar los recursos de un mismo tipo por su nombre, cosa que antes no hacia. También ha mejorado el interfaz, que ahora está basado en pestañas y se han añadido nuevas herramientas de bloqueo y alineación de controles. PellesC es freeware y como editor de recursos es realmente bueno, recomendable 100%.

carrera de gui

Esta semana parece haberse desatado una auténtica carrera de GUI para [x]Harbour, al coincidir el lanzamiento de la beta 9 de Xailer, el Preview4 de VisualxHarbour y el build de enero de 2005 de FivewinHarbour. La impresión sigue siendo la misma:

  • FWH es el GUI consolidado y en esta revisión Antonio Linares ha documentado – por fin ! – muchas funciones y clases que antes no lo estaban.
  • la combinación de GUI+IDE de Xailer la hacen una herramienta poderosa, quizá técnicamente la mejor de las tres.
  • Visual xHarbour es un proyecto verde, pero apunta maneras. Sin embargo creo que es a estos a los que hay que seguir de cerca.

No digo nada de MiniGUI ni de otras GUI como TGTK pues realmente las desconozco o conozco poco de ellas y prefiero no pisar charcos. El atractivo de MiniGUI es su licencia GPL, lo cual ha hecho florecer un nutrido grupo de usuarios de esta librería. De GTK+ me llama la atencíón su capacidad multiplataforma (Windows-Linux). Estoy de acuerdo con Rafa en que hay bastante dispersión.

La mayoría de programadores xbase coincierán conmigo en el efecto revitalizador que xHarbour ha supuesto en nuestro entorno. Ahora mismo nadie pone en duda de que el proyecto puesto en marcha por Patrick Mast y Ron Pinkas es el espejo en que mirar la evolución del lenguaje xbase. Aparte de las bondades del compilador, creo que el aspecto más importante de xHarbour ha sido la revitalización del lenguaje y la generación de un efecto de atracción de nuevos programadores o viejos clipperos que cambiaron de lenguaje de programación y ahora se plantean volver a xbase. Este efecto de atracción sin duda se va a dar también en su Visual xHarbour, y por eso digo que a estos es a los que hay que seguir de cerca. En privado ya he oido algunas críticas a la herramienta, como que cada control que genera el IDE no crea una instancia del control tipo, sino que hereda del mismo y esto va a hacer los ejecutables muy pesados y lentos, pero creo que el posible éxito de la herramienta va a tener más que ver con la a
tracción y las expectativas que genere que con sus características técnicas.

FSDI no modal

Una de las últimas mejoras que hemos incorporado a los programas ha sido convertir la interfaz FSDI en no modal. De esta manera se puede pasar de un mantenimiento a cualquier opción de la barra de menús o de la barra de botones sin cerrar el mantenimiento en el que se está y tambien minimizar la ventana de la aplicación sin cerrar el mantenimiento. Todavía quedan cositas por arreglar pero con esta mejora los programas han ganado bastante.

Para hacer esto hemos tenido que añadir la clausula NOWAIT en el ACTIVATE del diálogo, pues hay que recordar que la clase TFSDI está basada en diálogos y no en ventanas. Al hacer esto el diálogo pasa a ser no modal y se puede elegir otra opción de la ventana principal sin cerrarlo, con lo que tuvimos que controlar por código que al abrir un diálogo FSDI no hubiese abierto otro. Otro problema fue que FWH se comporta de una manera extraña: al añadir la clausula NOWAIT a un dialogo pasan a ser no modales el propio dialogo y todos los que se creen a partir de él, con lo cual teniamos el problema de que se podia pasar a otra acción con el dialogo de edición de un registro con el registro a medio editar, lo que no parece muy conveniente. Ya tenemos todo listo, y salvo problema de última hora, en unos dias haremos públicas las versiones candidatas – RC – 1 de Cuaderno de Bitácora y el Puchero.

El XAAC espera.

nueva imagen de el Puchero

En el lanzamiento de las nuevas versiones de los programas estamos cuidando a tope los detalles. Una cosa que siempre me ha llamado mucho la atención de los programas es el icono. Estoy harto de ver programas buenos o muy buenos con un icono penoso y es un auténtico placer observar iconos bien hechos, como los de Firefox y Thunderbird. Un icono bonito es la guinda de un programa bien hecho.

Como no nos gustaban lo suficiente los iconos de el Puchero y Cuaderno de Bitácora que somos capaces de hacer decidimos encargarlos a Jono. Jaime y yo nos quedamos a cuadritos cuando nos envió su propuesta. La idea es la misma: un tenedor y una cuchara cruzados… pero bien hecho.

colores de Windows

Un error que se suele cometer cuando se programa es usar colores fijos en determinados controles que se quiere resaltar. Por ejemplo, que la fila iluminada en una rejilla de datos sea de color azul intenso, o un determinado
panel de un beige muy clarito. El programador se siente Van Gogh por un día y lo que acaba de hacer realmente es meter la pata hasta la rodilla. ¿ Que pasa si el usuario cambia sus colores de Windows ? Pues que el azul intenso puede quedar como una patada en la espinilla y lo del beige mejor dejarlo. El programador queda como un daltónico, cuando realmente es un chapuzas.

La solución es usar siempre los colores del propio Windows, de manera que sea cual sea la combinación de colores del usuario, nuestros programas entonen con ellos. Fivewin permite acceder a los colores de Windows a través de la función GetSysColor() y es muy sencillo hacer un pequeño programa que nos muestre los distintos colores del sistema, de manera que podamos elegir en cada momento cual usamos, pero siempre referido a la combinación de colores que tenga definida el usuario. Quiza perdamos un poco de vistosidad, pero ganaremos mucho en elegancia.

Fijandonos bién y ejecutando este programa con diversas combinaciones de colores veremos que Windows utiliza siempre pocos colores y juega con mucho cuidado con tonalidades de los mismos. Dejo el código fuente y el ejecutable de esta utilidad para descargar.