Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.06.2010, 00:54
Hack_ERR++ Hack_ERR++ вне форума
Прохожий
 
Регистрация: 20.06.2010
Сообщения: 17
Репутация: 10
По умолчанию парсер

Нужно отпарсить текст следующего вида:

Код:
<div class="topictext">текст1</div><br />
<div class="topictext">текст2</div><br />
<div class="topictext">текст3</div><br />
И сохранить результат в файл. Делал так:

Код:
while c>0 do
  begin
  c:=pos('<div class="topictext">',j);
  b:=pos('</div><br />',j);
  cop:=copy(j,c+23,b-c-23);
  append(f1);
  writeln(f1,cop);
  closefile(f1);
  delete(j,c,23);
  delete(j,b,12);
  end;

Но почему то копирует пустые строки, хотя pos определяется верно. Подскажите, что не так?
Ответить с цитированием
  #2  
Старый 26.06.2010, 01:44
Negor Negor вне форума
Прохожий
 
Регистрация: 26.06.2010
Сообщения: 2
Репутация: 10
По умолчанию

Ну всё что в данном куске между begin и end у меня работает. Давай полный код - может проблема где то в другом? Не, сбрехал. Работет до append. Дальше не проверял. Кстати ты assignfile не забыл?

Последний раз редактировалось Negor, 26.06.2010 в 01:47.
Ответить с цитированием
  #3  
Старый 26.06.2010, 01:50
Hack_ERR++ Hack_ERR++ вне форума
Прохожий
 
Регистрация: 20.06.2010
Сообщения: 17
Репутация: 10
По умолчанию

Нет, не забыл - первую строчку копирует нормально. А остальное - пустые строки. Кстати, если попробовать записать результат в memo, а не в файл, то выходит то же самое((
Ответить с цитированием
  #4  
Старый 26.06.2010, 01:57
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,051
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

ять, скорее всего доло в том, что во 2м delete у тебя уже сбилась индексация. попробуй написать в один delete.

Код:
delete(j,c,b-c+12);
Ответить с цитированием
  #5  
Старый 26.06.2010, 02:03
Hack_ERR++ Hack_ERR++ вне форума
Прохожий
 
Регистрация: 20.06.2010
Сообщения: 17
Репутация: 10
По умолчанию

lmikle, спасибо, так и было)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:28.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter