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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2010, 13:31   #31
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

блин я же написал уже в чем проблема, и дал её решение.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.10.2010, 13:36   #32
HmTH
Пользователь
 
Регистрация: 19.10.2010
Сообщений: 47
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
блин я же написал уже в чем проблема, и дал её решение.
[DCC Error] ThreadUnit.pas(83): E2029 'END' expected but 'EXCEPT' found
[DCC Error] ThreadUnit.pas(85): E2125 EXCEPT or FINALLY expected
[DCC Error] ThreadUnit.pas(91): E2125 EXCEPT or FINALLY expected
[DCC Error] ThreadUnit.pas(93): E2029 'END' expected but 'FINALLY' found
[DCC Error] ThreadUnit.pas(97): E2029 '.' expected but ';' found
[DCC Warning] ThreadUnit.pas(98): W1011 Text after final 'END.' - ignored by compiler
[DCC Fatal Error] SborkaUrl.dpr(6): F2063 Could not compile used unit 'ThreadUnit.pas'
HmTH вне форума Ответить с цитированием
Старый 20.10.2010, 13:38   #33
HmTH
Пользователь
 
Регистрация: 19.10.2010
Сообщений: 47
По умолчанию

Визуально это выглядит так
http://i047.radikal.ru/1010/fd/c48286794758.jpg
HmTH вне форума Ответить с цитированием
Старый 20.10.2010, 13:39   #34
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

блин запутался со счетом begin end;
Код:
try
  // Заходим на сайт, ищем form_build_id
  Tmp.Text := HTTP.Get('http://jd.mail.ru/');
  for I:=0 to Tmp.Count-1 do
    begin
      if Pos('name="form_build_id', Tmp[i])<>0 then
        begin
          BuildID := Copy(Tmp[i], Pos('id="', Tmp[i])+4, Length(Tmp[i]));
          BuildID := Copy(BuildID, 0, Pos('"',BuildID)-1);
          MainForm.StatusBar.Panels[0].Text := 'Form Build Id найден';
        end;
    end;
  // Заходим на сайт, ищем form_build_id
  // Код захода на сайт
  Data.Add('name='+Mail);
  Data.Add('pass='+Pass);
  Data.Add('op=');
  Data.Add('form_build_id='+BuildID);
  Data.Add('form_id=user_login_block');
  HTTP.Post('http://jd.mail.ru/node?destination=user', Data);
  // Код захода на сайт
  // Теперь собираем ссылки
  i := 0; // на всякий случай =)
  Tmp.Clear; // так же очищаем
  for num:=350 to 350000 do
    begin
     try
      TMP.Text := HTTP.Get('http://jd.mail.ru/user/'+ IntToStr(num));
      for I:=0 to Tmp.Count-1 do
        begin
          if Pos('my.mail.ru', Tmp[i])<>0 then
            begin
              Url := Copy(Tmp[i], Pos('href='#39, Tmp[i])+6, Length(Tmp[i]));
              Url := Copy(Url, 0, Pos(#39'>', Url)-2);
              MainForm.ListBoxUrl.Items.Append(Url);
            end
            else
            begin
              MainForm.StatusBar.Panels[0].Text := 'Ссылку не нашёл, продолжаю дальше';
              continue; // продолжение
            end;
          if (HTTP.ResponseCode = 404) or (HTTP.ResponseCode = 403) then
            begin
              continue;  // продолжение
            end;
        end;
     except
       continue;
     end;
    end;
  // Теперь собираем ссылки
  finally
    Tmp.Free; // освобождаем
    Data.Free;
  end;
вообще такие вещи надо самостоятельно уметь исправлять))
и кстати, учите все таки работу с исключениями.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.10.2010, 13:44   #35
HmTH
Пользователь
 
Регистрация: 19.10.2010
Сообщений: 47
По умолчанию

Ребят, спасибо огромное за помощь, заработало. Ура )
Премного благодарен )
Кому мог, репу накинул )
HmTH вне форума Ответить с цитированием
Старый 20.10.2010, 13:56   #36
grafgrial
Просто хороший
Форумчанин
 
Аватар для grafgrial
 
Регистрация: 26.03.2010
Сообщений: 562
По умолчанию

а для удобства я бы тебе посоветовал вывести вот так
Код:
for num:=Strtoint(edit1.text) to Strtoint(edit2.text) do
за место
Код:
 for num:=350 to 350000 do
Помог, нажми весы слева
grafgrial вне форума Ответить с цитированием
Старый 20.10.2010, 14:24   #37
HmTH
Пользователь
 
Регистрация: 19.10.2010
Сообщений: 47
По умолчанию

Цитата:
Сообщение от grafgrial Посмотреть сообщение
а для удобства я бы тебе посоветовал вывести вот так
Код:
for num:=Strtoint(edit1.text) to Strtoint(edit2.text) do
за место
Код:
 for num:=350 to 350000 do
Ок, спасибо, учту )
HmTH вне форума Ответить с цитированием
Старый 20.10.2010, 16:17   #38
HmTH
Пользователь
 
Регистрация: 19.10.2010
Сообщений: 47
По умолчанию

Ребят, ещё один вопрос остался.
Как программно сделать что бы из вида
Код:
http://my.mail.ru/mail/semirag
http://my.mail.ru/inbox/kavaru
Преобразовывалось в
Код:
semirag@mail.ru
kavaru@inbox.ru
То есть у нас есть ссылка -
Код:
http://my.mail.ru/mail/semirag
/mail/ - означает домен
/semirag - означает логин

Я так понимаю что тут по аналогии парсера ? Но вот не понимаю, как сделать что бы он всё расставлял по своим местам, и добовлял "@" , и к домену ещё дописывал ".ru" . Есть у кого-то такие примеры ?
HmTH вне форума Ответить с цитированием
Старый 20.10.2010, 17:44   #39
HmTH
Пользователь
 
Регистрация: 19.10.2010
Сообщений: 47
По умолчанию

Ну что, кто нибудь знает ?) Намекните хотя бы, куда копать )
HmTH вне форума Ответить с цитированием
Старый 20.10.2010, 18:11   #40
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Copy/Pos/Delete
или же(что лучше, но в данном случае не оч важно) Copy/PosEx
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите пожалуйста как сделать такую проверку орфографии Irinka87 Microsoft Office Word 1 10.12.2009 09:19
Как сделать грамотно проверку на столкновение с объектом Ckomoroh Общие вопросы Delphi 3 26.10.2009 02:38
как можно сделать проверку? KARUSHEV Помощь студентам 10 13.10.2009 15:15
Как сделать проверку строк в memo Neset Общие вопросы Delphi 2 26.02.2009 12:25
Помогите проверку ввода сделать Panda Помощь студентам 3 01.07.2008 20:50