Forums | Contact | Plan du site Menu Accueil » Programmation

Récupérer l'IP avec Delphi

Tout d'abord, ajouter la classe Winsock

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Winsock;

Ajouter ensuite le code ci-dessous dans l'une de vos procédures (ici Button1Click)
Notez qu'ici, l'IP est stocké dans la variable ip_machine

procedure TForm1.Button1Click(Sender:TObject);

type
  TaPInAddr = array [0..10] of PInAddr;
  PaPInAddr = ^TaPInAddr;
var
  phe : PHostEnt;
  pptr : PaPInAddr;
  Buffer : array [0..63] of char;
  I       : Integer;
  GInitData           : TWSADATA;
  ip_machine:string;
begin
  WSAStartup($101, GInitData);
  ip_machine := '';
  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
      // l'IP est stockée ci-dessous
      ip_machine := StrPas(inet_ntoa(pptr^[I]^));
      Inc(I);
  end;
  WSACleanup;

end;

Des questions ? Rejoignez nous sur le forum...


Une question ? Venez échanger sur le forum...
Nom :
Sujet :
 

© Cédric MICHEL - conseil & création ( 2003 / 2019 )