uses
Winsock, Windows;
var
ip:String;
Nombrepc:String;
procedure ipynombre;
var
Nombre: String;
DatosSocket: WSAData;
BloqueIP: PHostEnt;
DirIP: in_addr;
begin
WSAStartup($0101, DatosSocket); // Inicializamos Windows sockets
SetLength(Nombre, MAX_PATH); // y obtenemos el nombre de nuestro equipo
gethostname(PChar(Nombre), MAX_PATH);
// que usamos para obtener un bloque de información sobre IP
BloqueIP := gethostbyname(PChar(Nombre));
// del cual recuperamos la dirección
CopyMemory(@DirIP, (BloqueIP^).h_addr_list^, BloqueIP.h_length);
Ip:= inet_ntoa(DirIP);
Nombrepc:= Trim(Nombre);
ShowMessage(Ip); // y la mostramos
ShowMessage (Nombrepc);
end;
procedure TLogear.Button1Click(Sender: TObject);
begin
ipynombre;
end;
Espero te ayude este codigo