Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Получение кода страницы...


KingDown ©   (2004-06-13 20:13:00) 

Как сделать так, что прога заходила на заранее указанную страничку и вытаскивала её код, а вставить в тот же РичЕдит и сам смогу.. Заранее спасибо..


Rouse_   (2004-06-14 12:37:00) [1]

> sl.SaveToFile('c:\frame' + IntToStr(i) + '.txt');
>        //  memo1.Lines.LoadFromStream(AStream);

Закоментируй первую строку и раскоментируй вторую...


KingDown   (2004-06-14 10:07:00) [2]

Хм.... Большой код, думал будет чуток легче.. Какие компоненты еще должны присутвовать на форме кроме кнопки?! И как сие чудо вставить в РичЕдит, Мемо или Лэйбел.. Если нетрудно, пожалуйста помогите...


Rouse_   (2004-06-13 21:32:00) [3]

uses
 ActiveX;

function TForm1.GetFrame(FrameNo: Integer): IWebbrowser2;
var
 OleContainer: IOleContainer;
 enum: IEnumUnknown;
 unk: IUnknown;
 Fetched: PLongint;
begin
 while Webbrowser1.ReadyState <> READYSTATE_COMPLETE do
   Application.ProcessMessages;
 if Assigned(Webbrowser1.document) then
 begin
   Fetched := nil;
   OleContainer := Webbrowser1.Document as IOleContainer;
   OleContainer.EnumObjects(OLECONTF_EMBEDDINGS, Enum);
   Enum.Skip(FrameNo);
   Enum.Next(1, Unk, Fetched);
   Result := Unk as IWebbrowser2;
 end
 else
   Result := nil;
end;

// Load sample page
// Testseite laden
procedure TForm1.Button1Click(Sender: TObject);
begin
 Webbrowser1.Navigate(' http://www.warebizprogramming.com/tutorials/html/framesEx1.htm');
end;

// Save all frames in single files
// Alle Frameseiten in einzelne Dateien speichern
procedure TForm1.Button2Click(Sender: TObject);
var
 IpStream: IPersistStreamInit;
 AStream: TMemoryStream;
 iw: IWebbrowser2;
 i: Integer;
 sl: TStringList;
begin
 for i := 0 to Webbrowser1.OleObject.Document.frames.Length - 1 do
 begin
   iw := GetFrame(i);
   AStream := TMemoryStream.Create;
   try
     IpStream := iw.document as IPersistStreamInit;
     if Succeeded(IpStream.save(TStreamadapter.Create(AStream), True)) then
     begin
       AStream.Seek(0, 0);
       sl := TStringList.Create;
       sl.LoadFromStream(AStream);
       sl.SaveToFile('c:\frame' + IntToStr(i) + '.txt');
       //  memo1.Lines.LoadFromStream(AStream);
       sl.Free;
     end;
   except
   end;
   AStream.Free;
 end;
end;

end.


KingDown   (2004-06-13 20:25:00) [4]

Удалено модератором


Наверх

Титульная страница Поиск, карта сайта Написать письмо