Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2013, 20:53   #1
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию Делфи. Что можно прочесть для решения следующей проблемы...

Вечер добрый.
И опять я с вами.
Подскажите литературу по Делфи, что нужно знать для решения следующей проблемы.
Имеется страница, к примеру, http://......./frames/...../658
Там есть разделы:
Язык Русский
Год рождения 1812
e-Mail
Пол Мужчина
Зарегистрирован 18.02.1905 12:24
Последний вход 31.06.1945 14:38

Как эти данные можно вычленить, для сбора статистики?
Посмотрел исходный код страницы, там бред:
align="right"><a href="mailto:success@i.ua">success@ i.ua</a></td></tr><tr><td>Пол</td><td align="right">Мужчина</td></tr><tr><td>Зарегистрирован</td><td align="right"> <sma
Можно ли с этим работать?
Artsiom вне форума Ответить с цитированием
Старый 12.01.2013, 21:02   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Можно ли с этим работать?
разумеется, можно.
И это называется парсинг. Разбираете строку на нужные Вам подстроки.

Разбирать можно как простым поиском нужных патернов (шаблонов/ключевых слов) с помощью Pos() или PosEx()
либо с использованием регулярных выражений.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.01.2013, 23:55   #3
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию

Спасибо, но теперь вопрос в следующем.
Не хочет выдавать следующую инфу:

Последний вход</td><td align="right"> <small>31.06.1945 14:38</small>

Делал так,
Код:
Memo1.Lines.Add(Pars('Последний вход</td><td align="right"> <small>', Source.Text, '</small>'));
Сама функция не моя Легче стырить, чем написать...
Код:
function Pars(T_, ForS, _T: string): string;
var
  a, b: integer;
begin
  Result := '';
  if (T_ = '') or (ForS = '') or (_T = '') then
    Exit;
  a := Pos(T_, ForS);
  if a = 0 then
    Exit
  else
    a := a + Length(T_);
  ForS := Copy(ForS, a, Length(ForS) - a + 1);
  b := Pos(_T, ForS);
  if b > 0 then
    Result := Copy(ForS, 1, b - 1);
end;
В мемо не выводит ничего, только когда написал так
Код:
Memo1.Lines.Add(Pars('Последний вход</td><td align="right">', Source.Text, '</small>'));
получилось вывести <small>31.06.1945 14:38
но это бред какой то.
В чем причина?
Artsiom вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Серверная часть многопользовательского приложения(Что прочесть?) aGarik C# (си шарп) 0 11.09.2012 19:01
можно ли создавать онлайн игры в delfi и, что для этого надо? :=) Общие вопросы Delphi 26 02.01.2012 05:38
Для решения проблемы конверсии типов из разных сред нужно крохотнуюю DLL Psionic Помощь студентам 12 10.02.2010 21:22