Autor Beitrag
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: So 11.04.04 09:46 
Hallo Leute,
hier mal was ganz simples; wie krieg ich ein DNS Namen raus ?
Funktion liefert allerdings nur den ersten Eintrag zurück falls es mehrere gibt
Hab ich irgentwo gelesen, gebraucht und etwas umgeschrieben.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
// uses WinSock; // nicht vergessen
function GetDNSLookup(IPAddress:String):String;
var
   WSAData   : TWSAData;
   Socket       : TSockAddrIn;

begin
  result:=''// default is empty
  if WSAStartup(MAKEWORD(2,0),WSAData)=0 then begin
    Socket.sin_addr.S_addr := inet_addr(PChar(S));
    HostEnt:=gethostbyAddr(@Socket.sin_addr.S_addr,SizeOf(Socket.sin_addr.S_addr),AF_INET);
    result:=StrPas(HostEnt^.h_name);
    WSACleanup;
  end;
end;



grez
msch

_________________
ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
obbschtkuche
Gast
Erhaltene Danke: 1



BeitragVerfasst: So 11.04.04 11:42 
Und so funktioniert's auch: ;)

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
function GetDNSLookup(IPAddress:String):String;
var
 WSAData: TWSAData;
 Socket: TSockAddrIn;
begin
 result:=''// default is empty
 if WSAStartup(MAKEWORD(2,0),WSAData)=0 then
 begin
  Socket.sin_addr.S_addr := inet_addr(PChar(IPAddress));
  result:=StrPas(gethostbyAddr(@Socket.sin_addr.S_addr,SizeOf(Socket.sin_addr.S_addr),AF_INET)^.h_name);
  WSACleanup;
 end;
end;