Archivo de la categoría: Xailer 5

Novedades de Xailer 5 (IX)

Buenos días,

¡Y otro control más! Y seguro que más de uno lo ha echado de menos alguna vez. Y es la posibilidad de firmar documentos PDF con un certificado digital. Xailer 5 incorpora un nuevo componente de nombre TPdfSignTool que permite realizar esta tarea de forma muy sencilla, básicamente sólo hay que indicar el fichero origen, el fichero destino, el fichero del certificado y su clave. Eso es todo.

No obstante, la clase permite establecer exactamente donde deseamos ubicar visualmente el certificado o certificados y además permite que la fecha y hora de la firma esté sellada por una entidad autorizadora (‘time stamp authority’).

Y todavía hay más ….

¡Hasta pronto!

Novedades de Xailer 5 (VIII)

Estimados usuarios,

Hoy os presento una completa nueva pestaña para Xailer 5, que es la pestaña de Comunicaciones:

Xailer Communications tab

Xailer Communications tab

Que incluye los siguientes controles:

  • TCefBrowser que es un navegador Web basado en el proyecto Chromium de Google (sólo versión Enterprise)
  • TWebBrowser que es un navegador Web basado en Intenet Explorer de Microsoft
  • TBlatMail que es un cliente de envío de correo electrónico a través de BLAT
  • TCdoMail que es un cliente de envío de correo electrónico utilizando el componente Microsoft CDO.Message
  • TGmailSend que es un cliente de envío de correo electrónico utilizando servidores de GMail y utilizando tecnología oAuth2
  • TPop3Client que es un cliente simple de recepción de correo electrónico
  • TFTP que es un cliente para conexiones FTP
  • TAsyncDownload que es un cliente HTTP para descarga asíncrona desde Internet (sólo versión Enterprise)
  • TAsynFileDownload, igual que el anterior control pero simplificado para simplemente establecer nombre del fichero local y remoto (sólo versión Enterprise)
  • TMailSlotCient que es un cliente para conexiones entre aplicaciones Xailer
  • TMailSlotServer que es un servidor para conexiones entre aplicaciones Xailer
  • TInternet que es un cliente HTTP de gran flexbilidad

Algunos de los controles de esta nueva pestaña ya existían en versiones anteriores de Xailer, no obstante se ha hecho un gran esfuerzo para poder ser utilizados directamente de forma visual desde el IDE y además se ha completado su documentación.

Espero que os gusten. ¡Ya queda menos para Xailer5! Estar atentos por favor.

Un cordial saludo

Ignacio Ortiz de Zúñiga
[Equipo de Xailer]

Novedades de Xailer 5 (VII)

Estimados usuarios de Xailer,

Hoy os presento la que sin duda es, una de las grandes mejoras de Xailer 5 y es el nuevo control TCardBox (tarjetas) de diseño y creación propio y del cual estoy especialmente orgulloso 😉 Este nuevo control está especialmente indicado para sustituir a gran cantidad de ‘Browses’, pero sobre todo, para ser un control fundamental en el desarrollo de aplicaciones para tabletas. Sigue leyendo

Novedades de Xailer 5 (VI)

Estimados usuarios de Xailer,

Hoy os presento otro control más realizado por mi para Xailer 5, que es el control TSwitch. Es un control cuya funcionalidad es idéntica a un ‘checkbox’ pero que visualmente es mucho más idóneo, sobre todo para su uso en tabletas por su capacidad de establecer el tamaño que se desee.

Xailer Switch

Xailer Switch

Al igual que ocurría con el control TEditMod que mostré en mi último artículo, TSwitch es un control que se pinta absolutamente de forma vectorial con técnicas de ‘antialiasing’ para disminuir el efecto ‘dientes de sierra’ en sus curvas. Se puede establecer igualmente el color base del control, pero por defecto utilizará el que esté configurado como tema de Windows (Windows Vista o superior).

Espero que os guste. Ya queda menos para la publicación de Xailer 5.

Un saludo

Ignacio Ortiz de Zúñiga
Equipo de Xailer

Novedades de Xailer 5 (V)

Estimados usuarios,

