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

Вниз

Ihtmldocumen2   Найти похожие ветки 

 
Opryshok   (2004-01-20 11:35) [0]

Доброе утро. мастера!

Вчера я задавал вопрос о парсинге ХТМЛ и дофорвардился до IHTMLDocument2.

Нашел следующий код для получения контента тэга <TITLE> в хтмл-файле:

var
IDoc : IHTMLDocument2;
Strl : TStringList;
strHTML : String;
v : Variant;
vTitle : string;
HTMLFileName: String;
begin
HTMLFileName := "d:\1.html";
Strl := TStringList.Create;
try
Strl.LoadFromFile(HTMLFileName);
Idoc:=CreateComObject(Class_HTMLDOcument) as IHTMLDocument2;
try
IDoc.designMode:="on";
while IDoc.readyState<>"complete" do
Application.ProcessMessages;
v:=VarArrayCreate([0,0],VarVariant);
strHTML := StringReplace(Strl.Text, #13#10, "<br>",
[rfReplaceAll]);
v[0]:= strHTML;
IDoc.write(PSafeArray(System.TVarData(v).VArray));
IDoc.designMode:="off";
while IDoc.readyState<>"complete" do
{!!!!!!!! ЗДЕСЬ ОШИБКА}
Application.ProcessMessages;
vTitle := iDoc.Title;
Label1.Caption := vTitle;
finally
IDoc := nil;
end;
finally
Strl.Free;
end;
end;

Так вот, если в хтмл-файле есть ошибка, то получаю

---------------------------
Error
---------------------------
A Runtime Error has occurred.
Do you wish to Debug?

Line: 1
Error: Syntax error
---------------------------
Yes No
---------------------------
столько раз, сколько ошибок в хтмлине. После всего этого получаю свой долгожданный тайтл.

ВОПРОС:
Можно избежать показывания этих месседжей? try ... except не помогает.

Спасибо за сотрудничество.


 
nikkie   (2004-01-20 15:22) [1]

половина кода просто булшит какой-то.

procedure ParseHTML(HTML: WideString);
var
Doc: IHTMLDocument2;
v: Variant;
begin
Doc := CreateComObject(Class_HTMLDocument) as IHTMLDocument2;
v := VarArrayCreate([0, 0], VarVariant);
v[0] := HTML;
Doc.write(PSafeArray(System.TVarData(v).VArray));

ShowMessage(Doc.title);
end;

заодно и subject не вылезает.


 
Opryshok   (2004-01-20 16:16) [2]

2 nikkie
Баааальшое спасибо за эезапл.



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

Форум: "Основная";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
1-2226
лошок
2004-01-20 15:21
2004.02.02
Как ограничить размер текстового файла


1-2120
AGN
2004-01-14 17:58
2004.02.02
ShellExecute


3-1993
Sfera
2004-01-10 12:18
2004.02.02
Очистка столбца


14-2319
ghg
2003-12-22 15:41
2004.02.02
звук со звуковухи в файл mp3


14-2348
Дмитрий В. Белькевич
2004-01-09 02:39
2004.02.02
Смерть Запада





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский