Internet połączony/niepołączony..?

0

Potrzebuje kod, który będzie sprawdzać połączenie
Modem i LAN czy jest nawiązane połączenie z internetem

i jeśli tak to będzie dalej wykonywać program, a jeśli
nie to wykonywanie programu zostenie zatrzymane i w Label1
wyświetli komunikat że nie wykryto połączenia z internetem.

[code]Najlepiej jak by dało się to połączyć z
"Ekranem powitalnym - Splash Screen" opisanym tu:
http://4programmers.net/view.php?id=148[/code]

Nie odsyłajcie mnie do FAQ ponieważ to:

[code]
W sekcji "Interface" dodaj nagłówek:

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

Teraz w procedurze:

if InetIsOffline(0) then
ShowMessage('Jestem offline') else
ShowMessage('Jestem online'); [/code]

działa, ale jak odłączam neta to nadal pokazuje MSG
że jestem on-line :) a wszystko dobrze wstawiłem

0

Działa działa ale chyba cos źle robisz skopiuj to z FAQ i wklej na strone a ja zobacze i powiem ci czy działa czy nie!!.

0

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

powyższy kawałek wklejam pod

implementation

a następujący kawałek:

if InetIsOffline(0) then
ShowMessage('Jestem offline') else
ShowMessage('Jestem online');

np. w OnCreate w formie

razem całość wygląda u mnie następująco

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Gauges, StdCtrls;

type
TFScreen = class(TForm)
Label1: TLabel;
Gauge1: TGauge;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
FScreen: TFScreen;

implementation

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

{$R *.dfm}

procedure TFScreen.FormCreate(Sender: TObject);
begin

if InetIsOffline(0) then
ShowMessage('Jestem offline') else
ShowMessage('Jestem online');

end;

end.

0

function InetIsOffline(Flag: Integer): Boolean; stdcall;
external 'URL.DLL';
implementation
if InetIsOffline(0) then
ShowMessage('Jestem offline') else
ShowMessage('Jestem online');

np. w OnCreate w formie

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Gauges, StdCtrls;

type
TFScreen = class(TForm)
Label1: TLabel;
Gauge1: TGauge;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
FScreen: TFScreen;

implementation

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

{$R *.dfm}

procedure TFScreen.FormCreate(Sender: TObject);
begin

if InetIsOffline(0) then
ShowMessage('Jestem offline') else
ShowMessage('Jestem online');

end;

end.
Brak pliku URL.dll to wszystko musisz umieścić w takim pliku a nastepnie wczytać z poziomu programu!!.

0

Brak pliku URL.dll to wszystko musisz umieścić w takim pliku a nastepnie wczytać z poziomu programu!!.

Nie kumam co mam umieścić w bibliotece url.dll [???]

0

Kod który przedstawiłeś nie będzie aktualizowany nawet jak odłączysz się od sieci. Warunek jest sprawdzany tylko raz, przy starcie programu (onCreate). Wstaw ten kod do np timera, z interwałem 10 s.

0

Kod który przedstawiłeś nie będzie aktualizowany nawet jak odłączysz się od sieci. Warunek jest sprawdzany tylko raz, przy starcie programu (onCreate). Wstaw ten kod do np timera, z interwałem 10 s.

mi chodzi o to że to nie działa nawet jak odłącze się od sieci
i uruchomie program to niby jestem on-line a nie jestem,

a program z założenia ma sprawdzać połączenie tylko przy starcie...

0

Osobiście proponowałbym abyś użył - do sprawdzania połączenia z Internetem - komponentu INetDetector. Powinieneś go znaleźć na tej stronie.
Możesz wpisać taki kod do procedury OnChanged tego komponentu:

case INetDetector1.Online of
True: Label1.Caption := 'sieć: połączono'; {tutaj możesz wpisać dowolną operację do wykonania}
False: Label1.Caption := 'sieć: brak połączenia'; {tu też}
end;

Jeśli nie masz komponentu lub nie możesz go znaleźć to podaj adres swojej poczty to Ci go wyślę.

0

Jeśli nie masz komponentu lub nie możesz go znaleźć to podaj adres swojej poczty to Ci go wyślę.

no twój opis jest najkrótszy ;] im krótszy tym lepszy
jak możesz wyślij mi ten komponent na mail: [email protected]

1 użytkowników online, w tym zalogowanych: 0, gości: 1