Comment enregistrer une page HTML avec les images dans un répertoire défini à l'
cs_FreDelph
Messages postés31Date d'inscriptionmercredi 16 avril 2003StatutMembreDernière intervention13 novembre 2006
-
5 oct. 2004 à 22:45
nabil4soft
Messages postés1Date d'inscriptionlundi 7 juin 2010StatutMembreDernière intervention18 juin 2010
-
18 juin 2010 à 19:51
Je souhaite ouvrir la boîte de dialogue sur DirPage et enregistrer la page html avec les images. Les deux essais suivants ne le font pas. Comment corriger ?
Cas 1-La boîte de dialogue ne s'ouvre pas sur DirPage mais enregistre la page html avec les images:
procedure TForm1.ButtonClick(Sender: TObject);
var
DirPage : OleVariant;
begin
Try
DirPage:=CheminCarte+'\Archives Bnf\Carte'+NoCarte+Feuille+'\FRBNF'+IntToStr(NoNotice+StrToInt(NoCarte))+'.html';
WebBrowser1.ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_PROMPTUSER , DirPage);
Except
Messagebox(Form1.handle,PChar('La page n''est pas affichée complètement ou est indisponible. '),' Opération annulée', 64);
end;
end;
Cas 2-La boîte de dialogue s'ouvre sur DirPage mais enregistre la page html sans les images:
procedure TForm1.SpeedButton196Click(Sender: TObject);
var
DirPage : OleVariant;
begin
Try
DirPage:='C:\Test\page.html';
WebBrowser1.ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_DONTPROMPTUSER, DirPage);
Except
Messagebox(Form1.handle,PChar('La page n''est pas affichée complètement ou est indisponible. '),' Opération annulée', 64);
end;
end;
A voir également:
Comment enregistrer une page HTML avec les images dans un répertoire défini à l'
cs_damrod
Messages postés7Date d'inscriptionvendredi 12 mars 2004StatutMembreDernière intervention 8 octobre 2004 8 oct. 2004 à 11:35
Ben fait un savedialog1 avant ton code....
ce genre la :
savedialog1.FileName := 'MaPage.html';
savedialog1.Filter := 'Pages web || *.html;*.htm';
if savedialog1.Execute then
begin
dirpage := savedialog1.FileName;
WebBrowser1.ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_PROMPTUSER , dirpage);
end;
ca ouvre une boite dialogue pour dire le nom et l'emplacement du fichier a creer=> dirpage
et comme tu dis que avec OLECMDEXECOPT_PROMPTUSER ca enregistre avec les images sans ouvrir de boite de dialogue
ca devrait contourner le probleme non? (ok ca sent al bidouille ;))Ben fait un savedialog1 avant ton code....
ce genre la :
savedialog1.FileName := 'MaPage.html';
savedialog1.Filter := 'Pages web || *.html;*.htm';
if savedialog1.Execute then
begin
dirpage := savedialog1.FileName;
WebBrowser1.ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_PROMPTUSER , dirpage);
end;
ca ouvre une boite dialogue pour dire le nom et l'emplacement du fichier a creer=> dirpage
et comme tu dis que avec OLECMDEXECOPT_PROMPTUSER ca enregistre avec les images sans ouvrir de boite de dialogue
ca devrait contourner le probleme non? (ok ca sent al bidouille ;))
cs_FreDelph
Messages postés31Date d'inscriptionmercredi 16 avril 2003StatutMembreDernière intervention13 novembre 2006 8 oct. 2004 à 21:55
Oui, j'ai pensé à utiliser une astuce de ce genre, mais cela ne fonctionne pas :
WebBrowser1.ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_PROMPTUSER , dirpage); ouvre une boîte de dialogue d'enregistrement qui n'a rien à voir avec un SaveDialog mis intentionnellement sur la fiche.
Donc en utilisant le code que tu m'indiques , la SaveDialog1 s'affiche en premier et la boîte de dialogue à laquelle je suis confronté s'affiche quand même en second.
Il faudrait pouvoir paramétrer directement cette seconde boîte de Dialogue Windows ouverte automatiquement par WebBrowser1.ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_PROMPTUSER , dirpage)...
... et ce n'est pas si simple ;-))