Ver Mensaje Individual
  #10  
Antiguo 11-08-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Reputación: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Metí un tanto la pata... puesto que, si ya no se piensa devolver un tipo "TStrings" con la función, ¿a qué utilizarlo entonces, pudiendo utilizar directamente una cadena? Así tal cual:

Código Delphi [-]
  function getIPs: string;
 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
   Result := '';
   WSAStartup($101, GInitData);
   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
     if Result = '' then
       Result := (inet_ntoa(pptr^[i]^))
     else
       Result := ' $$ ' + (inet_ntoa(pptr^[i]^);     
     Inc(I);
   end;
   WSACleanup;
 end;
Eso que nos ahorramos, ¿no te parece?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita