powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Source Code в TWebBrowser? (HTML-code)
25 сообщений из 25, страница 1 из 1
Source Code в TWebBrowser? (HTML-code)
    #32238546
Фотография Антон Ковалев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите плз: как добраться до сабжа? (через какое свойство).
SNQ.
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32238561
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Дык ведь это не нативный компонент, а обертка для IE.
То есть никак.
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32238604
srf2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
легко :)

procedure TForm1.Button3Click(Sender: TObject);
var Persist : IPersistFile;
Document : IHTMLDocument2;
b : LongBool;
begin
Document :=Webbrowser1.Document as IHTMLDocument2;
Persist := Document as IPersistFile;
Persist.Save('C:\temp.htm',b);
memo1.lines.loadfromfile('C:\temp.htm');
end;
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32238637
Фотография Антон Ковалев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IPersistFile, IHTMLDocument2 - а это как прописать?

(Ругается: Undeclared identifier: 'IPersistFile' и Undeclared identifier: 'IHTMLDocument2')
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32238644
srf2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а поиском не научили пользоваться?
IPersistFile - activex
IHTMLDocument2 - mshtml
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32238658
Фотография Антон Ковалев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объясни плз незнающему!
(никто не учил =true)

п.с. это в палитре должнобыт?
(или лыжы не едут?)
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32238663
srf2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uses activex, mshtml;
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32238776
Фотография Антон Ковалев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 srf2000
Большое спасибо!
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32239048
zDIV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, пожалуйста, глуповатому (уже несколько раз типа объясняли), а как сохранить www-страницу целиком с кучей дополнительных файлов в каталоге с таким же именем, что и сам html-файл (как при выполнении из браузера команды "Сохранить как...", поскольку негодный "Persist.Save('C:\temp.htm',b);" сохраняет только один головной файл.
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32239271
Фотография Антон Ковалев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 zDiv
Можно вручную: выбирать из html-тегов имя картинки и скачивать...
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32239500
oleg_e
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У IHTMLDocument2 должно быть свойство Images, попробуй использовать его.
Думаю и до других оъектов можно добраться аналогичным способом.
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32243393
zDIV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну хорошо, не доходит... Что-то маловато свойств у images, что дальше-то делать, как добраться до IЧем.SaveToFile(IКуда.FileName)?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
...
    property images: IHTMLElementCollection read Get_images;
...

  IHTMLElementCollection = interface(IDispatch)
    ['{3050F21F-98B5-11CF-BB82-00AA00BDCE0B}']
    function  toString: WideString; safecall;
    procedure Set_length(p: Integer); safecall;
    function  Get_length: Integer; safecall;
    function  Get__newEnum: IUnknown; safecall;
    function  item(name: OleVariant; index: OleVariant): IDispatch; safecall;
    function  tags(tagName: OleVariant): IDispatch; safecall;
    property length: Integer read Get_length write Set_length;
    property _newEnum: IUnknown read Get__newEnum;
  end;

...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32243613
zDIV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще один намек. Помогите, пожалуйста, недоумку закрыть это любопытство.
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32243620
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы про что ??
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32243644
zDIV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полностью сохранить страницу, как при команде из браузера "Кохранить как...", но без диалога, программно.
Посоветовали IHTMLDocument2.images...???
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32245918
zDIV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему все подсказки на всех форумах кончаютя на этом месте?
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32246074
srf2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дам еще подсказку :)

WebBrowser1.ExecWB(OLECMDID_SAVEAS,OLECMDEXECOPT_PROMPTUSER);
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32264440
zDIV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не годится и такое:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
var
  vaIn, vaOut: OleVariant;
begin
  vaIn := 'C:\temp\006.html';
  WebBrowser1.ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_DONTPROMPTUSER, vaIn, vaOut);
  Caption := vaOut;
end;

