Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Enviar datos de una grilla al cuerpo de un mail (https://www.clubdelphi.com/foros/showthread.php?t=82007)

naty_prog 14-01-2013 19:09:14

Enviar datos de una grilla al cuerpo de un mail
 
Hola amigos, tengo la siguiente situación: tengo un dbgrid y quiero mostrar todos los valores que arroja en el cuerpo de un mensaje para mandar por mail. En el siguiente código, hice lo que mas pude pero solo me muestra el registro que selecciono de la grilla.
Necesito que me ayuden con esto, sé que el tema se ha tratado, como por ejemplo vi algo de datasettableproducer, no tengo drama en implementar lo que sea, solo necesito un ejemplo.

Código Delphi [-]
ShellExecute(GetDesktopWindow(),
nil,
pChar('mailto:'+(mail)+ '?subject=' + 'Informe sobre su situacion con '+(DM.IBQuery_materiaNOMBRE.Value)
+ '&body=' + 'Su situacion es la siguiente: '+'%0D%0A'+ 'Cantidad de Faltas: '+(Label_c_falta.Caption)+'%0D%0A'
+ ' Faltas Justificadas: '+(Label_f_jus.Caption) +'%0D%0A'+ ' Faltas Injustificadas: '+(Label_f_injus.Caption)+'%0D%0A'
+  ' Cantidad Faltas Disponibles: '+(Label_c_f_disp.Caption)+'%0D%0A' + '  Porcentaje Permitido: '+(Label_p_permitido.Caption)+'%0D%0A'
+ '  Situcion con la Materia: '+(Label_s_materia.Caption)+'.' + '%0D%0A' +  '%0D%0A' +' Fecha ' + ' Cantidad de Horas ' + ' Tipo de Falta '
+ ' Detalles '+ '%0D%0A'
+DateToStr(DM.ConsultaAistenciaFECHA.Value)  + ' ' + inttostr(DM.ConsultaAistenciaC_HORA.Value)+ ' '+  (DM.ConsultaAistenciaTIPO_FALTA.Value) + ' '
+ (DM.ConsultaAistenciaDETALLE.Value)), 
nil,
nil,
SW_SHOWNORMAL);

Desde ya muchas gracias,saludos!!!

newtron 14-01-2013 20:30:59

Bueno... a bote pronto podrías hacer algo parecido a esto (sin probar, escrito directamente y declarando una variable sAux tipo string):

Código Delphi [-]
sAux:='mailto:'+(mail)+ '?subject=' + 'Informe sobre su situacion con '+(DM.IBQuery_materiaNOMBRE.Value) + '&body=' + 'Su situacion es la siguiente: '+'%0D%0A'+ 'Cantidad de Faltas: '+(Label_c_falta.Caption)+'%0D%0A' + ' Faltas Justificadas: '+(Label_f_jus.Caption) +'%0D%0A'+ ' Faltas Injustificadas: '+(Label_f_injus.Caption)+'%0D%0A' +  ' Cantidad Faltas Disponibles: '+(Label_c_f_disp.Caption)+'%0D%0A' + '  Porcentaje Permitido: '+(Label_p_permitido.Caption)+'%0D%0A' + '  Situcion con la Materia: '+(Label_s_materia.Caption)+'.' + '%0D%0A' +  '%0D%0A' +' Fecha ' + ' Cantidad de Horas ' + ' Tipo de Falta ' + ' Detalles '+ '%0D%0A');
DM.first;
while not DM.eof do begin
  sAux:=sAux+DateToStr(DM.ConsultaAistenciaFECHA.Value)  + ' ' + inttostr(DM.ConsultaAistenciaC_HORA.Value)+ ' '+  (DM.ConsultaAistenciaTIPO_FALTA.Value) + ' ' + (DM.ConsultaAistenciaDETALLE.Value+ '%0D%0A';
  DM.next;
end;

ShellExecute(GetDesktopWindow(), nil, pChar(sAux),  nil, nil, SW_SHOWNORMAL);
Saludos


La franja horaria es GMT +2. Ahora son las 14:05:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi