Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.11.2011, 17:13   #1
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию Internet Component Suite

Здравствуйте!
Стоит такая задача: Есть ADSL модем (D-Link2500U), нужно при потери связи с интернетом его перегружать полностью, не только само соединение.
Решил так: по таймеру пингуется заданный IP адрес или сайт в интернете если пинга нет то ребут. Использую для пинга компонент PING из Internet Component Suite. Взял пример из книги Михаил Фленов Программирование в делфи гзазами хакера, но он почему то не работает вот листинг
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OverbyteIcsWndControl, OverbyteIcsPing, StdCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    RichEdit1: TRichEdit;
    Button1: TButton;
    Ping1: TPing;
    procedure Button1Click(Sender: TObject);
    procedure Ping1DnsLookupDone(Sender: TObject; Error: Word);
    procedure Ping1EchoReply(Sender, Icmp: TObject; Status: Integer);
    procedure Ping1EchoRequest(Sender, Icmp: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
RichEdit1.Lines.Add ('Поиск ' + Edit1.Text + ' ') ;
Ping1.Size:=StrToInt(Edit2.Text);
Ping1.DnsLookup(Edit1.Text);
end;

procedure TForm1.Ping1DnsLookupDone(Sender: TObject; Error: Word);
begin
//Если произошла ошибка, то...
  if Error <> 0 then
    begin
      //Вывести сообщение об ошибки
      RichEdit1.Lines.Add ('Хост не найден ' + Edit1.Text + '') ;
      //Выход
      Exit
    end;
  //Если ошибок не было, то выводим в RichEditl результат поиска
  RichEdit1.Lines.Add('Хост ''' + Edit1.Text + ' - ' + Ping1.DnsResult);
  //Устанавливаем свойство Address компонента Ping равным
  //адресу, найденному в базе DNS
  Ping1.Address := Ping1.DnsResult; //Запускаем Ping
  Ping1.Ping;
end;

procedure TForm1.Ping1EchoReply(Sender, Icmp: TObject; Status: Integer);
begin
  if Error = 0 then
    RichEdit1.Lines.Add('He могу выполнить операцию ping: '+Ping1.Errorstring)
  else
    RichEdit1.Lines.Add ('Получено ' + IntToStr (Ping1.Reply.DataSize)+
    ' байт от '+Ping1.HostIP+' за ' + IntToStr(Ping1.Reply.RTT)+
    ' миллисекунд');
end;

procedure TForm1.Ping1EchoRequest(Sender, Icmp: TObject);
begin
  RichEdit1.Lines.Add('Посылка ' + IntToStr(Ping1.Size) +
  ' байтов на ' + Ping1.HostName);
end;

end.
Результат работы программы
Цитата:
Поиск Comp
Хост 'Comp - 192.168.1.2
Посылка 56 байтов на 192.168.1.2
He могу выполнить операцию ping: No error

Поиск 192.168.1.1
Хост '192.168.1.1 - 192.168.1.1
Посылка 56 байтов на 192.168.1.1
He могу выполнить операцию ping: No error

Поиск 83.221.202.254
Хост '83.221.202.254 - 83.221.202.254
Посылка 56 байтов на 83.221.202.254
He могу выполнить операцию ping: No error

Поиск www.google.ru
Хост 'www.google.ru - 173.194.32.51
Посылка 56 байтов на 173.194.32.51
He могу выполнить операцию ping: No error

Поиск www.yandex.ru
Хост 'www.yandex.ru - 93.158.134.203
Посылка 56 байтов на 93.158.134.203
He могу выполнить операцию ping: No error

Поиск www.ya.ru
Хост 'www.ya.ru - 213.180.204.3
Посылка 56 байтов на 213.180.204.3
He могу выполнить операцию ping: No error
Подскажите где я ошибся или как можно по другому решить эту проблему?
P.S. Использую Delphi XE
tarakan1983 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с MSIC Suite. Hedgehog-tech Компоненты Delphi 2 18.12.2009 10:49
файловый менеджер для телефона, аналог PC suite tinkoff Общие вопросы по Java, Java SE, Kotlin 0 31.10.2009 15:57
Проблема с ICS (Internet Component Suite). Des Компоненты Delphi 8 24.08.2009 09:45
Литература к ICS (Internet Component Suite). Des Компоненты Delphi 0 24.08.2009 09:02
Internet Component Suite DeDoK Компоненты Delphi 3 22.12.2007 17:44