29. august 2001 - 22:07Der er
11 kommentarer og 1 løsning
LAN-check
Hvordan checker jeg om jeg er online på nettet. Ikke internettet, men et ganske almindeligt netværk. Det må kunne lade sig gøre uden at pinge noget som helst.
Jeg vil helst ikke installere en eller anden komponent. Jeg vil gerne bede om source-kode.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
I har ret i at man kan gøre sådan, men det skal være den rene programmering. Ikke disse hovsa-løsninger. Det er til et lille program som skal køre på over 40 computere og holde øje med om de er på nettet. Når de så er på nettet skal programmet tilkoble disse computere til de ønskede shares og køre net-opdateringer af enhver art. Det skal ske ca. hvert minut det check. Prøv at forestille dig at man skal køre ipconfig hvert minut.
domi>Du havde helt ret i at man kan gøre det sådan, men i et professionelt netværk gør man ikke sådan noget. :)
type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
Function ConnectionKind :boolean; var flags: dword; begin Result := InternetGetConnectedState(@flags, 0); if Result then begin if (flags and INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN then begin Result := True; end else begin Result := False; end
end; end;
procedure TForm1.Button1Click(Sender: TObject); begin if ConnectionKind = true then Showmessage(\'der er netwærk\') else Showmessage(\'der er ikke netwærk\') end;
ziron>Denne har jeg prøvet. Jeg kører W2K og hvis jeg tager lan-kablet ud af min klap-sammen PC og prøver igen, får jeg af vide at den stadig er connec\'tet. Hmmm.
type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
function LocalIP : String; type TArrayPInAddr = array [0..10] of PInAddr; PArrayPInAddr = ^ TArrayPInAddr; var phe : PHostEnt; pptr : PArrayPInAddr; Buffer : array [0..63] of char; i : integer; GInitData: TWSADATA; begin WSAStartup($101, GInitData); result := \'\'; GetHostName(Buffer, sizeof(Buffer)); phe := GetHostByName(Buffer); if phe=nil then begin exit end; pptr := PArrayPInAddr(phe^.h_addr_list); i := 0; while pptr^[i]<>nil do begin result := StrPas(inet_ntoa(pptr^[i]^)); Inc(i); end; WSACleanup; end;
Function ConnectionKind :boolean; var flags: dword; begin Result := InternetGetConnectedState(@flags, 0); if Result then begin if (flags and INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN then begin Result := True; end else begin Result := False; end
end; end;
procedure TForm1.Button1Click(Sender: TObject); begin if ConnectionKind = true then begin if LocalIP = \'127.0.0.1\' then begin Showmessage(\'der er ikke netwærk\') end else begin ShowMessage(\'der er netwærk\'); end end else begin Showmessage(\'der er ikke netwærk\') end; end;
jamen det var da så lidt og håber du kunne bruge det. og jeg takker for point :-)
/ZIRON
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.