Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-01-2007
nfrfabian nfrfabian is offline
Miembro
 
Registrado: ago 2006
Posts: 55
Poder: 18
nfrfabian Va por buen camino
email html desde base de datos

Hola a todos y gracias por cualquier sugerencia. Tengo el siguient problema:
Necesito que mi aplicacion mande email con formato html en forma automatica. El archivo html a enviar puede variar, pero siembre abra datos que se enviaran siempre (cliente; por ejemplo: Estimado señor xxxxx, gracias por su visita...), el nombre del cliente lo saco de una base de datos en ms sql server. El problema surge en que el modelo de mensaje en html no siempre sera el mismo, por decir algo, aparte de enviar el agradecimiento al cliente se manda nuevas ofertas. Mi idea era grabar en una tabla el codigo fuente de la pagina html modelo. Despues cuando tengo la lista de clientes a los que tengo que mandar el email solo tengo que cambiar algunos nombres en el modelo html (por ejemplo buscar en el fuente html la parte que dice "cliente xxxx" y reemplazar "xxxxx" por el nombre del cliente. Esta parte la hice cargando el archivo html en un memo, despues busco y reemplazo las cadena de texto que me interesa, finalmente envio el email.
Hasta ahora todo bien. El problema surge cuando tengo que guardar el archivo html modelo en la tabla, mi tabla podria tener la siguiente estructura:
- idpagina > smallint
- paginahtml > varchar(max)
La estructura la hice de esta forma porque como dije el modelo seria distinto mensualmente, pero tambien quisiera tener una copia de los modelos html de los meses pasados en caso que los necesite. En este punto viene uno de mis problemas. Yo tenia pensado tener un dbgrid con todos los modelos y de esta forma si yo selecionaba uno de los registros en una ventana pudiera ver el modelo (tal cual me lo mostraria cualquier navegador). Aca nose que componente usar para ver la pagina modelo, el componente que me podria servir seria el webBrowser, pero para ver una pagina con este componente necesitaria un url (webbrowser1.navigate('www.clubdelphi.com') no me acuerdo se falta algun otro parametro). En fin para utilizar este componente yo tendria que grabar en disco el modelo html que tengo en mi tabla para despues poder visualizarlo, y hacer este proceso no me parace muy eficiente, talver haya otro componente que tenga la misma funcion que webbrowser y solo tenga que pasarle el codigo html. Yo pense que el componente webbrowser tendria la posibilidad de mostrar una pagina de esta forma, pero yo no encontre la forma de hacerlo.
Si alguien tiene alguna sugerencia de que otro componente podria usar. Tambien quisiera una confirmacion de que se puede guardar el codigo fuente de un html en una tabla con un campo varchar(max) o tendria que utilizar otro tipo de dato.
Desde ya muchas gracias.
Responder Con Cita
  #2  
Antiguo 26-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Respecto lo primero puedes escribir HTML directamente en un "TWebBrowser" más o menos así:

Código Delphi [-]
uses
  ActiveX, MSHTML;

procedure AddHtml(browser: TWebBrowser; html: string);
var
  temp: Variant;
  doc: IHTMLDocument2;
begin
  temp := VarArrayCreate([0, 0], varVariant);
  temp[0] := html;
  if browser.Document = nil then
    browser.Navigate('about:blank');
  doc := browser.Document as IHTMLDocument2;
  doc.Write(PSafeArray(TVarData(temp).VArray));
  doc.Close;
  doc := nil;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  AddHtml(WebBrowser1, '¡Hola mundo!');
end;

El código está basado en cierto método del componente "TEmbeddedWB".
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 26-01-2007
nfrfabian nfrfabian is offline
Miembro
 
Registrado: ago 2006
Posts: 55
Poder: 18
nfrfabian Va por buen camino
Hola, gracias por responder tan rapidamente, el codigo funciona perfectamente, era lo que necesitaba. Suerte.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Enviar email con Cuerpo HTML VictorPenyalver Internet 5 26-07-2007 23:02:24
Añadir datos desde una base de datos a un TListBox proyecto Conexión con bases de datos 1 21-11-2006 07:01:19
Leer Base de Datos desde un CD Gabriel2 Varios 3 29-09-2005 01:38:15
Lista desde una Base de datos Chiro Tablas planas 3 21-04-2004 11:19:58
Email HTML sus fotos adjuntarlas Descendents Internet 6 20-11-2003 12:20:14


La franja horaria es GMT +2. Ahora son las 03:34:16.


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
Copyright 1996-2007 Club Delphi