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

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
18.08.2003, 10:32
    #32238637
Антон Ковалев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Source Code в TWebBrowser? (HTML-code)
IPersistFile, IHTMLDocument2 - а это как прописать?

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

п.с. это в палитре должнобыт?
(или лыжы не едут?)
...
Рейтинг: 0 / 0
18.08.2003, 10:45
    #32238663
srf2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Source Code в TWebBrowser? (HTML-code)
uses activex, mshtml;
...
Рейтинг: 0 / 0
18.08.2003, 11:50
    #32238776
Антон Ковалев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Source Code в TWebBrowser? (HTML-code)
2 srf2000
Большое спасибо!
...
Рейтинг: 0 / 0
18.08.2003, 14:28
    #32239048
zDIV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Source Code в TWebBrowser? (HTML-code)
Подскажите, пожалуйста, глуповатому (уже несколько раз типа объясняли), а как сохранить www-страницу целиком с кучей дополнительных файлов в каталоге с таким же именем, что и сам html-файл (как при выполнении из браузера команды "Сохранить как...", поскольку негодный "Persist.Save('C:\temp.htm',b);" сохраняет только один головной файл.
...
Рейтинг: 0 / 0
18.08.2003, 16:35
    #32239271
Антон Ковалев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Source Code в TWebBrowser? (HTML-code)
2 zDiv
Можно вручную: выбирать из html-тегов имя картинки и скачивать...
...
Рейтинг: 0 / 0
18.08.2003, 18:22
    #32239500
oleg_e
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Source Code в TWebBrowser? (HTML-code)
У IHTMLDocument2 должно быть свойство Images, попробуй использовать его.
Думаю и до других оъектов можно добраться аналогичным способом.
...
Рейтинг: 0 / 0
21.08.2003, 15:10
    #32243393
zDIV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Source Code в TWebBrowser? (HTML-code)
Ну хорошо, не доходит... Что-то маловато свойств у 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
21.08.2003, 16:34
    #32243613
zDIV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Source Code в TWebBrowser? (HTML-code)
Еще один намек. Помогите, пожалуйста, недоумку закрыть это любопытство.
...
Рейтинг: 0 / 0
21.08.2003, 16:36
    #32243620
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Source Code в TWebBrowser? (HTML-code)
Вы про что ??
...
Рейтинг: 0 / 0
21.08.2003, 16:43
    #32243644
zDIV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Source Code в TWebBrowser? (HTML-code)
Полностью сохранить страницу, как при команде из браузера "Кохранить как...", но без диалога, программно.
Посоветовали IHTMLDocument2.images...???
...
Рейтинг: 0 / 0
25.08.2003, 11:27
    #32245918
zDIV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Source Code в TWebBrowser? (HTML-code)
Почему все подсказки на всех форумах кончаютя на этом месте?
...
Рейтинг: 0 / 0
25.08.2003, 12:46
    #32246074
srf2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Source Code в TWebBrowser? (HTML-code)
дам еще подсказку :)

WebBrowser1.ExecWB(OLECMDID_SAVEAS,OLECMDEXECOPT_PROMPTUSER);
...
Рейтинг: 0 / 0
14.09.2003, 09:35
    #32264440
zDIV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Source Code в TWebBrowser? (HTML-code)
Не годится и такое:
Код: 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
24.09.2003, 13:05
    #32273997
zDIV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Source Code в TWebBrowser? (HTML-code)
Низкий поклон за внимание!
...
Рейтинг: 0 / 0
24.09.2003, 14:11
    #32274135
srf2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Source Code в TWebBrowser? (HTML-code)
посмотри тут
http://www.codeproject.com/shell/IESaveAs.asp
...
Рейтинг: 0 / 0
24.09.2003, 15:33
    #32274339
zDIV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Source Code в TWebBrowser? (HTML-code)
Спасибо, мне для простоты осталось только научиться своему приложению Application передать событие (сымитировать) нажатие клавиши Enter!?? Help!!!
...
Рейтинг: 0 / 0
24.09.2003, 17:57
    #32274584
oleg_e
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Source Code в TWebBrowser? (HTML-code)
Код: plaintext
1.
2.
3.
PostMessage(Wnd, WM_KEYDOWN, vk_Return,  0 );
Application.ProcessMessages;
PostMessage(Wnd, WM_KEYUP, vk_Return,  0 );
Application.ProcessMessages;
...
Рейтинг: 0 / 0
25.09.2003, 09:20
    #32274920
zDIV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Source Code в TWebBrowser? (HTML-code)
Осталось совсем чуть-чуть...
Не удается послать событие нажатие клавиши 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
25.09.2003, 10:52
    #32275069
oleg_e
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Source Code в TWebBrowser? (HTML-code)
Надо найти Handle окна "Сохранит как...", в нем найти Handle кнопки "OK", а ему уже посылать сообщение. (Впрочем, может быть получится и без поиска кнопки)
...
Рейтинг: 0 / 0
26.09.2003, 15:24
    #32276913
zDIV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Source Code в TWebBrowser? (HTML-code)
Всем спасибо!!!
Есть контакт... Вот такой затейливый вариант проскочил...
Код: 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
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Source Code в TWebBrowser? (HTML-code) / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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