Модераторы: Snowy, Poseidon, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как узнать подключен ли модем к интернету? 
:(
    Опции темы
Roman_
  Дата 22.5.2004, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 28.1.2003

Репутация: нет
Всего: нет



Нужна функция на дельфи которая говорит подключен ли модем к интернету... Помогите...

Есть правда одна но она очень мутная и глючит.... кто хочет на нее взглянуть... могу повесить!
PM MAIL   Вверх
p0s0l
Дата 23.5.2004, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 1
Всего: 112



См. FAQ. Самый надежный - проверить на существование какой-нибудь надежный адресок...


--------------------
С уважением, г-н Посол.
PM   Вверх
Roman_
Дата 24.5.2004, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 28.1.2003

Репутация: нет
Всего: нет



хм.... проверить адресок???
так это он у меня будет подключатся автоматически и тогда точно будет инет....
А вот чтоб проверял реально... и не пытался подключатся к инету....
мне такой способ жутко не нравится!!!
PM MAIL   Вверх
Pakshin A. S.
Дата 24.5.2004, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: нет
Всего: 61



Код

uses winInet;

...

var
...
Flags:DWORD;

...
Flags:= 0;
if InternetGetConnectedState(@Flags, 0)
 then
  // Что-то делаем
 else
  Application.MessageBox('Соединение с интренетом отсутствует!', 'Connection failed', mb_ok + mb_iconstop);
...


PM   Вверх
Roman_
Дата 24.5.2004, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 28.1.2003

Репутация: нет
Всего: нет



аха.... вот как...
... во много м не срабатывает....
PM MAIL   Вверх
p0s0l
Дата 24.5.2004, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 1
Всего: 112



Код
function IsInetConnected : boolean;
begin
var dat : WSADATA;
begin
WSAStartUp($0002, dat);
Result := gethostbyname('www.microsoft.com') <> nil;
WSACleanUp;
end;

В инет не лезет...



--------------------
С уважением, г-н Посол.
PM   Вверх
Roman_
Дата 25.5.2004, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 28.1.2003

Репутация: нет
Всего: нет



Спасибо.... заинтересовало...
PM MAIL   Вверх
Albinos_x
Дата 27.5.2004, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: нет
Всего: 108



Предложу ещё такой вариант:

Код
Procedure TForm1.Button1Click(Sender:TObjeckt);
var   CommPort:String:
        HCommFile:THandle;
        ModemStart:DWord;
begin
CommPort:='COM2';
{Open the comm port}
HCommFile:=CreateFile(PChar(CommPort),GENERIC_READ,0,NIL, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if hCommFile = INVALID_HANDLE_VALUE then
   begin
   ShowMessage('Unable to open '+CommPort);
   exit;
   end;
{get the Modem Status}
if GetCommModemStatus(HCommFile, ModemStart) <> false then
   begin
   if ModemStart and MS_CTS_ON <> 0 then
       ShowMessage('The CTS (clear-to-send) is on');
    if ModemStart and MS_DSR_ON <> 0 then
       ShowMessage('The DSR (data-set-ready) is on');
    if ModemStart and MS_RING_ON <> 0 then
       ShowMessage('The RING indicator is on');
    if ModemStart and MS_RLSD_ON <> 0 then
       ShowMessage('The RLSD (receive-line-signal-detect) is on');
    end;
{close the comm port}
CloseHandle(hCommFile);
end;


Не проверял, но по идее должно работать.

Это сообщение отредактировал(а) p0s0l - 28.9.2005, 15:34


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Roman_
Дата 29.5.2004, 07:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 28.1.2003

Репутация: нет
Всего: нет



Такой способ при подключеном инете нет доступа к сом порту... хочу понять почему... выясняем....
PM MAIL   Вверх
p0s0l
Дата 29.5.2004, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 1
Всего: 112



Этот способ всё равно не подойдёт, так как в инет выход может и не только через Com-порт... Да и проверка сомнительная... Если у меня два модема - какой порт проверять ? А если я просто по терминалу соединился ?




--------------------
С уважением, г-н Посол.
PM   Вверх
Georg4
Дата 29.5.2004, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 961
Регистрация: 2.11.2002

Репутация: нет
Всего: 10



Цитата(p0s0l @ 24.5.2004, 20:14)
Код
кто хочет на нее взглянуть... могу повесить!


НЕ надо вешать никого все уже все и так написалиsmile.gif


--------------------
Никто и никогда не должен решать одну проблему дважды
PM MAIL ICQ   Вверх
p0s0l
Дата 29.5.2004, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 1
Всего: 112



Georg4, ты про что вообще ? И почему в цитате указал, что это я сказал ? Это слова Roman'а...


--------------------
С уважением, г-н Посол.
PM   Вверх
Albinos_x
Дата 29.5.2004, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: нет
Всего: 108



Попробуй, тогда ещё такой вариант:

if TCP1.LocalIP = '0.0.0.0' then ShowMessage('Компьютер не подключён!');

smile.gif


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
_hunter
Дата 29.5.2004, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



это прокатит только если на компъютере вообще не установлена сеть ( ито не факт smile.gif )


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Cashey
Дата 29.5.2004, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: нет
Всего: 60



Подобный вопрос я уже поднимал. Вот тут один вариант: http://forum.vingrad.ru/index.php?act=Post...=02&f=2&t=19817

А вот тут другой, связанный с коннектом. К сожелению не помню кто мне его предложил sad.gif
Код
function CheckHTTPConnect(host: String): Boolean;
var
hinet: Pointer;
hhost: Pointer;
hreq: Pointer;
begin
Result := False;
hinet := InternetOpen('connection checker', 0, nil, nil, 0);
if hinet <> nil then begin
  hhost := InternetConnect(hinet, PChar(host), 80, nil, nil, INTERNET_SERVICE_HTTP, 0, 1);
  if hhost <> nil then begin
    hreq := HttpOpenRequest(hhost, 'HEAD', nil, nil, nil, nil, INTERNET_FLAG_RELOAD or INTERNET_FLAG_PRAGMA_NOCACHE or INTERNET_FLAG_DONT_CACHE, 1);
    if hreq <> nil then begin
      Result := HttpSendRequest(hreq, nil, 0, nil, 0);
      InternetCloseHandle(hreq);
    end;
    InternetCloseHandle(hhost);
  end;
  InternetCloseHandle(hinet);
end;
end;


Это сообщение отредактировал(а) Cashey - 29.5.2004, 16:27


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0550 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.