Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
usesActiveX; 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
.