Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск по HTML-файлам 
:(
    Опции темы
AbekIn3D
  Дата 21.11.2009, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 31.10.2009

Репутация: нет
Всего: нет



На форме есть:
1. Edit1
2. Button1
3. MyWebBrowser
4. Form8.Listbox1

Код

procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
ts: String;
fs: TSearchRec;
begin
Application.CreateForm(Tform8, Form8);
Form8.Show;
Form8.ListBox1.Clear;

if FindFirst(getcurrentdir+'\data\lessons\*.htm',faAnyFile,fs) = 0 then
  begin
  repeat
  ts := fs.Name;
  Form8.MyWebBrowser.Navigate(getcurrentdir+'\data\lessons\'+ts);

while Form8.MyWebBrowser.ReadyState <> READYSTATE_COMPLETE do
  Application.ProcessMessages;

for i := 0 to Form8.MyWebBrowser.OleObject.Document.All.Length - 1 do
  begin
  if AnsiPos(AnsiLowerCase(Edit1.Text), AnsiLowerCase(Form8.MyWebBrowser.OleObject.Document.All.Item(i).InnerText)) <> 0 then
    begin
    Form8.ListBox1.Items.Add(ts);
    Break;
    end;
  end;
until FindNext(fs) <> 0;
FindClose(fs);
ShowMessage('Поиск по курсу завершен');
end;
end;


Все отлично работает, но в папке, где происходит поиск находятся 20 HTML-файлов, в которых присутствует Flash-анимация. Из-за этого поиск длится около минуты.

Вопрос:
Как сделать чтобы в  MyWebBrowser загружался только текст (без HTML-тегов)?

Если есть предложения получше - буду рад.
Подробное описание приветствуется
PM MAIL   Вверх
AbekIn3D
Дата 22.11.2009, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 31.10.2009

Репутация: нет
Всего: нет



up!
PM MAIL   Вверх
Данкинг
Дата 22.11.2009, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(AbekIn3D @  21.11.2009,  16:29 Найти цитируемый пост)
Как сделать чтобы в  MyWebBrowser загружался только текст (без HTML-тегов)?

А что конкретно искать-то надо в .htm? 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
AbekIn3D
Дата 22.11.2009, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 31.10.2009

Репутация: нет
Всего: нет



Данкинг, 
только текст
PM MAIL   Вверх
Данкинг
Дата 22.11.2009, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(AbekIn3D @  22.11.2009,  13:45 Найти цитируемый пост)
только текст 

Ну так зачем тогда файл грузить в браузер? smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
AbekIn3D
Дата 22.11.2009, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 31.10.2009

Репутация: нет
Всего: нет



Данкинг, 
так вот и вопрос в том же. как вместе webbrowser использовать например memo? подробное описание приветствуетсяsmile

PM MAIL   Вверх
Данкинг
Дата 22.11.2009, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



AbekIn3D, Memo1.Lines.LoadFromFile('file.htm').


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
AbekIn3D
Дата 22.11.2009, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 31.10.2009

Репутация: нет
Всего: нет



Данкинг, 
это ясно, а как с остальным?
PM MAIL   Вверх
Демо
Дата 22.11.2009, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 7
Всего: 50



Цитата(AbekIn3D @  22.11.2009,  15:14 Найти цитируемый пост)
это ясно, а как с остальным?


А с чем остальным?
Нужно рассказывать, как в тексте искать нужные совпадения? Pos,Copy,Delete?


--------------------
    
PM MAIL ICQ Skype   Вверх
Данкинг
Дата 22.11.2009, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(AbekIn3D @  22.11.2009,  15:14 Найти цитируемый пост)
это ясно, а как с остальным? 

Дальше проходишь в цикле по строчкам и каждую из них анализируешь с помощью функций, упомянутых Демо. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Hexel
Дата 22.11.2009, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 30.10.2007
Где: UA

Репутация: нет
Всего: нет



мой вариант: если текст на русском, то используй обычные Pos
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  ts, CurrLine: String;
  fs: TSearchRec;
  f: Text;

begin

if FindFirst(getcurrentdir+'\data\lessons\*.htm',faAnyFile,fs) = 0 then
begin
  repeat
    ts := fs.Name;
    AssignFile(f, getcurrentdir+'\data\lessons\' + ts);
    Reset(f);
    while not eof(f) do
    begin
      Readln(f, CurrLine);
      if Pos(Edit1.Text, CurrLine) <> 0 then
      // нашли текст
      begin
        Form8.ListBox1.Items.Add(ts);
        Break;
      end;
    end; // while
    CloseFile(f);
  until FindNext(fs) <> 0;
end; // if

end; // procedure

сильно не ругать, писал без компилятора
если нужно искать текст на английском, еще придется отсекать тэги

Это сообщение отредактировал(а) Hexel - 22.11.2009, 19:59
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0861 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.