FoxPress – Junio 2001

 

Enviar Emails gráficos creados ‘on the fly’ con datos de VFP

http://www.fpress.com/

 

Por Alberto Rodriguez                                                               

 

 

Una de las preguntas más frecuentes en los foros de Fox es: ¿Cómo puedo enviar email’s desde Fox? A lo  largo del tiempo y desde que se generalizó el uso del correo electrónico han ido surgiendo diversas propuestas.

 

             Una de las primeras que se publicó en esta revista era el uso de controles como el de Mabry que te permitía enviar por Email la información que se requería.

 

             Una vez satisfechas las ansias de enviar Email’s surgio la necesidad de enviar por correo electrónico algunos de los informes que hacía  la aplicación. Una de las más importantes restriccciones era que fuera un producto ROYALTE FREE de forma que no hubiera que pagar licencias es cada distribución y que se integrara facilmente en la aplicación: que no hubiera que volver a escribir la aplicación.

 

             Para esto surgieron varias opciones. Una de las más interesantes fue el HOTSEND ahora llamado Messenger Plus y disponible en http://www.hotsend.com/html/download.asp. Es un producto enteramente gratuito que instala una impresora virtual y que graba los informes en un formato gráfico propietario de forma que el receptor necesita un visor para poder verlo. Todos los módulos son completamente gratuitos con las únicas restricciones de una pequeña publicidad y que el usuario la primera vez que recibe un documento, recibe también un .EXE que es el Visor.          El sistema es bastante bueno con las salvedades anteriores a las que hay que añadir que ultimamente el ambiente cibernético está tan infectado que a muchos usuarios les asusta ver como adjunto a su correo electrónico un .EXE... y la verdad no es para menos. Otra de las limitaciones es que obliga a hacer una instalación complementaria de la aplicación pues el Messenger tiene su propio sistema de instalación.

 

             Con posterioridad a esta utilidad surgió el PDFMail (www.pdfmail.com) que usa un sistema similar pues te convierte los informes a PDF y te deja abierto el lector de correo por defecto para enviar o escribir lo que se quiere. Es un sistema estupendo pero no es Royaltee Free y el precio no es muy asequible.

 

             Algo después también surgió el 602 PrintPack que lo puedes obtener en http://www.software602.com/store/ que es lo mismo que el PDFMail pero a un precio razonable y con el añadido de que puedes convertir también a HTML o dejarlo como fichero en el disco en vez de enviarlo. La única pega que le veo es que te obliga a hacer otra instalación y no es fácil integrarlo en tu sistema de instalación de la aplicación.

 

             Tanto el sistema del Hotesend como el del PDFMail te envían el documento o en un formato gráfico o en PDF con lo que no son facilmente modificables por el receptor.

 

             Otra alternativa que es la que quiero comentar en este artículo es usar de forma combinada dos controles que son de libre distribución y gratuitos para conseguir un efecto similar.

 

             El primero es un control llamado T1CfreeImage de la empresa www.tonec.com que como su propio nombre indica es gratuito y te permite crear gráficos ‘on the fly’ (sobre la marcha) desde tu aplicación. En este caso, al hablar de gráficos, no me estoy refiriendo a fotografías sino a poder escribir textos, poner líneas, etc... Más abajo veremos una demostración.

 

Este control te crea gráficos en formato .PNG

 

El formato de imagenes PNG (Portable Network Graphic) nace debido a los problemas de patente del algoritmo de compresión LZW (Lempel-Ziv-Welch) que emplean las imagenes de tipo GIF, utilizadas desde 1987, para seguir disponiendo de un formato gráfico de difusión gratuita. Aunque el formato JPG cubre bastantes de las necesidades en cuanto a compresión de imágenes, con tasas muy superiores a los GIF, es inadecuado para generar imagenes transparentes, animadas e incluso fotografias que contengan textos, diagramas o iconos. Las imágenes de tipo PNG poseen todas las caracteristicas del formato GIF, con un algoritmo de compresión más eficaz, sin perdida de información y con posibilidad de emplear un numero de colores superior a los 256 que impone el formato GIF. El formato PNG mantiene la capacidad de carga en modo entrelazado, es decir con una primera versión de la imagen de 1/8 de calidad, que se carga en 1/8 del tiempo total, una segunda en 1/4, tercera en 1/2 y por fin la versión final. Con ello puede decidirse detener la carga de la imagen, viendo su aspecto inicial. El formato PNG, debido a su reciente aparición sólo es soportado por los navegadores más recientes. Se recomienda emplear MS Explorer 4.0 o superior.

 

 

Crear el Gráfico

 

Para verlo en funcionamiento deberemos hacer lo siguiente:

 

1.- Bajarnos de la web el control

 

2.- Registrarlo con REGSRV32.EXE

 

3.- Create un programa parecido a este:

 

im = CreateObject("T1CFreeImage.Images.1")

im.CreateImage(100,100)

im.SetColor (255,0,0)

im.DrawLine (10,10,30,30)

im.SetColor (0,0,255)

im.DrawText (10,40,"Hola Boy")

im.SaveToFile ("c:\test.png")

im = NULL

 

Y ahora vete a mirar en C:\ un fichero llamado test.png. Verás que te ha creado un fichero gráfico inmodificable (salvo que tengas un programa de retoque) y que se visualiza perfectamente con el IE. Del mismo modo que escribes la palabra Hola Boy podrías poner cualquier tipo de información de tu Base de Datos, con líneas, etc... O sea hacer un informe completo pero cuyo resultado en vez de imprimirlo en papel es dejarlo en formato de foto.

 

Lo que veriamos si lo abrimos desde el explorer sería algo parecido a:

 

 

Enviarlo por Email

 

             Por la web hay diversas ActiveX gratuitos que te permiten enviar correo desde tus aplicaciones. Que haya encontrado con facilidad están aspxmail o el rkMail. En este caso me he decidido por este último que está disponible en http://www.activerealms.co.za/RainKing/

 

             Para verlo funcionar deberemos hacer:

 

             1.- Bajar de la Web el control.

 

             2.- Registrarlo con REGSRV32.EXE

 

             3.- Crear un código parecido a este:

 

CLEAR

oSMTP = CREATE('rkMail.SMTP')

oSMTP.AddSMTPHost("195.55.171.246")

oSMTP.FromAddress = "me@dummy.co.za"

oSMTP.FromName = "Dummy"

oSMTP.Subject = "This is a test"

oSMTP.AddRecipient ("RainKing", "rubicon@asfds.com")

oSMTP.AddBCC ("RainKing", "RainKing@activerealm2s.co.za")

oSMTP.TextBody = "Esto es un Test."

oSMTP.HTMLBody = "<font face='Arial'><b>Esto es un test.</b></font>"

oSMTP.AddAttachment("c:\test.png")

If Not oSMTP.SendMail

             ? oSMTP.Response

Else

             ? "Mail enviado ..."

EndIf

   

oSMTP = NULL

 

Este Email nos enviará el gráfico anterior que nos hemos creado ‘on the fly’ como adjunto con lo que podemos enviar informes con formato foto desde nuestra aplicación y a un coste bastante reducido.

 

La versión completa del creador de gráficos se llama ActiveImage que te permite hacer JPG e incluir gráficos más sofisticado como fotografías y diagramas de barras y de tarta para tus datos:

 

 

El mismo ejemplo trabajaría con Mabry o con cualquier otro control similar. Tienes otro control gratuito para envío de correo en http://www.aspxp.com/free_stuff/aspxpmail/

 

 

 

 

FoxPress – Junio de 2001

© 2001 FoxPress. All rights reserved