Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IP Adressen im Netzwerk (https://www.delphipraxis.net/58574-ip-adressen-im-netzwerk.html)

Bigmichi 9. Dez 2005 06:24


IP Adressen im Netzwerk
 
Hallo Leute,

natürlich habe ich schon gesucht wie ein wilder =( Ergebnisslos...
Ich habe nur gefunden wie ich die PCNamen sprich die im Netzwerk so eißen anzeigen...
Mein Problem ist aber ich brauche die IPS nicht nur die Namen -.- kann mir da jemand helfe ?

Hier im Board findet man nur wie scon gesagt die Methode wie man alle PCNamen im Netzwerk finden kann...

Danke =)

Sharky 9. Dez 2005 06:49

Re: IP Adressen im Netzwerk
 
Hai Bigmichi,

mit dieser Funktion solltest Du den Namen in die IP auflösen können:
Delphi-Quellcode:
function GetIpAddress(aComputer: string): string;
var
  pHost: PHostEnt;
  WSAData: TWSADATA;
begin
  Result := '';
  if WSAStartup($0101, WSAData) <> 0 then
  begin
    exit
  end;
  pHost := GetHostByName(PAnsiChar(aComputer));
  if pHost = nil then
  begin
    Result := '127.0.0.1'
  end
  else
  begin
    Result := StrPas(inet_ntoa(PInAddr(pHost^.h_addr_list^)^))
  end;
  WSACleanup;
end;

procedure TForm1.btn_Button1Click(Sender: TObject);
begin
  ShowMessage(GetIpAddress(edt_Edit1.Text));
end;

Bigmichi 9. Dez 2005 08:17

Re: IP Adressen im Netzwerk
 
Aber würde daas nicht zu hohen Traffic verursachen wenn ich erst so 2000 Rechner Nach den Host frage und dan die Ip auflöse ?? oder ist das egal wenn ja dan danke ich euch schonmal herzlich =)

Bigmichi 12. Dez 2005 06:38

Re: IP Adressen im Netzwerk
 
Hey Leute,

hab den code nun ausprobiert:
http://www.delphipraxis.net/internal...ect.php?t=6894

nur irgendwie hängt sich das Programmm immer auf wenn ich das aufrufe -.- habt ihr da ne Idee ?

Oder anderen Code der das gleiche macht ? o.O

Bin am verzweifeln o.O

Danke

Bigmichi 12. Dez 2005 08:09

Re: IP Adressen im Netzwerk
 
Nach längerem Warten hat das Programm es doch geschafft die 2000 PC anzuzeigen -.-

dauert echt ewig =/

gibt es eine Möglichkeit zu sagen das er net hängen bleibt beim ausführen sprich das die Liste gefüllt wird aber das Programm dabei net hängt ?

mumu 12. Dez 2005 08:23

Re: IP Adressen im Netzwerk
 
Application.ProcessMessages in die Schleife einbauen oder besser noch in einen Thread auslagern siehe Luckies Thread Tutorial

Bigmichi 12. Dez 2005 09:52

Re: IP Adressen im Netzwerk
 
Zu der Funktion wo die IP herausgefunden wird...

Die funktioniert net da er die typen garnet kennt -.-

[Error] Unit1.pas(35): Undeclared identifier: 'PHostEnt'
[Error] Unit1.pas(36): Undeclared identifier: 'TWSADATA'
[Error] Unit1.pas(39): Undeclared identifier: 'WSAStartup'
usw...

Kann mir da jemand nochmal helfen ?

FriFra 12. Dez 2005 10:07

Re: IP Adressen im Netzwerk
 
Zitat:

Zitat von Bigmichi
gibt es eine Möglichkeit zu sagen das er net hängen bleibt beim ausführen sprich das die Liste gefüllt wird aber das Programm dabei net hängt ?

Ja, die gibt es. Application.Processmaessages ist allerdings IMHO der schlechtere Weg...
Ich würde die Funktion in einen Thread auslagern. Du könntest die Arbeit auch aufteilen und gleich mehrere Threads drauf ansetzen. Der Thread kann dann aus dem Hintergrund die entspr. Liste deines Hauptthreads befüllen und Du könntest "vorn" normal weiterarbeiten, als wenn nichts wäre.

Luckie 12. Dez 2005 10:17

Re: IP Adressen im Netzwerk
 
Zitat:

Zitat von Bigmichi
Zu der Funktion wo die IP herausgefunden wird...

Die funktioniert net da er die typen garnet kennt -.-

[Error] Unit1.pas(35): Undeclared identifier: 'PHostEnt'
[Error] Unit1.pas(36): Undeclared identifier: 'TWSADATA'
[Error] Unit1.pas(39): Undeclared identifier: 'WSAStartup'
usw...

Kann mir da jemand nochmal helfen ?

Du musst wahrscheinlich noch die Unit WinInet oder WinSock(s?) einbinden.

Bigmichi 12. Dez 2005 12:31

Re: IP Adressen im Netzwerk
 
Hey Leute danke schonmal geht bisher =)

Aber...

Habt ihr eine Idee, da das alles ja ziemlich lange dauert bis die lsite da ist und wenn ich immer den aktuellen status haben will geht das ja schlecht da hab ich mir gedacht ich les es 1 mal beim start und dan vllt könnte man die Domain imemr abfragen ob einer dazu gekommen ist oder nicht ?

Wäre echt nett wenn ihr mit vielleicht Tips geben könntet =))


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:49 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz