Ver Mensaje Individual
  #2  
Antiguo 17-10-2005
RazoR RazoR is offline
Miembro
 
Registrado: sep 2005
Posts: 23
Reputación: 0
RazoR Va por buen camino
Fijate en el truco #82 de Trucomania.

Cita:
Si no quieres complicarte la vida, usa el componente TCP que tienes en la paleta de componentes de
internet y bastará con que leas sus propiedades LocalHostName y LocalIp

Por ejemplo:




Memo1.Lines.Add(TCP1.LocalHostName);
Memo1.Lines.Add(TCP1.LocalIp);





Si no quieres usar el componente TCP puesto que es un OCX que luego da más complicaciones a la
hora de instalarlo en otra máquina... puedes usar este otro método para leerlo directamente:

-Crea una form (Form1) y pon en ella un TButton (Button1) y un TMemo (Memo1)
-Incluye 'Winsock' en la parte uses
-En el evento OnCreate de la form incluye éste código:



procedure TForm1.FormCreate(Sender: TObject);
var
wVersionRequested : WORD;
wsaData : TWSAData;
begin
{Start up WinSock}
wVersionRequested := MAKEWORD(1, 1);
WSAStartup(wVersionRequested, wsaData);
end;




-En el evento OnClick del Button1 pon este código:



procedure TForm1.Button1Click(Sender: TObject);
var
p : PHostEnt;
s : array[0..128] of char;
p2 : pchar;
begin
{Get the computer name}
GetHostName(@s, 128);
p := GetHostByName(@s);
Memo1.Lines.Add(p^.h_Name);
{Get the IpAddress}
p2 := iNet_ntoa(PInAddr(p^.h_addr_list^)^);
Memo1.Lines.Add(p2);
end;




-Finalmente, en el evento OnDestroy de la Form1 pon este código:



procedure TForm1.FormDestroy(Sender: TObject);
begin
{Shut down WinSock}
WSACleanup;
end;





y ya está...
Responder Con Cita