Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];

Вниз

Текст или 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.03 c
3-14911
UWater
2002-12-13 14:35
2003.01.06
Переход к заданному полю...


14-15265
Виктор000
2002-12-16 15:35
2003.01.06
работа с картами


1-15036
Filat
2002-12-19 22:01
2003.01.06
Edit1.Enabled=False; Edit1.Text= парампарам ; Как получить текст?


14-15255
Goodzilla
2002-12-15 22:53
2003.01.06
Opera 7


1-15107
Igorek
2002-12-18 14:07
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский