Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.11.02;
Скачать: CL | DM;

Вниз

Определение включенности интернета   Найти похожие ветки 

 
Фоофа   (2008-09-22 17:04) [0]

Подскажте пожалса, как в делфи(как нистранно именно в нем Оо) написать опознование включенности интернета, заранее спс.


 
Сергей М. ©   (2008-09-22 17:07) [1]

Никак.
Интеренет всегда "включен", вне зависимости от того странно тебе или нистранно. хочешь ты того или нех хочешь)


 
Поросенок Винни-Пух ©   (2008-09-22 17:07) [2]

function IsInetOn : boolean;
begin
Result := True;
if not Result then Result := True;
end;


 
Правильный$Вася   (2008-09-22 17:18) [3]

если речь идет о сетевом подключении, конкретном, то можно проверить его наличие
но является ли это подключение выходом в интернет - разве токльо погадать попытками подключиться к какому-нибудь яндексу


 
clickmaker ©   (2008-09-22 17:21) [4]

можно, разве что, проверить, есть ли в данный момент доступ к инету, функцией InternetAttemptConnect
Она еще может вывести диалог дозвона, если диалап


 
KilkennyCat ©   (2008-09-22 18:01) [5]


> разве токльо погадать попытками подключиться к какому-нибудь
> яндексу

нафига к яндексу, программулина же не просто наверное, выводит сообщение о есть-нет интернет. Пущай и коннектится туда, куда надо сразу.
И смысл в вопросе тут же отпадает.
Но все равно смысла в программе нет.
Потому чито с ошибками будет.


 
Поросенок Винни-Пух ©   (2008-09-22 18:09) [6]

ну как это смысла нет?
вот выйдешь в инет без проверки его включенности - а там нет ничего.
даже обратной ссылки на возвращение.


 
ПРавильный$Вася   (2008-09-22 18:17) [7]


> даже обратной ссылки на возвращение

боишься заблудиться?


 
Anatoly Podgoretsky ©   (2008-09-22 18:54) [8]

> Фоофа  (22.09.2008 17:04:00)  [0]

Что такое Интернет.


 
Leonid Troyanovsky ©   (2008-09-22 19:37) [9]


> Anatoly Podgoretsky ©   (22.09.08 18:54) [8]

> Что такое Интернет.

Это реальная виртуальность.

--
Regards, LVT.


 
Германн ©   (2008-09-22 20:28) [10]

http://www.delphimaster.ru/articles/connect-inet.html


 
Anatoly Podgoretsky ©   (2008-09-22 20:59) [11]

> Германн  (22.09.2008 20:28:10)  [10]

> "А теперь - правда !"

Не правда, но направление к правде.


 
Германн ©   (2008-09-22 21:13) [12]


> Anatoly Podgoretsky ©   (22.09.08 20:59) [11]

А это не ко мне. Автор статьи где-то рядом :)


 
Anatoly Podgoretsky ©   (2008-09-22 21:19) [13]

> Германн  (22.09.2008 21:13:12)  [12]

Да ладно, это не так и важно и то что написано имеет право и вполне применимо.
Мне не нравится пункт 2, про первый с пингом я вообще не говорю.
Ну зачем использовать какой то сайт и прочее, обращаться надо именно к ресурсу.
А то толку, от тог, что page.html доступен, а мне то нужен page2.html
Надо просто не заморачиваться,  а прямо обращаться к нужному режиму, и именно когда он нужен, а не два дня до этого и обрабатывать ошибки.
Все больше ничего не надо. Другое дело трояны на диалапе, вот тем надо незаметно попытаться передать данные, а каналом они не рулят.


 
JJ   (2008-09-23 05:01) [14]

Люди не хотят учиться говорить по русски, вот и не могут составить правильно свой запрос. А уж сил забить его в Яндекс у них не остаётся :)

Автору этого хватит выше крыши, пусть пробует всё что можно и экспериментирует:

Для работы Вам необходимо импортировать функцию InetIsOffline из URL.DLL:

function InetIsOffline(Flag: Integer): Boolean;
stdcall; external "URL.DLL";

а затем поместить в программу простой вызов функции для проверки статуса соединения:

if InetIsOffline(0) then
 ShowMessage("This computer is not connected to Internet!")
else
 ShowMessage("You are connected to Internet!");

