Ver Mensaje Individual
  #2  
Antiguo 14-07-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.110
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Me he comido un poco la cabeza, pero, no he conseguido mi objetivo: poder indicar dónde guardar la página Web, tal como lo hace Internet Explorer, sin intervención del usuario además. Creo que puede hacerse, es más, casi estoy seguro, pero, ya digo que me comí la cabeza un rato y no he sido capaz.

La ayuda de Microsoft MSDN en este caso... no diré que no sirva, pero, deja que desear, cuando menos. La siguiente función es capaz de "invocar" el diálogo estándar que muestra Internet Explorer para "Guardar cómo..." una página Web. Pero, ya digo, es precisa la intervención del usuario, entre otros fallos y limitaciones que pudieran acharcarse a la siguiente función:

Código Delphi [-]
function DlgGuardar(Document: IDispatch) : boolean;
var
  varIn, varOut: OleVariant;
  CmdTarget: IOleCommandTarget;
begin
  Result := false;
  if (Document <> nil) then
  begin
    Document.QueryInterface(IOleCommandTarget, CmdTarget);
    if (CmdTarget <> nil) then
    try
      Result := (CmdTarget.Exec(nil, OLECMDID_SAVEAS,
        OLECMDEXECOPT_DODEFAULT, varIn, varOut) = S_OK);
    finally
      CmdTarget._Release;
    end;
  end;
end;

{ Uso de la función DlgGuardar
}
procedure TForm1.Button1Click(Sender: TObject);
begin
  DlgGuardar(WebBrowser1.Document);
end;

Pruébalo Jhonny, lo mismo te sirve más o menos así. Acaso se me ocurra algo o a alguien se le ocurra la manera de conseguir la "no intervención del usuario" para guardar la página Web en donde nos fuera menester.

De hecho... no iba a publicar este mensaje, porque creo que no está conseguida la respuesta, pero, en fin,... al cabo me he decidido por si alguien tiene arredros como para liarse con ella y dejarla pintiparada.

PD. Por cierto que he partido del código fuente del componente EmbeddedWB, al que podrías echar un vistazo, si no lo conoces. Puede que te venga bien.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 14-07-2006 a las 19:46:24.
Responder Con Cita