sistema de búsquedas

Hasta ahora en mis programas la búsqueda de registros era mediante SEEK. Esto quiere decir que al buscar un término, por ejemplo ‘software’ en un fichero de libros, la búsqueda devolvía como resultado el primer registro que empezase por ese término. Si el título del libro era Ingeniería de software la búsqueda anterior ni le rozaba.

A partir de ahora las búsquedas no van a ser por SEEK sino que van a permitir realizar búsquedas en cualquier parte del campo por el que se quiera buscar. Asi ya podré encontrar mis libros de Ingeniería de software al introducir software en el formulario de búsqueda de Cuaderno de Bitácora. El resultado es este:

20060325.jpg

El mayor problema que he tenido para implementar este tipo de búsquedas no ha sido la manera de hacer la búsqueda sino como presentar el resultado. Al final la decisíón ha sido mostrar un formulario con la relación de ejemplares que cumplen la condición para ahi hacer la selección definitiva del ejemplar a consultar. Una lista sobre otra lista, como dice mi amigo Manuel, pero creo que es la mejor manera de hacerlo.

jonathan strange y el señor norrell

Hacía tiempo que no disfrutaba tanto con un libro como lo he hecho con este. En la web de la editorial hay una reseña donde evidentemente lo ponen muy bien. Es mucho mejor de lo que dice ahí. Es uno de esos libros que te atrapa, que te persigue cuando estás en casa, que hace que te quedes por la noche leyendo mientras en casa todos duermen.

strange.gif

fuentes grandes en FWH

Una de las cosas que nos están pidiendo los usuarios de nuestros programas ultimamente es la posibilidad de modificar el tamaño de la fuente de los mismos. Con el aumento de tamaño de los monitores actuales es perfectamente posible tener una fuente grande para no tener que forzar la vista. Es posible definir en el programa una fuente y un tamaño, pero creo que la manera correcto de hacer esto es que el usuario defina en Windows que fuente y que tamaño quieren usar y que los programas tomen la fuente de la configuracíón de Windows. Además Windows permite usar el sistema de alisado de fuentes ClearType que permite tener una fuente muy nítida en monitores grandes.

Un formulario típico con fuentes pequeñas sería el siguiente:

20060306e.jpg

Para pasar el programa a fuentes grandes, o mejor dicho, para que siempre coja las fuentes del sistema, tenemos que evitar usar tamaños de fuente fijas en nuestro programa y coger la del sistema. En FWH existe la función GetSysFont() que permite coger la fuente del sistema. Contando que al usar fuentes grandes el propio Windows se encarga de redimensionar los diálogos tenemos que nuestro anterior diálogo se ha trasformado en este:

20060306c.jpg

Perfecto, ¿ no ?

Pues no. Usando GetSysFont() cogemos las fuentes del sistema, pero no se el motivo por el cual determinadas partes del formulario no usa el suavizado de fuentes cuando se le pide a Windows que lo haga. Así, si nos fijamos en la imagen de arriba vemos que realmente hay dos tipos de fuentes en el diálogo, una para los GET y otra para los SAY.

Fijándonos en el menú de la aplicación veremos que este sí que usa el suavizado de fuentes, tal como se aprecia en la siguiente imagen:

20060306g.jpg

¿ Que hacer para que la aplicación tome la fuente de Windows con el suavizado ? La solución me la dió mi amigo Paco – gracias otra vez más – y consiste en usar las siguientes funciones:

//___ manejo de fuentes - Paco García 2006 ___________________________________//
#pragma BEGINDUMP
#include "Windows.h"
#include "hbapi.h"
HB_FUNC( GETDEFAULTFONTNAME )
{
LOGFONT lf;
GetObject( ( HFONT ) GetStockObject( DEFAULT_GUI_FONT )  , sizeof( LOGFONT ), &lf );
hb_retc( lf.lfFaceName );
}
HB_FUNC( GETDEFAULTFONTHEIGHT )
{
LOGFONT lf;
GetObject( ( HFONT ) GetStockObject( DEFAULT_GUI_FONT )  , sizeof( LOGFONT ), &lf );
hb_retni( lf.lfHeight );
}
#pragma ENDDUMP

y en el programa definir de esta manera la fuente de la ventana principal:

::oFont = TFont():New( GetDefaultFontName(), 0, GetDefaultFontHeight(),, )</p>

y luego heredar en las ventanas y dialogos del programa esta fuente. Con esto nuestro diálogo queda de esta manera:

20060306d.jpg

donde se ve claramente que ya toma bien la fuente del sistema con el suavizado de bordes.

El último paso para que nuestra aplicación FWH tome bien las fuentes del sistema es modificar las clases de FWH que usan fuentes de paso fijo, como MsgBar, MsgItem y Ttabs para que cojan la fuente de nuestra ventana principal.

Las próximas versiones de nuestros programas ya funcionarán bien con fuentes grandes.

[ot] recogida de firmas

Este post no es acerca de la temática de este blog, sino sobre algo mucho más importante.

La semana pasada recibí un correo de un amigo, muy buen programador y una excelente persona, en estos términos:

Hola, os agradecería leyeseis la siguiente nota referente a una enfermedad que está mas cerca de todos nosotros de lo que nos imaginamos y de la que cada día se salvan mas personas gracias a la investigación.Si lo veis interesante y queréis podéis firmar y/o enviar a otros amigos.http://www.terapia-cancer.org/recogida-firmas.php

Muchas gracias y un saludo,

Espero que muchos de los visitantes de este blog leais este documento y, si lo considerais importante, lo firmeis.

más sobre descargas y sobre Google

Llevo una temporada sin postear en el blog por varias razones. Una es porque el trabajo de día me absorbe ahora más dedicación y me queda menos tiempo para mi verdadera pasión, que no es otra que alanit. Otra es que me comprometí a hacer una web para unos amigos y estoy de pruebas de diseños y demás. Y la tercera es que Fátima no me deja tocar el ordenador cuando está conmigo y quiere que juege con ella, y ya se sabe quien manda en una casa donde hay un niño.

En un anterior post comentaba que estabamos aumentando significativamente el número de descargas de ediciones gratuitas de los programas. Ahora puedo decir que con la perspectiva de tres meses desde la puesta en circulación de las ediciones gratuitas el incremento de descargas es realmente importante, de tal manera que casi se puede decir que hemos multiplicado por 10 el número de descargas de los programas desde noviembre, que fue el último mes antes de poner en marcha las ediciones gratuitas. Los registros han crecido pero ni mucho menos en esta magnitud, que más quisieramos nosotros, pero si se nota más movimiento y mayores ingresos pese a la bajada de precios de los programas.

Pasando a otro tema, el pasado fin de semana encontré en el kiosko una revista que me llamó mucho la atención. Es un número dedicado a Google de la revista Pc Cuadernos. La he empezado a leer y me está gustando bastante, creo que cuenta bastantes cosas interesantes sobre la optimización de un sitio web para Google y que le voy a sacar bastante partido. El contenido de la revista se puede consultar aqui y creo que es una compra para cualquiera que mantenga su propio sitio web.