En este nuevo artículo quiero presentaros los nuevos controles que he realizado para mejorar la edición desde Xailer y adaptarlos a Windows 10 y su uso con tabletas. El control original de Windows adolece de varios problemas, que son:

  • Imposibilidad de centrar su texto verticalmente en su marco contenedor, lo cual obligaba a cambiar el font según el alto del control para adaptarlo más o menos.
  • Imposibilidad de cambiar el estilo ‘contraseña’ una vez creado el control
  • Imposibilidad de cambiar completamente su marco

Además, en Windows 10 podemos observar como existen nuevas funcionalidades en algunos controles de edición, como:

  • Un texto de ayuda cuando el control está vació
  • Una imagen de una lupa para disparar una búsqueda
  • Una imagen para borrar el contenido del control (muy útil con tabletas)
  • Una imagen para mostrar el contenido de un control de edición tipo contraseña

Todas estas nuevas funcionalidades se han incorporado en dos nuevos controles de nombre TEditMod y TMemoMod, que por supuesto tienen sus equivalentes como DataControls TDbEditMod y TDbMemoMod. Os dejo una imagen de los mismos:

TEdiMod y TMemoMod

TEdiMod y TMemoMod


El pintado de las distintas imágenes que muestra el control es completamente vectorial utilizando técnicas de ‘antialiasing’ que incorpora GDI+.

Espero que los nuevos controles sean de vuestro agrado. ¡Hasta muy pronto!

Un cordial saludo

Ignacio Ortiz de Zúñiga
Equipo de Xailer

Novedades de Xailer 5 (IV)

Estimados usuarios de Xailer,

Cuarta entrega de las mejoras que incluirá Xailer 5, y está es muy importante y casi indispensable si pensáis hacer aplicaciones para tabletas con Windows 10 como SO. Es un control que existe en Xailer desde el principio y se basa en un control nativo de Windows pero siempre hemos querido deshacernos de él debido a sus limitaciones y es el control ‘TTabControl‘ y su heredado ‘TFolder‘.

El nuevo control de nombre ‘TTabs’ incluye toda la funcionalidad del control nativo, pero además incluye las siguientes mejoras:

  • Cualquier orientación (con visualización correcta)
  • Alto y ancho de las pestañas parametrizable
  • Pestaña fantasma para que el usuario puede incluir más pestañas
  • Posibilidad de mover las pestañas por el usuario final
  • Bordes de pestañas personalizables
  • Absoluta ausencia de cualquier tipo de parpadeo

TTabs 1

El nuevo control TTabs además permite atrapar sus eventos de pintado de una forma sencilla y de esta forma cambiar completamente la apariencia del control. Con este simple código:

METHOD Tabs1DrawTab( oSender, nIndex, cText, nImage, nClrText, nClrPane, nState, hDC, aRect ) CLASS TForm1

LOCAL hBrush
LOCAL aColors := {0x737373, 0x4986E7, 0x16A765, 0xE9B330, 0xA479E2}

 IF (nState == tsHOT .OR. nState == tsSELECTED) .AND. nIndex > 0
  nImage += 5
  hBrush := CreateSolidBrush( aColors[ nIndex ] )
  FillRect( hDC, { aRect[ rtLEFT ], aRect[ rtTOP ], aRect[ rtRIGHT ], aRect[ rtTOP ] + 2 }, hBrush )
  DeleteObject( hBrush )
  aRect[ rtTOP ] += 2
 ENDIF

RETURN Nil

Conseguimos este efecto: (Quizás os recuerde a algo ;-))

TTabs 2

Para Xailer 5 he desarrollado un total de diez nuevos controles pensando sobre todo en el nuevo aspecto visual que impone Windows 10 y en la necesidad de tener controles optimizados para su uso en tabletas. Entendemos que son controles de uso avanzado y por dicho motivo sólo estarán presentes en la versión Enterprise de Xailer. Os animamos a que deis el salto a Enterprise cuanto antes. Las ventajas son muchas, pero sin duda la más importante, es la de poder utilizar servidores de bases de datos directamente sin ningún tipo de conector como ADO u ODBC.

Un cordial saludo

Ignacio Ortiz de Zúñiga
Miembro del equipo de Xailer
http://www.xailer.com

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