[ 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. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    ClientSocket или WinSock?
     
  2. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    Nightmarе, у меня ТурбоДелфи, клиентсокета что-т не нашел, возможно нет его тут. Вот накалякал на винсоке на скорую руку. Смотри, может поможет :)
    Code:
    {$APPTYPE CONSOLE}
    
    uses
      Windows, SysUtils, WinSock;
    
    var
      WSA: TWSAData;
      Sock: TSocket;
      Server: TSockAddr;
    
    function LookupName(host: string): TInAddr;
    var
      HostEnt: PHostEnt;
      InAddr: TInAddr;
    begin
      HostEnt := gethostbyname(PChar(host));
      FillChar(InAddr, SizeOf(InAddr), 0);
      if HostEnt <> nil then
        begin
          with InAddr, HostEnt^ do
            begin
              S_un_b.s_b1 := h_addr^[0];
              S_un_b.s_b2 := h_addr^[1];
              S_un_b.s_b3 := h_addr^[2];
              S_un_b.s_b4 := h_addr^[3];
            end;
        end;
      Result := InAddr;
    end;
    
    procedure SendString(s: string);
    var
      Buffer: array[0..255] of char;
    begin
      StrPCopy(Buffer, s);
      Send(Sock, Buffer, length(s), 0);
    end;
    
    var
      Buffer: array[0..255] of char;
      Bufflen, Recved: SmallInt;
    
    begin
      WSAStartup(MAKEWORD(1,0), WSA);
      Sock := socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
      ZeroMemory(@Server,SizeOf(Server));
      Server.sin_family:=AF_INET;
      Server.sin_port:=htons(80);
      Server.sin_addr:=LookupName('www.lol.ru');
      if Connect(Sock, Server, SizeOf(Server)) = 0 then
        begin
          SendString('GET / HTTP/1.1'#13#10);
          SendString('Host: www.lol.ru'#13#10);
          SendString('Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5'#13#10);
          SendString('Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3'#13#10);
          SendString('Accept-Encoding: gzip,deflate'#13#10);
          SendString('Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'#13#10);
          SendString(#13#10);
        end;
      repeat
        Bufflen := SizeOf(Buffer);
        Recved := Recv(Sock, Buffer, Bufflen, 0);
        write(Buffer);
      until Recved = 0;
      CloseSocket(Sock);
      WSACleanup;
      readln;
    end.
     
    1 person likes this.
  3. Stil Free

    Stil Free New Member

    Joined:
    20 Dec 2008
    Messages:
    28
    Likes Received:
    4
    Reputations:
    2
    Хех ну для того чтобы завершить Explorer и поновой запустить нужны огромные права в общем я незнаю ничего кроме азов Delphi посоветуй что нить по этому поводу я пороюсь ну кроме googlя я его уже весь обшарил книжку каку нить или пример программы которая это делает? А вообще реально перезапустить Explorer? В диспетчее задач реально но я не думаю что прога сможет работать так как закроет сама себя.... И ещё как сделать безопасное выключение ,а то у меня комп гаснет и ничего не сохраняет?
     
  4. criz

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

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    Stil Free, копай в сторону функции Enableprivilege()
     
  5. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    А как ты определяешь что не передаётся? Какой HTTP код тебе возвращается в ответ на запрос?
     
    1 person likes this.
  6. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    QUERY STRING инициализируется только при ГЕТ запросе
     
  7. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    QUERY_STRING инициализируется только при GET-запросе, при POST-запросе данные поступают на STDIN скрипта и другой ситуации быть не может.

    Покажи принимающий скрипт.

    Кстати ты передаёшь Content-length: 23, а реально передал в теле 25...
     
    #2507 groundhog, 13 Jan 2009
    Last edited: 13 Jan 2009
  8. Stil Free

    Stil Free New Member

    Joined:
    20 Dec 2008
    Messages:
    28
    Likes Received:
    4
    Reputations:
    2
    Парни у меня трабла с прогой сам сделал, но есть такой пунктик я полностью убрал стандартное окно Windows в ней и теперь программу можно выключить только нажав на крестик сделаный мною и прога выключится если ты правильно ввёл пароль. Самое обидное что прогу можно закрыть просто нажав ALT+F4[:mad:] Этот способ закрывает прогу без вода пароля как убить этот косяк?
     
  9. herfleisch

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

    Joined:
    7 Jan 2009
    Messages:
    579
    Likes Received:
    203
    Reputations:
    13
    Перехватывать события нажатия клавишь и будет тебе счастье
     
  10. MongBa†

    MongBa† Banned

    Joined:
    16 May 2008
    Messages:
    13
    Likes Received:
    9
    Reputations:
    0
    Событие формы OnClose

    if pass<>true then
    begin
    MessageDlg('Неверный пасс!',mtError,[mbOK],0);
    Action:=caNone;
    end;
     
  11. Stil Free

    Stil Free New Member

    Joined:
    20 Dec 2008
    Messages:
    28
    Likes Received:
    4
    Reputations:
    2
    Ага это уже будет кейлогер а не безобидная програмка. Это реально но как осуществить?И где взять функцию чтобы свернуть программу в трей?
     
  12. MongBa†

    MongBa† Banned

    Joined:
    16 May 2008
    Messages:
    13
    Likes Received:
    9
    Reputations:
    0
    Для трея юзал библиотеку RxLib
    Компонент думаю найдеш, вроде RxTray или типа того.. готовый, поддержка контекста, икон, анимации и т.п.
     
  13. Stil Free

    Stil Free New Member

    Joined:
    20 Dec 2008
    Messages:
    28
    Likes Received:
    4
    Reputations:
    2
    Нее такое не прокатит пробовал :)
     
  14. MongBa†

    MongBa† Banned

    Joined:
    16 May 2008
    Messages:
    13
    Likes Received:
    9
    Reputations:
    0
    Вреш :p или я недопонял...
    оно? -> http://webfile.ru/2557518
     
  15. cremator (c)

    cremator (c) Elder - Старейшина

    Joined:
    20 Jun 2008
    Messages:
    258
    Likes Received:
    72
    Reputations:
    0
    Помогите плз., как создать событие OnRead в run time для компонента ClientSocket? Я так понял что процедура должна быть типа notifyevent, а создать её не врублюсь как..
     
    1 person likes this.
  16. Stil Free

    Stil Free New Member

    Joined:
    20 Dec 2008
    Messages:
    28
    Likes Received:
    4
    Reputations:
    2
    Всё нашёл что икал кому интересно пишите в личку:)
     
  17. _nic

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

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    А в инди можно как то задать свой "юзер-агент" ?
     
  18. KIR@PRO

    KIR@PRO from Exception

    Joined:
    26 Dec 2007
    Messages:
    826
    Likes Received:
    291
    Reputations:
    359

    вот решение, просто не то событие вы брали
    Code:
    procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    begin  
    if edit1.Text=pass then 
       canclose:=true  
    else
       begin
          canclose:=false;
          MessageDlg('Пароль неверный!',mtError,[mbOK],0);
       end;
    end;


    p.s. мне никто так и не поможет? по этому вопросу: http://forum.antichat.ru/showpost.php?p=1059432&postcount=2611
     
    _________________________
  19. crystalbit

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

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    88
    Reputations:
    8
    idhttp1.request.useragent ;)
     
  20. lll6

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

    Joined:
    29 Feb 2008
    Messages:
    83
    Likes Received:
    15
    Reputations:
    5
    Ни у кого нет исходников аплоадера на какой-нибудь файлообменник или сайт?
     
Thread Status:
Not open for further replies.