[ 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. SkyLine32

    SkyLine32 Member

    Joined:
    1 Mar 2009
    Messages:
    144
    Likes Received:
    22
    Reputations:
    2
    Очень прошу привести пример простого парсера html. К примеру выдернуть из <title></title> заголовок.
     
  2. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    forum.antichat.ru/threadnav119447-1-10.html

    пост #11
     
    2 people like this.
  3. SkyLine32

    SkyLine32 Member

    Joined:
    1 Mar 2009
    Messages:
    144
    Likes Received:
    22
    Reputations:
    2
    А нет что нибуть попроще? Чтобы не подключать RegExpr.pas а то у меня ошибку Error (reeNoInpitStringSpecified); выдаёт :mad:

    З,Ы... Не, всё норм, разобрался.
     
    #5643 SkyLine32, 31 Mar 2010
    Last edited: 31 Mar 2010
  4. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    Сделал отправку прием UDP но что не работает:
    Code:
    procedure TForm1.Button1Click(Sender: TObject);  //Отправляем текст (здесь все работает все отправляется)
    var
    ws:TWSAData;
    UDP_sock:TSocket;
    sockaddr_in:TSockAddrIn;
    s:string;
    
    begin
    WsaStartup($202,ws);
    s:=form1.Edit1.Text;
    UDP_sock:=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
    sockaddr_in.sin_family:=AF_INET;
    sockaddr_in.sin_port:=htons(8765);
    sockaddr_in.sin_addr.s_addr:=inet_addr('127.0.0.1');
     if Connect(UDP_sock, sockaddr_in, SizeOf(sockaddr_in))<>0 then
      begin
       closesocket(UDP_sock);
       exit;
      end;
    send(UDP_sock,s[1],length(Form1.Edit1.text),0);
    closesocket(UDP_sock);
    end;
    
    procedure TForm1.Button2Click(Sender: TObject);    //Открытие сокета на прием
    var
    ws:TWSAData;
    sockaddr_in:TSockAddrIn;
    s:string;
    begin
    WsaStartup($202,ws);
    s:=form1.Edit1.Text;
    UDP_sock2:=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
    sockaddr_in.sin_family:=AF_INET;
    sockaddr_in.sin_port:=htons(8765);
    sockaddr_in.sin_addr.s_addr:=INADDR_ANY;
                                                        //Сюда надо что то поставить чтобы сокет принимал данные, но что???
    form1.Timer1.Enabled:=true;
    end;
    
    procedure TForm1.Timer1Timer(Sender: TObject);     //Прием в memo1
    var
    tmp_buf:array[0..1024] of char;
    begin
      form1.Timer1.Enabled:=true;
      recv(UDP_sock2,tmp_buf,1024,0);
      form1.Memo1.Lines.Add(tmp_buf);
    end;
    end.
    В чем проблема?
     
  5. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    за отправку по udp отвечает функция sendto (прием - recvfrom)
     
  6. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    А можно описание всех 6 параметров?
     
  7. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    каких еще параметров? (конкретнее)
    вообщем вбивай в гугл "udp winsock" и будет тебе счастье :) (да и кстати, connect тоже вроде не надо делать при udp)
     
  8. TrueBit

    TrueBit Member

    Joined:
    21 Nov 2009
    Messages:
    71
    Likes Received:
    19
    Reputations:
    4
    Продолжаются вопросы про winapi...
    Как выполнить функцию при открытии формы? то есть как в vcl formcreate
     
  9. transserg

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

    Joined:
    2 Jul 2008
    Messages:
    147
    Likes Received:
    25
    Reputations:
    2
    TrueBit если ты в качестве формы используешь диалог из ресурсов то в функции обработки сообщения надо обработать сообщение WM_INITDIALOG
    если окно создаешь сам то сообщение WM_CREATE
    http://msdn.microsoft.com/en-us/library/ms632619(VS.85).aspx
     
    #5649 transserg, 31 Mar 2010
    Last edited: 31 Mar 2010
    2 people like this.
  10. crazyserega1994

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

    Joined:
    25 Dec 2007
    Messages:
    27
    Likes Received:
    3
    Reputations:
    0
    HTML:
    procedure TForm1.Button1Click(Sender: TObject);
    var page:string;
        param:tidmultipartformdatastream;
    begin
    if (Length(Edit1.Text) > 0) and (Length(Edit2.Text) > 0) then
    begin
      param:=tidmultipartformdatastream.Create;
      param.AddFormField('Login',Edit1.Text);
      param.AddFormField('Domain','mail.ru');
      param.AddFormField('Password',Edit2.Text);
      param.AddFormField('page','http://wap.my.mail.ru');
        page:=W.Post('http://my.mail.ru/cgi-bin/auth?noclear=1',param)
      if pos('Неверное имя пользователя или пароль',page) > 0 then
        Statusbar1.Panels[0].Text:='Wrong password!'
      else
        Statusbar1.Panels[0].Text:='Logged!'
      end;
    end;
    При вводе фейк данных все нормально, в строке состояние пишет "неверное имя...", если же пишу настоящие данные, то тогда выскакует ошибка "Socket error # 11004" :3
     
  11. Qb1024

    Qb1024 New Member

    Joined:
    15 Jul 2009
    Messages:
    323
    Likes Received:
    4
    Reputations:
    0
    По 5956 посту подскажите плиз!
     
  12. EndLeSSDre@M

    EndLeSSDre@M Banned

    Joined:
    18 Jul 2009
    Messages:
    142
    Likes Received:
    99
    Reputations:
    -5
    на каком языке то хоть?
    и уточни задание плиз! например как так при поле 100х100 максимальный квадрат 50? 50 это вообще что такое?

    советую ответить как можно скорее))) пока я спать не ушел)

    ну ответа так и не дождался... пошел спать... как хочешь
     
    #5652 EndLeSSDre@M, 31 Mar 2010
    Last edited: 1 Apr 2010
  13. Ice_VeNOm

    Ice_VeNOm Member

    Joined:
    5 Sep 2009
    Messages:
    36
    Likes Received:
    9
    Reputations:
    0
    Как реализовать многопоточность на delphi 2010? Там как-то все отличается....
     
  14. n1ghtstalker

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

    Joined:
    28 Sep 2008
    Messages:
    59
    Likes Received:
    3
    Reputations:
    0
    1. Тема Delphi/pascal
    2. я так понял можно задать матрицу 100x100
    при n=3 выстроиться 4 квадрата со сторонами 50x50



    ну если на то пошло то 50x50 не будет наибольшим квадратом. 96x96 самый больший из возможных. (для случая n=3),остальные 2 квадрата имеют стороны 2x2
    те нахождение максимального квадрата можно свести к 100-n*2
     
    #5654 n1ghtstalker, 1 Apr 2010
    Last edited: 1 Apr 2010
  15. Soherox

    Soherox Member

    Joined:
    17 Feb 2010
    Messages:
    45
    Likes Received:
    16
    Reputations:
    0
    50х50 самый наибольший, я думаю имеется ввиду нужно разместить n квадратов одинакового размера

    ____
    |1|1|
    |1|_|

    поле 100 на 100, 1 это квадрат со сторонами 50 на 50
     
    #5655 Soherox, 1 Apr 2010
    Last edited: 1 Apr 2010
  16. TENMAX

    TENMAX Member

    Joined:
    20 Nov 2009
    Messages:
    0
    Likes Received:
    35
    Reputations:
    5
    Пишу авторегер вк, написал пробную версию, но надо записывать в поля все данные (имя, фамилия.пол и т.д.)
    Хочу сделать так чтобы например поля заполнялись по рандому из файла (чтобы прога это делала внутри себя, но полей чтобы вообще не было, было только - лог, капча, или ключ анти капчи, я не знаю точно смогу лианти капчу запихнуть, если знаете скажите плиз).

    Тот кто мне всё объяснит могу заплатить даже по его желанию от 5 до 15 баксов.

    ICQ 428810406
     
  17. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    функция random тебе в помощь (file.strings[random(file.count-1)] (file: tstringlist))
     
  18. TENMAX

    TENMAX Member

    Joined:
    20 Nov 2009
    Messages:
    0
    Likes Received:
    35
    Reputations:
    5
    как записать рандом с помощью этой функции для такой строки:
    Data.Add('user.password1='+PasswordEdit.Text);
     
  19. crazyserega1994

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

    Joined:
    25 Dec 2007
    Messages:
    27
    Likes Received:
    3
    Reputations:
    0
    HTML:
    for i:=1 to 3 do
    begin
      sleep(5000);
      page:=W.Get('http://antigate.com/res.php?key=atatatata&action=get&id='+capid);
      if pos('|',page) > 0 then
      begin
        showmessage('captcha found');
        position:=pos('|',page);
        delete(page,1,position);
        capnumber:=page;
        showmessage(capnumber);
        Exit;
      end;
    end;
    showmessage('EVERYTHING IS FINE FTW?');
    Есть этот цикл, я раставил 3 showmessages чтобы посмотреть где скрипт не работает, в самом цикле все нормально, все 2 мессаги показуется, а вот showmessage('EVERYTHING IS FINE FTW?'); которая за цыклом не работает, и весь за ней код тоже, WTF?
     
    #5659 crazyserega1994, 1 Apr 2010
    Last edited: 1 Apr 2010
  20. Qb1024

    Qb1024 New Member

    Joined:
    15 Jul 2009
    Messages:
    323
    Likes Received:
    4
    Reputations:
    0
    Забыл уточнить, естественно нужны равные квадраты.
     
Thread Status:
Not open for further replies.