Форум: "Основная";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
ВнизTWebBrowser Найти похожие ветки
← →
буратино (2006-01-24 19:43) [0]Как можно загрузить HTML код в TWebBrower, если я его формирую программно и не могу сохранить на носитель? т.е. как мне напрямую осущетсвить передачу кода (string) в браузер? подскажите.
локально открыть тяму хватает, но сохранять код в файл нельзя (
з.ы. простите если повторяюсь с вопросом.
← →
Gero © (2006-01-24 22:04) [1]procedure LoadWBFromStrings(WebBrowser: TWebBrowser; const AStrings: TStrings);
var
Stream: TMemoryStream;
begin
if not Assigned(WebBrowser.Document) then
WebBrowser.Navigate("about:blank");
Stream := TMemoryStream.Create;
try
AStrings.SaveToStream(Stream);
Stream.Position := 0;
(WebBrowser.Document as IPersistStreamInit).Load(TStreamAdapter.Create(Stream));
finally
Stream.Free;
end;
end;
← →
Rouse_ © (2006-01-24 22:41) [2]Вот, писал комуто демку. Режет картинки при загрузке...
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, SHDocVw, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient, IdHTTP, mshtml, ActiveX;
type
TForm1 = class(TForm)
IdHTTP1: TIdHTTP;
WebBrowser1: TWebBrowser;
WebBrowser2: TWebBrowser;
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
const
StartImg = "<img src="";
EndImg = ">";
LengthStart = Length(StartImg);
LengthEnd = Length(EndImg);
LengthSum = LengthStart + LengthEnd;
var
InHTML, OutHTML, ImageLink: String;
Position: Cardinal;
Document: IHtmlDocument2;
V: Variant;
begin
// Загружаем оригинальную страницу (для сравнения)
WebBrowser1.Navigate("http://www.yandex.ru");
// Получаем код этой страницы руками
InHTML := IdHTTP1.Get("http://www.yandex.ru");
// Начинаем парсить
while Length(InHTML) > 0 do
begin
// Ищем начало рисунка
Position := Pos(StartImg, InHTML);
// Если нашли
if Position > 0 then
begin
// Все что до него - помещаем в выходной буффер
OutHTML := OutHTML + Copy(InHTML, 1, Position - 1);
// Удаляем ненужное из входного буффера
Delete(InHTML, 1, Position - 1);
// Ищем конец картинки
Position := Pos(EndImg, InHTML);
// Запоминаем картинку
ImageLink := Copy(InHTML, LengthStart, Position - LengthSum);
// Если эта картинка грузится не с узла img.yandex.ru - добавялем ее в выходной буффер
if Pos("img.yandex.ru", ImageLink) = 0 then
OutHTML := OutHTML + Copy(InHTML, 1, Position + LengthEnd - 1);
// Удаляем из входного
Delete(InHTML, 1, Position + LengthEnd - 1);
end
else
begin
// Больше картинок нет - все что осталось перекидываем в выходной буффер
OutHTML := OutHTML + InHTML;
InHTML := "";
end;
end;
// Закидываем пропарсенный текст в бразер
WebBrowser2.Navigate("about:blank");
while WebBrowser2.Document = nil do
Application.ProcessMessages;
Document := WebBrowser2.Document as IHtmlDocument2;
V := VarArrayCreate([0, 0], varVariant);
V[0] := OutHTML;
Document.Writeln(PSafeArray(TVarData(v).VArray));
end;
end.
← →
буратино (2006-01-26 06:33) [3]мужики, спасибо огромное обоим! выручили!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.033 c