Entwickler-Ecke

Internet / Netzwerk - IP mit einem Delphi Programm anzeigen lassen?


pHaRyNx - Di 06.12.05 16:32
Titel: IP mit einem Delphi Programm anzeigen lassen?
tach!
Wollte mal ein Programm in Delphi coden, dass einem seine eigene IP anzeigt. Gibt dafür irgendwelche vordefinierten Funktionen oder muss man sowas umständlich selber schreiben? Wie sieht das in etwa aus?
mfg pHaRyNx


Moderiert von user profile iconChristian S.: Topic aus Off Topic verschoben am Di 06.12.2005 um 15:34


chrisw - Di 06.12.05 16:34


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
function GetLocalIpAddress: string;
var phoste: PHostEnt;
  Buffer: array [0..100of char;
  WSAData: TWSADATA;
begin
  result:='';
  if WSAStartup($0101, WSAData) <> 0 then exit;
  GetHostName(Buffer,Sizeof(Buffer));
  phoste:=GetHostByName(buffer);
  if phoste = nil then result:='127.0.0.1'
  else result:=StrPas(inet_ntoa(PInAddr(phoste^.h_addr_list^)^));
  WSACleanup;
end;


pHaRyNx - Di 06.12.05 16:42

ok, besten dank für die schnelle und hilfreiche antwort!


Delete - Di 06.12.05 16:44

Ganz so Trivial ist es leider nicht.

Siehe hier: http://www.delphi-forum.de/viewtopic.php?t=35848&postdays=0&postorder=asc&highlight=hinter+router&start=0

Ich habe gerade ein ähnliches Problem. Sobald ein Router ins Spiel gibt es Probleme.


PLuS - Di 06.12.05 16:58

Ist nicht ganz sauber, aber es funktioniert:

Mit der HTTP-Komponente der Indys zum Beispiel die Seite http://www.whatismyip.com downloaden und sich die IP aus dem Fenstertitel zum Beispiel suchen!


MfG
PLuS


reepo2k - Di 06.12.05 17:26

Also ich hab es in einem Programm von mir so gemacht:
Eine PHP datei bei mir auf dem server mit folgendem Inhalt

Quelltext
1:
2:
3:
<?php
 echo "$REMOTE_ADDR";
?>

Die Datei habe ich ip.php genannt.

Und der Code im Delphi:

Delphi-Quelltext
1:
Label2.Caption := IdHTTP1.Get('http://www.reepo2k.de/ProgrammData/ip.php');                    

Dabei wird die IP in ein label geschreiben, natürlich kann man da auch was anderes machen.
Und du musst natürlich noch die Komponente IdHTTP von Indy auf deine Form klatschen.


MfG: reepo2k


PS: Wenn du keinen eigenen Server hast, kannst du auch die Datei von meinem Srver nehmen.