Das ist aus dem "Easy Delphi Helper". Vielleicht hilft dir das ja weiter.
Zitat:
IP-Adresse über den Computernamen herausfinden
Die untenstehende Routine liest die
IP-Adresse aus dem Computernamen aus. Der entscheidende Bestandteil ist die Funktion GetHostByName.
Delphi-Quellcode:
Uses
WinSock;
FUNCTION GetIpAddressByName(const AComputerName: STRING): STRING;
VAR
TMPResult: STRING;
WSA: TWSAData;
H: PHostEnt;
P: PChar;
BEGIN
IF WSAStartUp($101, WSA) = 0 THEN
BEGIN
GetMem(P,255 + 1);
StrPCopy(P, ComputerName);
H:=GetHostByName(P);
FreeMem(P);
IF H <> NIL THEN
BEGIN
P:=inet_ntoa(PInAddr(H^.h_addr_list^)^);
TMPResult:=StrPas(P)
END;
WSACleanUp;
IF TMPResult <> '' THEN
Result:=TMPResult
ELSE
Result:= '0';
END;
END;
Ein Aufruf könnte so aussehen:
Delphi-Quellcode:
Procedure Tform1.Button1Click(Sender: Tobject);
Begin
Edit2.Text:= GetIpAddressByName(Edit1.Text);
End;