Модераторы: THandle, bems
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нужен совет, Нужен совет в написании программы. 
:(
    Опции темы
Anakin
  Дата 20.10.2011, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Добрый Вечер.
Пишу одну программу которая авторизируетса на Торрент сайте.
Берёт информацию о пользователе (Рацио,Скачано,Отдано,Ник и тд.)

Просматривает новые поступление на Торрент сайте и если есть новые поступления сообщает об этом пользователя.

Так вот с первым этапом самым простым (авторизация,и запрос информации о пользователе) я уже справилса.
Дальше я делаю TidHTTP.Get() записываю данные страници с новыми поступлениями на сайте в String и вот тут первый вопрос как лутше записать страницу в String или WideString или ваше мнение.

Идём дальше, как делать поиск в полученной странице которая хранитса в String или WideString и знаю что можно с помощью pos это я делаю, но у меня пока получаетса только до первого результата.
А вот как пробежатса по всей странице не понимаю.
вот как я ищу данные в скачаной странице.
Код

procedure TfrmMain.ToolButton7Click(Sender: TObject);
var
St:String;
begin
try
St:=frmMain.HTTP.Get('http://www.tutsait.eu/browse.php');
Delete(St,1,pos('<a href="details.php?id=',St)+length('<a href="details.php?id=')-1+9);
Delete(St,pos('</a>',St),length(St));
//ShowMessage(St);
frmtmp.advMemo1.Lines.Text:=(Utf8toAnsi(St));
frmtmp.ShowModal;
except
on e:Exception do
end;
end;

но данный код получает только первый результат. а вот как сделать цикл что бы он получил все результаты и записал их скажем в таблицу DBGrid

Кто может подсказать как это реальзовать.

Я проста всегда работал с Базами а с парсингом первый раз сталкиваюсь.
Посоветуйте как решить данную проблему.
Надеюсь я правельной ветке создал тему.
Заранее спасибо.
PM MAIL   Вверх
Akella
Дата 20.10.2011, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Цитата(Anakin @  20.10.2011,  23:01 Найти цитируемый пост)
Рацио

Может "Рейтинг"?  smile

Добавлено через 1 минуту и 45 секунд
Цитата(Anakin @  20.10.2011,  23:01 Найти цитируемый пост)
Дальше я делаю TidHTTP.Get() записываю данные страници с новыми поступлениями на сайте в String и вот тут первый вопрос как лутше записать страницу в String или WideString или ваше мнение.


А мы тут при чем? Странный к нам вопрос. Как тебе нужно, так и записывай.

Добавлено через 2 минуты и 26 секунд
Цитата(Anakin @  20.10.2011,  23:01 Найти цитируемый пост)
Идём дальше, как делать поиск в полученной странице которая хранитса в String

Luke, use POS()

Добавлено через 3 минуты и 27 секунд
Цитата(Anakin @  20.10.2011,  23:01 Найти цитируемый пост)
знаю что можно с помощью pos это я делаю, но у меня пока получаетса только до первого результата.

Тогда копай в сторону регулярных выражений.
PM MAIL   Вверх
Mach3
Дата 1.11.2011, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



 
Код

 const
  sStart = '<tr>';
  sEnd = '</tr>';
...
EndPos:=Length(fpost);
while Pos < EndPos do
  begin
    // находим начало строки
    Pos := PosEx(sStart, fpost, Pos);
    if Pos < 1 then
      break;
    // находим окончание
    Pos2 := PosEx(sEnd, fpost, Pos);
    if Pos2 < 1 then
      break;
    // добавляем найденное
    fmess:=Copy(fpost, Pos, Pos2 - Pos);
    // готовимся к следующему витку цикла
    Pos := Pos2 + Length(sEnd);
end;


как вариант...

данный цикл переберет весь контент, содержащийся между тэгами <tr> и</tr>

Это сообщение отредактировал(а) Mach3 - 1.11.2011, 17:26
--------------------
Век живи - век учись...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle

Добро пожаловать в форум группы "Delphi".

В разделе разрешается:

  • Флудить (в приемлемых величинах)
  • Обсуждать модерирование данного раздела (но не его модератора)
  • Добавлять свои правила если они не противоречат существующим
  • Делать наезды на пешеходов***

Строго запрещено:

  • Размещать рекламу
  • Совершать оскорбления личностей
  • Материться
  • *** Пешеходами не являются (ко)модераторы, админы, участники клуба.

Если Вам понравилась атмосфера форума, заходите к нам чаще! Люблю, целую, вечно Ваш, THandle.

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


 




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


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

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