Archivo por meses: marzo 2017

Novedades de Xailer 5 (III)

Hola a todos,

Hoy os comento otra mejora del IDE que entiendo que es bastante útil y consiste en la posibilidad de realizar búsquedas incrementales en los propios resultados de búsqueda ofrecidos por el IDE cuando se realiza una búsqueda masiva. En la nueva versión de Xailer cuando se realiza una búsqueda masiva podréis ver un nuevo icono en la ventana de mensajes:

Búsqueda en búsqueda

Búsqueda en búsqueda


Cuando pulsemos este nuevo botón podremos realizar una búsqueda incremental sobre los resultados de búsqueda obtenidos. El sistema de búsqueda es incremental y empieza a actuar en cuanto estamos más de medio segundo sin introducir ningún carácter. Espero que os guste.
Resultados de búsqueda en búsqueda

Resultados de búsqueda en búsqueda


¡Ya queda menos para la salida de Xailer 5!

Los siguientes artículos serán mucho más importantes e interesantes; abordaremos los diez nuevos controles que incluye Xailer 5 y la nueva herramienta de control de versiones local que además es totalmente compatible con el uso de control de versiones externo, como SVN o CVS.

Un saludo a todos.

Ignacio Ortiz de Zúñiga
Equipo de Xailer

Novedades de Xailer 5 (II)

Estimados usuarios de Xailer,

Hoy os quiero hablar del control TListView. Ese gran desconocido 😉 Este control es propio del API de Windows y básicamente es un Browse que permite mostrar la información de la misma forma que lo muestra el explorador de archivos del propio Windows. Posee los siguientes tipos de vista: Icon, SmallIcon, List, Tile y Details.

El Browse (TBrowse y sus heredados) que incorpora Xailer se parece a un TListView con vista ‘Details’. Cuando queremos mostrar la información de esa forma, estilo rejilla, el browse de Xailer es infinitamente más potente que TListView. Sin embargo, hay ocasiones en la que el TListView puede ser mejor candidato para los datos a mostrar. Obviamente cuando por el número de elementos a mostrar una vista del tipo distinto de ‘Details’ sea más adecuada, pero también puede ser un gran candidato cuando necesitemos agrupar los distintos elementos del browse o mostrar un ‘checkbox’ en cada uno de ellos.

TListview with groups

TListview with groups

Hasta Xailer 5 el control estaba bastante limitado ya que no se podía personalizar casi nada, pero ahora ha mejorada completamente su funcionalidad permitiendo hacer cosas como esta:

TListView OnDrawCell

TListView OnDrawCell

Y este ha sido todo el código necesario para conseguirlo:

METHOD ListView1DrawCell( oSender, oItem, nColumn, nClrText, nClrPane, hDC, aRect ) CLASS TForm1
   LOCAL nWidth

   IF nColumn == 0
      RETURN 0 // Notify columns one by one
   ELSEIF nColumn == 1
      SelectObject( hDC, ::oFontBold:Handle )
   ELSE
     SelectObject( hDC, ::oFont:Handle )
     IF nColumn == 5
        InflateRect( aRect, -1, -1 )
        nWidth := Int( ( aRect[ 3 ] - aRect[ 1 ] ) * oItem:aData[ 4 ] / ::nMaxSize )
        aRect[ 3 ] := aRect[ 1 ] + nWidth
        FillRect( hDC, aRect, ::oBrushGauge:Handle )
       RETURN 2 // Do not paint anything
     ENDIF
   ENDIF
RETURN Nil

Como veis toda su consigue sobrecargando su evento OnDrawCell que es muy fácil de hacer. Espero que os guste esta importante mejora que he realizado al control. Os animo a que empecéis a usar el control TListView cuanto antes.

Un saludo

Ignacio Ortiz de Zúñiga
Equipo de Xailer

Novedades de Xailer 5 (I)

Estimados usuarios de Xailer,

Par ir abriendo boca me gustaría en una serie de artículos ir contando poco a poco las mejoras que personalmente he incorporado al futuro Xailer 5. Desde las más nimias a las más importantes y sin ningún tipo de orden preestablecido.

En esta primera ocasión os comentaré las mejoras incorporadas a la barra de filtrado (Filter bar) de los browses. Estoy seguro de que más de uno va a suspirar un ¡¡Por fin!! 😉 Estas son:

  • Posibilidad de acceder a la barra de filtrado simplemente pulsando tecla de cursor arriba desde el primer registro del Browse.
  • Posibilidad de navegar entre los distintos campos de filtrado con las teclas TAB y May+TAB
  • Posibilidad de forzar el filtrado inmediato y retornar el foco al browse pulsando tecla de cursor abajo desde cualquier campo de edición de la filterbar.

Cuando usemos la barra de filtrado del TDbBrowse en conjunción con un objeto TMemDataset se abren importantes mejoras dignas de mención:

  • Posibilidad de establecer un rango utilizando la secuencia ‘ (2 guiones)’. Por ejemplo: 2–8, que significaría valores entre 2 y 8 inclusive.
  • Utilización de operadores lógicos: ‘&&‘ para Y y ‘||‘ para O. Por ejemplo: 1 || 3, que significaría valores 1 ó 3

Espero que os haya gustado. Estar atentos a futuros artículos. Gracias por vuestra atención.

Un cordial saludo,

Ignacio Ortiz de Zúñiga
Equipo de Xailer