чек строки

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by DooD, 8 Jul 2011.

  1. DooD

    DooD Elder - Старейшина

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    450
    Reputations:
    288
    Приветствую всех.
    Такая штука, мне надо по заданному интервалу времени чекать строку в html файле .Делаю по таймеру
    if pos('строка',s) <>0 then showmessage('1')
    else showmessage('2')
    таймер включается по нажатию кнопки,но pos по таймеру не пашет,а только showmessage выдается,когда изменяешь строку в хтмл файле,и снова жмешь на кнопку,тогда выдает 1,а если снова поменять то ...ну вы поняли,чекает только по нажатию кнопки а не в таймере.Может по таймеру можно как то кнопку жать...
     
  2. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Мм, что? :)
    Если это написано в обработчике таймера то это будет работать. А вообще ставим бряк прямо на первой строке в обработчике и смотрим что к чему.
     
  3. DooD

    DooD Elder - Старейшина

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    450
    Reputations:
    288
    GhostOnline :) постановка задачи:
    чекать строку на изменение (например на сайте каком-нить) раз в 10 сек.например.
     
  4. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    в событии OnTimer таймера
    делай гет страницы и смотри поменялось или нет)))
     
  5. DooD

    DooD Elder - Старейшина

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    450
    Reputations:
    288
    я должен быть авторизован, делаю гет,возвращает не то значение.не пойму.
     
  6. sn0w

    sn0w Статус пользователя:

    Joined:
    26 Jul 2005
    Messages:
    1,023
    Likes Received:
    1,284
    Reputations:
    327
  7. rudi

    rudi Active Member

    Joined:
    3 Jun 2010
    Messages:
    492
    Likes Received:
    186
    Reputations:
    5
    1.Авторизуешься
    2.в событии OnTimer таймера
    делай гет страницы и смотри поменялось или нет)))
     
  8. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Глянуть на код нужно...
     
  9. DooD

    DooD Elder - Старейшина

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    450
    Reputations:
    288
    rudi делал же так,не правильно.
    что там глядеть
    page:=idhttp1.get('http://site.com');
    if pos('123',page)<>0 then showmessage('ok') else
    showmessage('not ok');
     
  10. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    А где, бл**ь, авторизация?
     
  11. DooD

    DooD Elder - Старейшина

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    450
    Reputations:
    288
    авторизация точно правильно,ибо я парсю одну единственную строку в коде.
    но если так надо:
    Code:
     
    procedure TForm1.Button1Click(Sender: TObject);
    var s:string;
    t:tstringlist;
    begin
    Cookie := TidCookieManager.Create(nil);
    form1.idhttp1.HandleRedirects := True;
    form1.idhttp1.CookieManager := cookie;
    form1.idhttp1.AllowCookies := True;
    form1.idhttp1.Request.Referer:='http://site.com/index.php'
    t:=tstringlist.Create;
    t.Add('login_username=login');
    t.Add('login_password=pass');
    s:=idhttp1.Post('http://site.com/login.php',t);
    if pos('Выход',s) <> 0 then
        ShowMessage('ok')
        else
        ShowMessage('isnt');
    end;
    
    
     
    #11 DooD, 9 Jul 2011
    Last edited: 9 Jul 2011
  12. warkk

    warkk Member

    Joined:
    20 Feb 2009
    Messages:
    139
    Likes Received:
    23
    Reputations:
    0
    Или прикрути куки к idhttp1, или каждый раз делай авторизацию в таймере, и проверяй налиие строки.
     
  13. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    idhttp1.cookiemanager:=cookie;
    не надо, точно?