Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Como obtener el IP público de conexión de Internet (https://www.clubdelphi.com/foros/showthread.php?t=10044)

JDNA 09-05-2004 04:35:53

Como obtener el IP público de conexión de Internet
 
Necesito ayuda para saber como se puede saber cual es el IP de Internet de una máquina cuando se a conectado a Internet, en las conexiones dial-up los IPs generalmente son dinámicos y no son los mismos cada vez que nos conectamos a intenet y no se si habrá alguna forma de saber ese IP, no el IP local, el que necesito es el IP públco.

Paoti 09-05-2004 04:49:57

dirrecion IP
 
-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:


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:


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:

Código:

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



obtenido de trucomania para delphi www.q3.nu/trucomania/

espero te sirva




nos vemos

JDNA 09-05-2004 18:18:42

Gracias si funciona
 
Muchas gracias si funciona, pero quisiera saber como supiste como se hacia, he buscado la ayuda de los comandos y no hay en ningún lado. Otra pregunta como puedo saber que funciones tiene una DLL.

CHiCoLiTa 14-05-2004 13:39:24

Esa solucion te daria la direccion IP, en caso de no tener tarjeta de red.
Si estas dentro de una red local, con ese ejemplo que te han comentado obtendrias tu IP de red, no la de internet.

Todas esas funciones estan en en winsock

guillotmarc 14-05-2004 13:51:26

Cita:

Empezado por JDNA
pero quisiera saber como supiste como se hacia, he buscado la ayuda de los comandos y no hay en ningún lado.

Cita:

Empezado por Paoti
obtenido de trucomania para delphi www.q3.nu/trucomania/

Saludos.





.

Paoti 15-05-2004 01:40:13

Hola!!! para la ayuda de estas funciones, no las vas a encontrar en Delphi directamente



pertenecen al Api de Windows, si tienes delphi 6 ... 7 en el menu help, encontraras la opcion "windows SDK" o directamnete del MSND....



P.S. Imaginenese si estuvieramos en VB, tendriamos que declarar manualmante los encabezados de todas estas funciones....


Que esten bien!


La franja horaria es GMT +2. Ahora son las 04:28:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi