[ Delphi / Pascal ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by banned, 6 May 2007.

Thread Status:
Not open for further replies.
  1. 1n0y

    1n0y Active Member

    Joined:
    9 May 2009
    Messages:
    276
    Likes Received:
    282
    Reputations:
    2
    дыну?

    in,out:string;
    begin
    in:=idhttp.get('страница с капчей');
    out:=copy(in, pos('LanapCaptcha.aspx?', in)+18, length(in));
    delete(out, pos('''', out), length(out));
     
  2. Isaev

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

    Joined:
    25 Jul 2007
    Messages:
    120
    Likes Received:
    19
    Reputations:
    6
    это с помощью pos и copy но никак не с помошью idhttp!
     
    1 person likes this.
  3. 1n0y

    1n0y Active Member

    Joined:
    9 May 2009
    Messages:
    276
    Likes Received:
    282
    Reputations:
    2
    я так и знал, что ты именно так и ответишь :)
    не серьёзно-же!
     
  4. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Так он абсолютно прав.
    Скачать страницу можно хоть с помошью сокетов или TWebBrowser, это неважно.
    А пропарсить - совсем другая задача, к работе с сетью не имеющая отношение.

    Исаева плюсую за присутствие логики.

    logger отправка смс с сайта МТС? ;)

    // ага вижу вопрос выше пропустил
     
    #7324 GhostOnline, 2 Dec 2010
    Last edited: 2 Dec 2010
  5. logger

    logger New Member

    Joined:
    15 Jan 2010
    Messages:
    32
    Likes Received:
    3
    Reputations:
    0
    спасибо метод хорош, но delphi ругается на эту строку:

    t := copy(i, pos('LanapCaptcha.aspx?', i)+18, length(i));

    но при этом ссылку выдает, как избавится от ошибки?

    делаю вот так:

    var
    i , t : string;
    begin
    i := idhttp1.get('http://www.mts.ru/messaging/sendsms/');
    t := copy(i, pos('LanapCaptcha.aspx?get=image&c', i)+18, length(i));
    delete(t, pos('CAPTCHA code image', t)-7, length(t));
    Edit1.Text := t;
    end;

    [​IMG]
     
    #7325 logger, 2 Dec 2010
    Last edited: 2 Dec 2010
  6. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Какова причина ругательства мы видимо должны устроить спиритический сеанс, или взломать твой комп чтобы слить скриншоты с сообщениями компилятора.

    upd:
    ааа, так это оказывается вообще ругается не дельфи, а исключение времени выполнения безмолвное. ок.
     
  7. logger

    logger New Member

    Joined:
    15 Jan 2010
    Messages:
    32
    Likes Received:
    3
    Reputations:
    0

    Добавил скрин. :rolleyes:
     
  8. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Ругается видимо не на эту строку.
    Ставь бряк на самое начало и по шагам прогоняй (F8) чтобы узнать где именно эксепшн
     
  9. logger

    logger New Member

    Joined:
    15 Jan 2010
    Messages:
    32
    Likes Received:
    3
    Reputations:
    0
    все равно ошибка бред какой-то другой сайт без ошибки парсится
     
  10. [stranger]

    [stranger] Member

    Joined:
    2 Feb 2010
    Messages:
    167
    Likes Received:
    29
    Reputations:
    4
    Code:
    program Project1;
    
    {$APPTYPE CONSOLE}
    
    var n, i, c: integer;
      res, s1, s: real;
    begin
      c := 1;
      n := 3;
      s1 := 0;
      readln(res);
      if res >= 3 then s := 1 else s := 0;
      while n <= res do
        begin
          for i := 1 to c do
            begin
              s1 := s1 + 1/n;
              n := n + 2;
            end;
          s := s * s1;
          //writeln(s1:4:8);
          c := c + 1;
          s1 := 0;
        end;
      writeln(s:4:8);
      readln;
    end.
    
    что-то типа такого..
    вводится максимальное значение, в данном случае 43

    коряво конечно, но на более красивое решение в данный момент не способен.. *SLEEP*
     
    1 person likes this.
  11. Isaev

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

    Joined:
    25 Jul 2007
    Messages:
    120
    Likes Received:
    19
    Reputations:
    6
    Врядли ты ошибка возникла на этой строке.

    1n0y
    Если уж и используете Pos для парсинга страниц, то только для первого вхождения, дальше логичнее использовать posex чтобы не искать с самого начала документа каждый раз...
     
  12. supertirk

    supertirk New Member

    Joined:
    20 Nov 2010
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Вопрос по TwebBrowser и TidHTTPserver в связке.

    Собственно 2 вопроса по работе компонентов TwebBrowser и TidHTTPserver в связке:
    Сделаны 2 программы TwebBrowser (программа клиент) и TidHTTPserver (программа сервер)
    1. Как из программы TwebBrowser передать на TidHTTPserver произвольный файл.
    2. Существует ли возможность обратной передачи файла, но только, что бы со стороны клиента не выдавался запрос на сохранение файла, а программа сохраняла файл в нужное место автоматически.
    ---
    Заранее благодарен за ответы.
    Компонент TidHTTP использовать вместо TwebBrowser Нельзя, так как он будет работать в локальной сети за роутером, а что там внутри бог его знает...
    но точно неизвестны настройки интернета со стороны клиента (прокся с NTLM, просто прокся, NAT...), а IE автоматом уже настроен и выход в инет присутствует.
     
  13. 1n0y

    1n0y Active Member

    Joined:
    9 May 2009
    Messages:
    276
    Likes Received:
    282
    Reputations:
    2
    обычно я стараюсь искать что-то уникальное в тексте - а для этого вполне хватает и pos :)
    но за замечание спасибо - учту.
     
  14. GlooK

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

    Joined:
    20 Apr 2007
    Messages:
    172
    Likes Received:
    53
    Reputations:
    10
    Можно использовать WinInet. По моему опыту, она даже куки берет из IE, не то что настройки...
     
  15. CheatXX

    CheatXX New Member

    Joined:
    8 Jun 2009
    Messages:
    154
    Likes Received:
    2
    Reputations:
    0
    как программно нажать на кнопку? т.е например нажать на пробел?
     
  16. unnnder

    unnnder New Member

    Joined:
    1 Dec 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    работа с мышью и экраном

    Доброго времени суточек всем. подскажите плиз, как можно заставить прогу в делфи скажим при нажатии кнопочки бутон1 программа перемещала курсор в определенную точку монитора (например вверхний левый угол), совершала нажатие левой кнопкой мыши, и возвращала курсор в исходное положение?
     
    #7336 unnnder, 6 Dec 2010
    Last edited: 6 Dec 2010
  17. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    копай в сторону API. вот, нарыл:
    http://forum.hackersoft.ru/showthread.php?t=1829
     
  18. unnnder

    unnnder New Member

    Joined:
    1 Dec 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    дак мне надо чтоб еще кликала что бы еще выполнялось действие нажатия левой кнопки мыши...
     
  19. Voland-791

    Voland-791 Member

    Joined:
    1 May 2009
    Messages:
    163
    Likes Received:
    13
    Reputations:
    5
    Карочь срочно нужно решить с этим:

    ни компилится, (на паскале).
     
  20. $Robin

    $Robin Member

    Joined:
    25 Jun 2010
    Messages:
    47
    Likes Received:
    5
    Reputations:
    0
    Хмм.. Это из какого-то pdf?
    А вообще-то да, смешная шутка.
     
Thread Status:
Not open for further replies.