Нужно, чтобы это все происходило на полном автомате без участия юзера, а диалог все равно появляется, тема не закрыта...
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32273997
zDIV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Низкий поклон за внимание!
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32274135
srf2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотри тут
http://www.codeproject.com/shell/IESaveAs.asp
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32274339
zDIV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, мне для простоты осталось только научиться своему приложению Application передать событие (сымитировать) нажатие клавиши Enter!?? Help!!!
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32274584
oleg_e
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
PostMessage(Wnd, WM_KEYDOWN, vk_Return,  0 );
Application.ProcessMessages;
PostMessage(Wnd, WM_KEYUP, vk_Return,  0 );
Application.ProcessMessages;
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32274920
zDIV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Осталось совсем чуть-чуть...
Не удается послать событие нажатие клавиши Enter окну "Сохранить как"...
Использую PostMessage(Application.Handle, WM_KEYDOWN, vk_Return, 0), очевидно, объекты браузера живут в своем Application.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
unit InternetSiteServicerWin;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  StdCtrls, OleCtrls, SHDocVw, Dialogs, ActiveX, MSHTML, ExtCtrls;

type
  TInternetSiteServicerForm = class(TForm)
    WebBrowser1: TWebBrowser;
    Timer1: TTimer;
    Button1: TButton;
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  InternetSiteServicerForm: TInternetSiteServicerForm;

implementation

{$R *.dfm}

const
  SaveDialogShowing: Boolean = False;

procedure TInternetSiteServicerForm.Timer1Timer(Sender: TObject);
const
  I: Integer =  0 ;
begin
  if not SaveDialogShowing then Exit;
  Inc(I); if not (I mod  4  =  3 ) then Exit;
  PostMessage(Application.Handle, WM_KEYDOWN, vk_Return,  0 );
  Application.ProcessMessages;
  PostMessage(Application.Handle, WM_KEYUP, vk_Return,  0 );
  Application.ProcessMessages;
  SaveDialogShowing := False;
  { 0 } Caption := 'OnTimer ' + IntToStr(Screen.CustomFormCount);
end;

procedure TInternetSiteServicerForm.Button1Click(Sender: TObject);
var
  HTMLDocument: IHTMLDocument2;
var
  vaIn, vaOut: OleVariant;
const
  HttpAddr = 'www.gismeteo.ru/weather/towns/35121.htm';
  FileName = 'C:\Temp\test.htm';
begin
  { 1 } Caption := DateTimeToStr(Now) + ' ' + IntToStr(Screen.CustomFormCount);
  WebBrowser1.Navigate(HttpAddr);
  repeat
    Application.ProcessMessages;
    HTMLDocument := WebBrowser1.Document as IHTMLDocument2;
  until Assigned(HTMLDocument);
  while HTMLDocument.ReadyState <> 'complete' do
  begin
    Application.ProcessMessages;
  end;
  { 2 } Caption := DateTimeToStr(Now) + ' ' + IntToStr(Screen.CustomFormCount);
  vaIn := FileName;
  //vaOut := FileName;
  SaveDialogShowing := True;
  WebBrowser1.ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_DONTPROMPTUSER, vaIn, vaOut);
  //WebBrowser1.ExecWB(OLECMDID_SAVEAS,OLECMDEXECOPT_DONTPROMPTUSER, vaIn, vaOut);
  //WebBrowser1.ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT, vaIn, vaOut);
  SaveDialogShowing := False;
  { 3 } Caption := vaOut + ' ' + IntToStr(Screen.CustomFormCount);
end;

end.
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32275069
oleg_e
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо найти Handle окна "Сохранит как...", в нем найти Handle кнопки "OK", а ему уже посылать сообщение. (Впрочем, может быть получится и без поиска кнопки)
...
Рейтинг: 0 / 0
Source Code в TWebBrowser? (HTML-code)
    #32276913
zDIV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо!!!
Есть контакт... Вот такой затейливый вариант проскочил...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
procedure TInternetSiteServicerForm.Timer1Timer(Sender: TObject);
var
  SaveDialogHandle: THandle;
  S: String;
begin
  if not SaveDialogShowing then Exit;
  SaveDialogHandle := GetNextWindow(Handle, GW_HWNDPREV);
  while SaveDialogHandle <>  0  do
  begin
    S := GetWindowClassName(SaveDialogHandle);
    if S = '#32770' then
      if GetParent(SaveDialogHandle) = Handle then Break;
    SaveDialogHandle := GetNextWindow(SaveDialogHandle, GW_HWNDPREV);
  end;
  if SaveDialogHandle =  0  then Exit;
  PostMessage(SaveDialogHandle, WM_KEYDOWN, vk_Return,  0 );
  SaveDialogShowing := False;
end;
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Source Code в TWebBrowser? (HTML-code)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]