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