Ver Mensaje Individual
  #11  
Antiguo 11-08-2005
Antuan Antuan is offline
Miembro
 
Registrado: jul 2005
Ubicación: Madrid
Posts: 73
Reputación: 19
Antuan Va por buen camino
Esta es la que sirve

Esta que te pongo es la que sirve:
Código Delphi [-]
function getIPs: Tstrings;
 type
   TaPInAddr = array[0..10] of PInAddr;
   PaPInAddr = ^TaPInAddr;
 var
   phe: PHostEnt;
   pptr: PaPInAddr;
   Buffer: array[0..63] of Char;
   I: Integer;
   GInitData: TWSAData;
 begin
   WSAStartup($101, GInitData);
   Result := TstringList.Create;
   Result.Clear;
   GetHostName(Buffer, SizeOf(Buffer));
   phe := GetHostByName(buffer);
   if phe = nil then Exit;
   pPtr := PaPInAddr(phe^.h_addr_list);
   I    := 0;
   while pPtr^[i] <> nil do
   begin
     Result.Add(inet_ntoa(pptr^[i]^));
     Inc(I);
   end;
   WSACleanup;
 end;
De momento me devuelve una ip solo
Muchas gracias por cambiarme la funcion.
Tengo varias de este tipo y las tendre que cambiar.
Ya he cogido la forma de trabajar con el TString que es para variables de matriz por eso se representa en un TMemo o en un TList.
De ahi el haberte mandado ayer un correo con esta misma funcion para si podias hacerme un pequeño ejemplo del objeto rectangulo.
Con esta misma funcion original que el resultado lo da en un TMemo.
David muchas gracias y perdona por hacerte perder un poco el tiempo.
Responder Con Cita