begin process at 2012 02 08 09:39:22
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > RÉCUPÉRER SON IP CORRESPONDANT A SON IP INTERNET

RÉCUPÉRER SON IP CORRESPONDANT A SON IP INTERNET


 Information sur la source

Note :
6,38 / 10 - par 8 personnes
6,38 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseau & Internet Niveau :Débutant Date de création :19/03/2003 Date de mise à jour :19/03/2003 00:44:53 Vu :8 784

Auteur : alexanderpopov

Ecrire un message privé
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Voici comment faire pour obtenir son adresse IP de l'interface connectée sur internet [qui peut être differente de l'IP local si vous avez plusieurs interfaces reseaux]

Source de cette article : http://delphi.about.com/library/weekly/aa103100a.h tm

l'article de fabiin pour obtenir son adresse local : http://www.delphifr.com/article.aspx?Val=49.

Source

  • uses Winsock;
  • function GetIPFromHost
  • (var HostName, IPaddr, WSAErr: string): Boolean;
  • type
  • Name = array[0..100] of Char;
  • PName = ^Name;
  • var
  • HEnt: pHostEnt;
  • HName: PName;
  • WSAData: TWSAData;
  • i: Integer;
  • begin
  • Result := False;
  • if WSAStartup($0101, WSAData) <> 0 then begin
  • WSAErr := 'Winsock is not responding."';
  • Exit;
  • end;
  • IPaddr := '';
  • New(HName);
  • if GetHostName(HName^, SizeOf(Name)) = 0 then
  • begin
  • HostName := StrPas(HName^);
  • HEnt := GetHostByName(HName^);
  • for i := 0 to HEnt^.h_length - 1 do
  • IPaddr :=
  • Concat(IPaddr,
  • IntToStr(Ord(HEnt^.h_addr_list^[i])) + '.');
  • SetLength(IPaddr, Length(IPaddr) - 1);
  • Result := True;
  • end
  • else begin
  • case WSAGetLastError of
  • WSANOTINITIALISED:WSAErr:='WSANotInitialised';
  • WSAENETDOWN :WSAErr:='WSAENetDown';
  • WSAEINPROGRESS :WSAErr:='WSAEInProgress';
  • end;
  • end;
  • Dispose(HName);
  • WSACleanup;
  • end;
  • procedure TForm1.Button1Click(Sender: TObject);
  • var
  • Host, IP, Err: string;
  • begin
  • if GetIPFromHost(Host, IP, Err) then begin
  • Edit1.Text := Host;
  • Edit2.Text := IP;
  • end
  • else
  • MessageDlg(Err, mtError, [mbOk], 0);
  • end;
uses Winsock; 

function GetIPFromHost
(var HostName, IPaddr, WSAErr: string): Boolean; 
type 
  Name = array[0..100] of Char; 
  PName = ^Name; 
var 
  HEnt: pHostEnt; 
  HName: PName; 
  WSAData: TWSAData; 
  i: Integer; 
begin 
  Result := False;     
  if WSAStartup($0101, WSAData) <> 0 then begin 
    WSAErr := 'Winsock is not responding."'; 
    Exit; 
  end; 
  IPaddr := ''; 
  New(HName); 
  if GetHostName(HName^, SizeOf(Name)) = 0 then
  begin 
    HostName := StrPas(HName^); 
    HEnt := GetHostByName(HName^); 
    for i := 0 to HEnt^.h_length - 1 do 
     IPaddr :=
      Concat(IPaddr,
      IntToStr(Ord(HEnt^.h_addr_list^[i])) + '.'); 
    SetLength(IPaddr, Length(IPaddr) - 1); 
    Result := True; 
  end
  else begin 
   case WSAGetLastError of
    WSANOTINITIALISED:WSAErr:='WSANotInitialised'; 
    WSAENETDOWN      :WSAErr:='WSAENetDown'; 
    WSAEINPROGRESS   :WSAErr:='WSAEInProgress'; 
   end; 
  end; 
  Dispose(HName); 
  WSACleanup; 
end; 



procedure TForm1.Button1Click(Sender: TObject); 
var 
  Host, IP, Err: string; 
begin 
  if GetIPFromHost(Host, IP, Err) then begin 
    Edit1.Text := Host; 
    Edit2.Text := IP; 
  end 
  else 
    MessageDlg(Err, mtError, [mbOk], 0); 
end; 




 Sources du même auteur

Source avec Zip FTP SHEDULER MULTITHREADS
Source avec Zip EXEMPLE COMPO. MYSQL - TTREEVIEW - POUR DAVIX123
Source avec Zip CALCULER LA VALEUR D'UN STRING '1+2*(4/2)' [MINI PARSEUR AVE...
Source avec Zip COMPOSANT MYSQL NOUVELLE VERSION + MYSQLLISTBOX
Source avec Zip MYSQL (COMPOSANT) : EXEMPLE AVEC UNE GRID

 Sources de la même categorie

Source avec Zip Source avec une capture PETITE APPLICATION DE TCHAT DANS UN RÉSEAU LOCALE par benimen
Source avec Zip Source avec une capture LOG DE PING POUR SURVEILLER LA QUALITÉ D'UNE CONNECTION par PhilLU
Source avec Zip GET IP AVEC INDY par Gerard
Source avec Zip GCS-FACEBOOK par pinkfloydhighopes
Source avec Zip Source avec une capture PINGNOW ADRESSE IP par mekhmoukhs

Commentaires et avis

Commentaire de iocha le 26/05/2004 14:36:04

Ca ne marche pas, cette fonction me renvoi l'adresse locale et pas celle internet
???

Commentaire de JulioDelphi le 31/10/2004 17:29:49 administrateur CS

idem, je suis derriere un routeur

Commentaire de Nero` le 19/11/2005 13:59:23

Bidon !!!
ça revois l'ip local :(

Commentaire de Bacterius le 16/03/2008 11:04:52

Ip Local, désolé :(

Cordialement, Bacterius !

Commentaire de powerf le 17/10/2008 23:03:25

ça revois l"ip local !!!!

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales