Comment enregistrer une page HTML avec les images dans un répertoire défini à l'

cs_FreDelph Messages postés 31 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 13 novembre 2006 - 5 oct. 2004 à 22:45
nabil4soft Messages postés 1 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 18 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;

3 réponses

cs_damrod Messages postés 7 Date d'inscription vendredi 12 mars 2004 Statut Membre Derniè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 ;))
0
cs_FreDelph Messages postés 31 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 13 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 ;-))
0
nabil4soft Messages postés 1 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 18 juin 2010
18 juin 2010 à 19:51
[^^clinoeil1][^^clinoeil1][^^clinoeil1]
0
Rejoignez-nous