но ещё нужно учитывать, что функция эта выдает false не только, когда комп подключен к Интернету, но и когда ЕЩЕ НЕ БЫЛО ПОПЫТОК подключения (or if no attempt has yet been made to connect to the Internet), как сказано в официальной документации Microsoft по MSDN...

Да, умом Microsoft не понять!


- - -

const INTERNET_CONNECTION_MODEM = 1;
     INTERNET_CONNECTION_LAN   = 2;
     INTERNET_CONNECTdState";

{$R *.DFM}

procedure TForm1.CheckState(Sender: TObject);
var
 dwConnectionTypes: DWORD;
begin
 dwConnectionTypes:=IC_MODEM+IC_LAN+IC_PROXY;
 if InternetGetConnectedState(@dwConnectionTypes,0) then
   ShowMessage("You connected")
 else
   ShowMessage("No Connection");
end;


- - -

{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;


- - -

{Dynamic linking. }

function IsConnectedToInternet(lpdwFlags: LPDWORD): Boolean;
const
  WininetDLL = "wininet.dll";
var
  hWininetDLL: THandle;
  dwReserved: DWORD;
  fn_InternetGetConnectedState: function(lpdwFlags: LPDWORD; dwReserved: DWORD): BOOL; stdcall;
begin
  Result := False;
  dwReserved := 0;
  hWininetDLL := LoadLibrary(WininetDLL);
  if hWininetDLL > 0 then
  begin
    @fn_InternetGetConnectedState := GetProcAddress(hWininetDLL,"InternetGetConnectedState");
    if Assigned(fn_InternetGetConnectedState) then
    begin
      Result := fn_InternetGetConnectedState(lpdwFlags, dwReserved);
    end;
    FreeLibrary(hWininetDLL);
  end else
   raise Exception.Create("Unable to locate function InternetGetConnectedState in library " + WininetDLL);

end;

procedure TForm1.Button1Click(Sender: TObject);
const
  INTERNET_CONNECTION_MODEM = 1;
  INTERNET_CONNECTION_LAN = 2;
  INTERNET_CONNECTION_PROXY = 4;
  INTERNET_CONNECTION_MODEM_BUSY = 8;
var
  dwConnectionTypes: DWORD;
begin
  dwConnectionTypes :=
    INTERNET_CONNECTION_MODEM +
    INTERNET_CONNECTION_LAN +
    INTERNET_CONNECTION_PROXY;
  if IsConnectedToInternet(@dwConnectionTypes) then
    ShowMessage("Connected.")
  else
    ShowMessage("Not Connected.")
end;


 
Германн ©   (2008-09-24 01:22) [15]


> Anatoly Podgoretsky ©   (22.09.08 21:19) [13]
>
> > Германн  (22.09.2008 21:13:12)  [12]
>
> Да ладно, это не так и важно и то что написано имеет право
> и вполне применимо.
>

А один из авторов статьи упорно "молчит в тряпочку". :)


 
antonn ©   (2008-09-24 01:37) [16]


> А один из авторов статьи упорно "молчит в тряпочку". :)

разве он не сказал - "никак"? :)


 
Германн ©   (2008-09-24 01:48) [17]


> antonn ©   (24.09.08 01:37) [16]
>
>
> > А один из авторов статьи упорно "молчит в тряпочку". :
> )
>
> разве он не сказал - "никак"? :)

Сказал. А потом "замолчал в тряпочку". :)


 
brother ©   (2008-09-24 04:12) [18]

думаю, что автору [14] хватило вполне...
зы и келпает очередного трояна(


 
antonn ©   (2008-09-24 08:54) [19]


> brother ©   (24.09.08 04:12) [18]
>
> зы и келпает очередного трояна(

у вас плохой телепатор, было неоднократно замечено.



Страницы: 1 вся ветка

Текущий архив: 2008.11.02;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.017 c
15-1220175582
Dmitry S
2008-08-31 13:39
2008.11.02
WiFi на висте


2-1221635322
Amid
2008-09-17 11:08
2008.11.02
Как соединить 2 файла BMP ?


2-1222061843
Виктор
2008-09-22 09:37
2008.11.02
Чтение файла .txt и формирование Excel


1-1201615785
webpauk
2008-01-29 17:09
2008.11.02
Прозрачность окна


2-1222450602
berrometr
2008-09-26 21:36
2008.11.02
Delphi 2009