Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.06;
Скачать: CL | DM;

Вниз

Текст или HTML-код из IE   Найти похожие ветки 

 
Programist21   (2002-12-22 13:30) [0]

Народ, как из Internet Explorer"a достать текст или (что ещё лучше) HTML-код в свою программу (в Memo, например)?
Очень надо. Заранее спамибо!


 
int64   (2002-12-22 20:41) [1]

uses ... SHDocVw, MSHTML, ActiveX;

...

function SaveDocToStrings(Doc: IDispatch; var AStrings: TStrings): HResult;
var
IpStream: IPersistStreamInit;
AStream: TMemoryStream;
begin
AStream := TMemoryStream.Create;
try
IpStream := doc as IPersistStreamInit;
if not Assigned(IpStream) then Result := S_FALSE else
if Succeeded(IpStream.save(TStreamadapter.Create(AStream), TRUE))
then begin
AStream.Seek(0, 0);
AStrings.LoadFromStream(AStream);
Result := S_OK;
end else Result := S_FALSE;
except
Result := S_FALSE;
end;
AStream.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
i : Integer;
sw: Ishellwindows;
wb: IWebbrowser2;
Strings: TStrings;
begin
Strings:=Memo1.Lines;
sw:= CoShellWindows.Create;
for i := 0 to SW.Count - 1 do
begin
wb:= Sw.Item(i) as IWebbrowser2;
{
В этом месте определяем конкретный IE из списка запущенных.
Можно по url или по title.
А можно и просто оставить по щёту.
}
if HTMLDocument(wb.Document).url=
" http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1040553009&n=0"
then
{if HTMLDocument(wb.Document).title=
"Мастера DELPHI | Текст или HTML-код из IE"
then}
SaveDocToStrings(wb.Document, Strings);
end;
end;


 
Programist21   (2002-12-23 11:02) [2]

to int64 Просто ОГРОМНЕЙШЕЕ СПАСИБО!!! Всё круто работает!

Но есть и кое что не так :(

1) Код надо выцеплять не по title, не по url и не по count, а по активному окну - то есть выцепляем то, которое последнее было активным! Как это осуществить?

2) И ещё один вопрос: Как можно отловить, что пользователь сменил (сделал активным) другое окно IE???


 
Opuhshii   (2002-12-23 11:27) [3]

С помощью IShellWindows - получите все IWebBrowser"ы,.. а уж какой был активный,.. мда,.. FindWindow.... у Window можно и текст узнать,.. а он обычно title и есть... а уж которое последнее было активным,. это брузеру не к чему,.. имхо оно вам надо,.. дык вот именно вы и делайте.. ))

"Как можно отловить, что пользователь сменил (сделал активным) другое окно IE???" точно также как если это было любое другое окно,.. необязательно IE.... ))


 
Programist21   (2002-12-23 13:45) [4]

А тогда как отловить какое окно было последним активным? :)



Страницы: 1 вся ветка

Текущий архив: 2003.01.06;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.008 c
8-15181
lak_b
2002-09-07 15:34
2003.01.06
таймер с милисекуддами


1-15149
BlackTiger
2002-12-23 16:41
2003.01.06
Есть ли линки на библиотеки картинок (glyphs) КРАСИВЫЕ?


4-15369
sen
2002-11-19 14:15
2003.01.06
Открытие внешних файлов Word


14-15251
id_privin
2002-12-15 13:20
2003.01.06
ГОСТ 19.301-79 “Программа и методика испытаний”


7-15317
LZ
2002-09-29 23:58
2003.01.06
Набор номера по модему..





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский