He logrado hacer la función de envió por correo automático el archivo pdf, espero esta función les pueda ayudar a otros que lo necesiten
la parte que me falta es generar el gráfico, ademas de adicionar captura de foto de la web cam y escaneo desde visual foxpro
Otra cosa que siempre he luchado para poder hacer en visual foxpro es que capture la voz para hacer interactivo los sistemas con comandos de voz así como el siri de iphone
Si lo logramos todos asi demostramos que visual foxpro no es una herramienta obsoleta como algunos opinan ahí.
****************************************************
FUNCTION _Enviar_pdfXCorreo
PARAMETERS cursor_tabla,_reporte,_archivo,_destino,_Asunto,_Contenido
** Cursor o Tabla : Resultado de envio a reportar
** _reporte : Nombre del reporte a utilizar ejemplo : informes\reporte.frx
** _archivo : Nombre que se le asignara al archivo pdf a generar Ejemplo : archivo.pdf
** _destino : Destino será 1=Normal, 2= Solo PDF , 3=Enviar automaticamente el PDF
SELECT (cursor_tabla)
IF EMPTY(_destino)
_destino=1
ENDIF
DO CASE
CASE _destino=1 && reporte normal
REPORT FORM (_reporte) TO PRINTER PROMPT NOCONSOLE PREVIEW
CASE _destino=2 && archivo pdf generado
** Crear directorio si no existe y borrar asi existe ya el archivo
ldirectorio=SYS(5)+SYS(2003)+'\pdf\' && verifico directorio
IF !DIRECTORY(ldirectorio)
MKDIR &ldirectorio
ENDIF
** asignar nombre y ubicacion del archivo a generar pdf
xpdf=ldirectorio+'\'+_archivo+'.pdf' && le asigno un nombre
** si ya existe lo borrar del directorio
IF FILE(xpdf)
ERASE &xpdf
ENDIF
REPORT FORM (_reporte) OBJECT TYPE 10 TO FILE &xpdf
CASE _destino=3 && enviar archivo pdf por correo automaticamente
** Crear directorio si no existe y borrar asi existe ya el archivo
ldirectorio=SYS(5)+SYS(2003)+'\pdf\' && verifico directorio
IF !DIRECTORY(ldirectorio)
MKDIR &ldirectorio
ENDIF
** asignar nombre y ubicacion del archivo a generar pdf
xpdf=ldirectorio+'\'+_archivo+'.pdf' && le asigno un nombre
** si ya existe lo borrar del directorio
IF FILE(xpdf)
ERASE &xpdf
ENDIF
REPORT FORM (_reporte) OBJECT TYPE 10 TO FILE &xpdf
IF !EMPTY(_Asunto)
_Asunto="Envio automatico del archivo adjunto "+_archivo
ENDIF
IF !EMPTY(_Contenido)
_Contenido="Adjunto encontrara la informacion solicitada "
ENDIF
DO LOCFILE("FoxyPreviewer.App")
WITH _Screen.oFoxyPreviewer
.lEmailAuto = .T. && Automatically generates the report output file
.cEmailType = "PDF" && The file type to be used in Emails (PDF, RTF, HTML or XLS)
.nEmailMode = 2 && 1 = MAPI, 2 = CDOSYS HTML, 3 = CDOSYS TEXT, 4 = Custom procedure
.cEmailSubject =_Asunto && Aqui va el Asunto del correo
.cEmailBody= _Contenido && Aqui va el cuerpo del correo
.nSMTPPort = 465
.lSMTPUseSSL = .t.
.cSMTPPassword = 'passowrd'
.lReadReceipt = .T.
.lPriority = .T.
lcDefaultPath = Sys(5)+Sys(2003)
.SendEmailUsingCDO(xpdf) && aqui pongo el archivo adjunto del reporte generado
ENDWITH
endcase