Página principal
Artículos y trucos
Catálogo de productos
Ejemplos y descargas
Mis libros
Cursos de formación
Investigación y desarrollo
Libros recomendados
Mis páginas favoritas
Acerca del autor
 
En colaboración con Amazon
 
Intuitive Sight

Divide (el código) y vencerás

Fue un amor casi a primera vista... Cuando Delphi 5 introdujo los frames comprendí que estaba ante el principio de una buena amistad. Sin embargo, ha tenido que pasar cierto tiempo para que me haya dado cuenta de todas las posibilidades que abre el nuevo recurso. Aquí explico una de ellas.

Una de las metáforas que mejor funcionan en el diseño de interfaces visuales es la de las "consolas". O si no le molestan las comparaciones con coches (a mí sí), la metáfora del "salpicadero" (Esp. fam. la parte del coche donde van los mandos, los indicadores de velocidad, de aceite y combustible, etc, etc). En este tipo de aplicaciones, la ventana principal contiene, desde que se inicia la ejecución, estructuras de navegación a partir de las cuales se accede al resto de los objetos de la base de datos. Por ejemplo, en la aplicación que aparece a continuación, la lista de palabras claves y la que contiene las clases de productos definidas se encuentran siempre a disposición del usuario de la misma:

El problema de las interfaces "salpicadero" es similar al del chotis madrileño, que hay que saber bailarlo sobre un solo ladrillo. En este caso, las aplicaciones con interfaz tipo "salpicadero" terminan por programar casi toda su funcionalidad en un único fichero: el que corresponde a la ventana principal.

¿Alguna solución? Es evidente: tenemos que recurrir a los frames. No voy a entrar en los detalles del proceso, porque todo depende de la aplicación concreta que se traiga entre manos. El ejemplo anterior se creó utilizando dos frames distintos: uno que define todo el trabajo con la lista de palabras claves, y otro con la lista de clases. El control de páginas es una "adición" de la ventana principal, y en cada una de sus páginas he situado uno de los frames antes definidos.