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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2009, 15:15   #1
hacknet
Форумчанин
 
Регистрация: 11.11.2008
Сообщений: 177
По умолчанию Как проверить соединение с Интернетом

Здравствуйте Уважаемые программисты! Есть такая фун-ция netIsOffline из URL.DLL для проверки соединения компа с инетом, создаю обработчик событий онклик на кнопке и пишу

Код:
procedure TForm1.Button1Click(Sender: TObject);
if InetIsOffline(0) then
  ShowMessage('This computer is not connected to Internet!')
else
  ShowMessage('You are connected to Internet!');
и если комп соединенён с инетом, то появиться это сообщение 'You are connected to Internet!' и если нет, то 'This computer is not connected to Internet!'...так вот такая проблема, когда Я комп отрубаю от инета, он серовно показывает вот это сообщение 'You are connected to Internet!' не подскажите в чём сдесь дело???

Последний раз редактировалось rpy3uH; 06.04.2009 в 20:09.
hacknet вне форума Ответить с цитированием
Старый 15.03.2009, 15:17   #2
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

Код:
try
idhttp1.head('google.ru');
showmessage('инет есть');
except
showmessage('инета нет');
end;
можно так проверить
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 15.03.2009, 15:30   #3
hacknet
Форумчанин
 
Регистрация: 11.11.2008
Сообщений: 177
По умолчанию

а поточнее можно..т,е полностью код написать

15:39

вот мой код

код:

Код:
procedure TForm1.Button3Click(Sender: TObject);
begin
try
idhttp1.head('');
showmessage('инет есть');
except
showmessage('инета нет');
end;
end;
end.
и вылазит такая ошибка



Что, начались проблемы со зрением?
Кнопку "Правка" в упор не видите?
Тэг "Код" тоже не привыкли использовать?
Получите "горчичник".

Последний раз редактировалось hacknet; 15.03.2009 в 15:57. Причина: Объединение постов
hacknet вне форума Ответить с цитированием
Старый 15.03.2009, 16:03   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
procedure TForm1.Button3Click(Sender: TObject);
begin
try
idhttp1.head('google.ru');
showmessage('инет есть');
except
showmessage('инета нет');
end;
end;
end.
ну написали же тебе четко,что тяжело просто скопировать?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 15.03.2009 в 16:06.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.03.2009, 16:13   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Ради интереса у себя попробовал - 'инета нет'
Что ни пиши в адресе ('http://www.google.com', 'www.google.com', 'google.com') - 'инета нет'...

Последний раз редактировалось mihali4; 15.03.2009 в 16:35.
mihali4 вне форума Ответить с цитированием
Старый 15.03.2009, 16:16   #6
SeRhy
Форумчанин
 
Аватар для SeRhy
 
Регистрация: 19.10.2007
Сообщений: 168
По умолчанию

Код:
function InetIsOffline(Flag: Integer): Boolean;
stdcall; external 'URL.DLL';
Код:
if InetIsOffline(0) then ShowMessage('Инета нет') else
 ShowMessage('Инет есть');
SeRhy вне форума Ответить с цитированием
Старый 15.03.2009, 16:26   #7
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

ввел http://ya.ru и все работает, на гугле действительно спотыкается...

пруфпик
http://slil.ru/27240813
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 15.03.2009, 16:28   #8
hacknet
Форумчанин
 
Регистрация: 11.11.2008
Сообщений: 177
По умолчанию

Цитата:
Сообщение от SeRhy Посмотреть сообщение
Код:
function InetIsOffline(Flag: Integer): Boolean;
stdcall; external 'URL.DLL';
Код:
if InetIsOffline(0) then ShowMessage('Инета нет') else
 ShowMessage('Инет есть');
и так тоже не получается! вылазиет ошибка!
не мог ли бы сделать рабочий проект...чтоб если инета нет, то просто ждал бы подключения, а если инет есть нажалась бы кнока!
мне самому не трудно, просто у меня получается так..когда инет не подключен, то он серовно жмёт кнопку!!

16:51

Цитата:
Сообщение от KORN Посмотреть сообщение
ввел http://ya.ru и все работает, на гугле действительно спотыкается...
пруфпик
http://slil.ru/27240813
работает на любом сайте главно написать "http://" а Вы попробуйте отключить инет...и посмотрите что будет написано!!

17:47

вот нашел кому интересно посмотрите! у меня работает!
но есть вопрос, как сделать, если конекта нет...то он просто бы ждал или проверял каждые мин10..как появиться показал сообщение??

Код:
{Static linking. }

 uses
   WinInet;

 {...}

 function IsConnectedToInternet: Boolean;
 var
   dwConnectionTypes: DWORD;
 begin
   dwConnectionTypes :=
     INTERNET_CONNECTION_MODEM +
     INTERNET_CONNECTION_LAN +
     INTERNET_CONNECTION_PROXY;
   Result := InternetGetConnectedState(@dwConnectionTypes, 0);
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   if IsConnectedToInternet then
     ShowMessage('Connected.')
   else
     ShowMessage('Not Connected.')
 end;

Последний раз редактировалось mihali4; 15.03.2009 в 23:16.
hacknet вне форума Ответить с цитированием
Старый 15.03.2009, 18:46   #9
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Поместите на форму таймер и выставьте инервал в секунду. и код:
Код:
procedure TMainForm.Timer1Timer(Sender: TObject);
begin
  Timer1.Tag:=Timer1.Tag+1;
  if Timer1.Tag>=600 then begin // 600 - это 10 мин в секундах
    Timer1.Tag:=0;
     if IsConnectedToInternet then
       ShowMessage('Connected.');
  end;
end;
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг

Последний раз редактировалось Dj_smart; 15.03.2009 в 18:48.
Dj_smart вне форума Ответить с цитированием
Старый 15.03.2009, 19:25   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

наличие соединения не значит что возможно чтото получить с инета
есть такое понятие как висящий канал
так что нужно получать какой-то документ
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Соединение с интернетом stim-12 Помощь студентам 4 05.01.2009 17:19
idhttp, как разорвать соединение ??? Игорь22 Работа с сетью в Delphi 2 07.06.2008 04:17
как програмно разорвать соединение с интернетом shurik_7866 Работа с сетью в Delphi 4 24.01.2008 13:06
как разорвать соединение с интернетом shurik_7866 Работа с сетью в Delphi 0 22.01.2008 20:32
Установить соединение с интернетом BanDit Общие вопросы Delphi 3 17.01.2008 22:44