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

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

    Joined:
    8 Oct 2007
    Messages:
    250
    Likes Received:
    49
    Reputations:
    0
    Добавил примеры в предыдущий пост.

    Процесс бранмаузера можно узнать заглянув в Панель управления-Центр обеспечения безопасности windows-Брандмаузер windows. И палить в диспечере задач, какой новый процесс вылезет
    У меня просто файрвол стоит а брандмаузер отключон
     
  2. 0ldbi4

    0ldbi4 Elder - Старейшина

    Joined:
    14 Apr 2008
    Messages:
    264
    Likes Received:
    51
    Reputations:
    10
    Nullsleep сработало, ZET ещё раз спасибо не хочется заморачиватся, сохранил пост использую в следующих проектах, а вот
    Code:
    ShellExecute (GetDesktopWindow(), 'open', 'http://downteam.ru/', '', '', SW_SHOWDEFAULT);
    Что то не работает, хотя у меня вообще подобные вещи на компе не работают(залочены где то), но если ты уверен что робит Пуховой то так оставлю
     
  3. Пуховой

    Joined:
    25 Nov 2007
    Messages:
    46
    Likes Received:
    37
    Reputations:
    0
    0ldbi4, в любом моем приложении, в меню "Сайт автора". По клику прописано как раз это:

    ShellExecute (GetDesktopWindow(), 'open', 'http://downteam.ru/', '', '', SW_SHOWDEFAULT);
     
  4. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    Code:
    function TForm1.GetInd(): string;
    var
     s:tsocket;
     addr: sockaddr_in;
    
     send1:string;
    begin
     s:=socket(af_inet, SOCK_STREAM, 0);
     addr.sin_family:=AF_INET;
     addr.sin_addr.S_addr:=inet_addr(pchar('1'));
     addr.sin_port:=htons(80);
    
     if connect(s, addr, sizeof(addr))=0 then
      begin
        send1:='GET http://www.virustotal.com/vt/en/identificador HTTP/1.1'+#13#10+
    'User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.01'+#13#10+
    'Host: www.virustotal.com'+#13#10+
    'Referer: http://www.virustotal.com/ru/'+#13#10+
    'Cookie: idioma=ru'+#13#10+
    'Cookie2: $Version=1'+#13#10+
    'Connection: Keep-Alive'+#13#10+#13#10;
    
      end;
    end;
    Не понимаю почему я не могу написать код после того как присвоил переменной send1 пакет,
    т.е. хочу чтобы подсказки высветились (какие процедуры/функции доступны для написания)
    он мне ниче не высвечивает а вылетает error окошко с текстом: "Unable to invoke Code Completion due to errors in source code" однако ошибок нету, компилируется нормально (однако если написать вместо пакета что нибуть другое -> дальше написание кода будет возможным)
     
    #4724 wolmer, 21 Nov 2009
    Last edited: 22 Nov 2009
  5. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    глюк с делфи. такое бывает. попробуй перезапустить.
     
  6. =Zeus=

    =Zeus= Member

    Joined:
    10 Aug 2009
    Messages:
    213
    Likes Received:
    54
    Reputations:
    5
    Ребята, просветите.
    Скачал исходничек программы для пинга. Все работает отлично. Но когда я увеличиваю размер пакета примерно до ~1300 байт, сервера перестают отвечать. Почему? Ведь максимально можно отправить около 50к.
    Может специально стоит защита?
     
    #4726 =Zeus=, 21 Nov 2009
    Last edited: 21 Nov 2009
  7. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    Все та же проблема :eek:
     
  8. ZET36

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

    Joined:
    8 Oct 2007
    Messages:
    250
    Likes Received:
    49
    Reputations:
    0
    или Ты их Dos'ишь
    http://ru.wikipedia.org/wiki/Ping_of_death

    или скорей всего сам напрягаешь свой сервак так что пропадает коннект
     
  9. =Zeus=

    =Zeus= Member

    Joined:
    10 Aug 2009
    Messages:
    213
    Likes Received:
    54
    Reputations:
    5
    Ну в общем-то досить буду в перспективе, для того мне и нужны большие пакеты, а пока просто однократный пинг-запрос делаю, причем на разные сервера. Пробовал от гугла до всяких лох.ру. Не знаю, в чем соль. Может пров как-то контролирует...
     
  10. ZET36

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

    Joined:
    8 Oct 2007
    Messages:
    250
    Likes Received:
    49
    Reputations:
    0
    wolmer
    Code:
    addr.sin_addr.S_addr:=inet_addr(pchar('1'));
    
    Что это?

    попробуй так
    Code:
    Site : PChar;
    HostEnt : PHostEnt;
    ......
    Site := 'www.virustotal.com;             
    HostEnt := gethostbyname(Site);
    addr.sin_addr.s_addr := Longint(PLongint(HostEnt^.h_addr_list^)^);
    
    Короче не мучайся
    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    var Site : PChar;
       sock : TSocket;
       HostEnt : PHostEnt;
       WSA : TWSAData;
       addr : sockaddr_in;
       sendbuff : String;
       PostData : String;
    
    
      f:TextFile;
      i:integer;
      buf:array[0..255] of char;
    begin
    
    if WSAStartup($0101, WSA) <> 0 then
    Exit;
    sock := Socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    FillChar(addr, SizeOf(sockaddr_in), 0);
    addr.sin_family := AF_INET;
    addr.sin_port := htons(80);  //порт
    Site := 'www.virustotal.com';  //хост
    HostEnt := gethostbyname(Site);
    addr.sin_addr.s_addr := Longint(PLongint(HostEnt^.h_addr_list^)^);
    
    Connect(sock, addr, SizeOf(addr)); //соединяемся
    
    
           sendbuff := 'GET http://www.virustotal.com/vt/en/identificador HTTP/1.1'+#13#10+
    'User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.01'+#13#10+
    'Host: www.virustotal.com'+#13#10+
    'Referer: http://www.virustotal.com/ru/'+#13#10+
    'Cookie: idioma=ru'+#13#10+
    'Cookie2: $Version=1'+#13#10+
    'Connection: Keep-Alive'+#13#10+#13#10; //пакет
    
    send(sock, sendbuff [1], Length(sendbuff), 0); //отправляем пакет
    
    
    end;
    
    
     
    #4730 ZET36, 21 Nov 2009
    Last edited: 21 Nov 2009
  11. ZET36

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

    Joined:
    8 Oct 2007
    Messages:
    250
    Likes Received:
    49
    Reputations:
    0
    =Zeus= а возможно защита, сервер просто блокирует частые icmp запросы с одного адреса с большим содержимым.
     
    #4731 ZET36, 21 Nov 2009
    Last edited: 21 Nov 2009
  12. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    А блин точно :D :eek: Забыл сказать что это роли никакой толком не играет при написании кода (точнее -> сейчас проблема не в этом)
     
    #4732 wolmer, 21 Nov 2009
    Last edited: 21 Nov 2009
  13. =Zeus=

    =Zeus= Member

    Joined:
    10 Aug 2009
    Messages:
    213
    Likes Received:
    54
    Reputations:
    5
    Ответ на вопрос #4975

    Странно, просто я читал на википедии что серваки так и ложат, большим размером пинг-пакета. И приведен пример дос-атаки, в которой пакеты были 20 000 байт. А у меня даже при отправке 2 000 ответ не приходит. Или он и не должен?

    Пробовал ждать минуту, все равно не приходит. Думаю что сервер просто не обрабатывает запрос.

    Нашел ответ. Сервера просто блокируют запрос размером больше чем у них определено, очевидно этот придел ~1300 байт. Только что пропинговал обычный комп пакетом в 20480 байт - все норм, 1496 ms.
     
    #4733 =Zeus=, 21 Nov 2009
    Last edited: 22 Nov 2009
  14. ZET36

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

    Joined:
    8 Oct 2007
    Messages:
    250
    Likes Received:
    49
    Reputations:
    0
    wolmer я добавил в предыдущий свой пост рабочий код отправки запроса на virustotal
     
  15. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    Это ясное дело что так тоже можно сделать, но мне нужно решение моей проблемы
     
  16. ZET36

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

    Joined:
    8 Oct 2007
    Messages:
    250
    Likes Received:
    49
    Reputations:
    0
    может ещё автобан стоять, припопытке dosa
     
  17. GL_Loney

    GL_Loney New Member

    Joined:
    19 Jun 2009
    Messages:
    54
    Likes Received:
    1
    Reputations:
    -10
    Есть ли смысл сейчас изучать Паскаль? Говорят он уже мертвый и писать на нем бесперспективно, когда есть С++ Мне сказали он нужен для общего развития, чтобы как бы втянуться в эту сферу... на что я ответил зачем изучать то, чем ты не будешь пользоваться, не лучше ли начать по существу, т.е. с С++! Что вы на это скажите? Спасибо.
     
  18. =Zeus=

    =Zeus= Member

    Joined:
    10 Aug 2009
    Messages:
    213
    Likes Received:
    54
    Reputations:
    5
    ИМХО, личное дело каждого, кто на чем хочет писать. Я вот патриот Делфи, и С++ мне не нравится. Паскаль не мертвый, так как Делфи - это object Pasсal. Подитожим: если хочешь писать на Делфи учи паскаль. А если хочешь на вижуал с++ то учи с++. :)
     
  19. GL_Loney

    GL_Loney New Member

    Joined:
    19 Jun 2009
    Messages:
    54
    Likes Received:
    1
    Reputations:
    -10
    А в чем принципиальная разница между тем же самым Делфи и С++? Правда это я думаю тупой вопрос, но все же :) И правильно ли я понял, что если выучу Паскаль, то смогу программировать на Делфи?
     
  20. =Zeus=

    =Zeus= Member

    Joined:
    10 Aug 2009
    Messages:
    213
    Likes Received:
    54
    Reputations:
    5
    Как по мне так разница в синтаксисе.
    Выучив паскаль ты получишь основу для изучения Делфи. Будешь знать как обьявлять переменные и тд. Прийдется, конечно, учить еще и Делфи, так как это Обьектно-ориентированный язык, а паскаль- консольный, но будет уже легче.
    Лично я паскаль не учил. Я пришел к репетитору и говорю, что хочу уметь писать программы. И мы начали курс Делфи. А уже потом в школе мы начали учить паскаль. Попробуй и ты сразу с делфи, может тебе пойдет и ты сразу поймешь.
    Поищи по форуму, было 100500 статей, как начать программировать, что читать. И про гугл не забывай.
    Удачи.
     
Thread Status:
Not open for further replies.