Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1214 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Adresse IP sous Delphi 6

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Adresse IP sous Delphi 6

n°221221
vaudoo
Posté le 27-09-2002 à 11:41:31  profilanswer
 

Je cherche à obtenir l'adresse IP Internet de ma machine.
 
Actuellement, je ne parviens à récupérer que l'adresse IP locale.
 
Le but est de m'envoyer un mail à chaque fois que mon adresse ADSL est modifiée.
 
... à moins qu'un petit soft existe déjà ???

mood
Publicité
Posté le 27-09-2002 à 11:41:31  profilanswer
 

n°221229
[SDF]Poire
Vive Grumly
Posté le 27-09-2002 à 11:56:45  profilanswer
 

unit IP1;
 
interface
 
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, winsock, Trayicon, Menus;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    TrayIcon1: TTrayIcon;
    PopupMenu1: TPopupMenu;
    Quitter1: TMenuItem;
    procedure Button1Click(Sender: TObject);
    procedure TrayIcon1DblClick(Sender: TObject);
    procedure Quitter1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Cacher(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;
 
var
  Form1: TForm1;
  procedure GetHostInfo(var Name, Address: string);
 
implementation
 
{$R *.DFM}
 
procedure GetHostInfo(var Name, Address: string);
var
  WSAData: TWSAData;
  HostEnt: PHostEnt;
begin
  { no error checking...}
  WSAStartup(2, WSAData);
  SetLength(Name, 255);
  Gethostname(PChar(Name), 255);
  SetLength(Name, StrLen(PChar(Name)));
  HostEnt := gethostbyname(PChar(Name));
  with HostEnt^  do
    Address := Format('%d.%d.%d.%d',[
      Byte(h_addr^[0]),  
      Byte(h_addr^[1]),
      Byte(h_addr^[2]),  
      Byte(h_addr^[3])]);
  WSACleanup;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  S, n : String;
begin
  GetHostInfo(n, S);
  Label2.Caption := S;
  Label4.Caption := n;
end;
 
procedure TForm1.TrayIcon1DblClick(Sender: TObject);
begin
  Visible := True;
end;
 
procedure TForm1.Quitter1Click(Sender: TObject);
begin
  Close;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
var
  S, n : String;
begin
  Application.OnMinimize := Cacher;
  GetHostInfo(n, S);
  Label2.Caption := S;
  Label4.Caption := n;
  TrayIcon1.Active := True;
  TrayIcon1.ToolTip := 'Host : ' + n + chr(13) + 'IP : ' + S;
end;
 
procedure TForm1.Cacher(Sender: TObject);
begin
  Visible := False;
end;
 
end.


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°221233
Olyv
Posté le 27-09-2002 à 11:59:37  profilanswer
 

Poire tu as oublié de donner le .dfm.
 
 :pt1cable:


---------------
La mort... c'est un peu comme la connerie. Le mort, lui, il ne sait pas qu'il est mort... ce sont les autres qui sont tristes. Le con, c'est pareil... (Le Chat)
n°221237
[SDF]Poire
Vive Grumly
Posté le 27-09-2002 à 12:02:28  profilanswer
 

Olyv a écrit a écrit :

Poire tu as oublié de donner le .dfm.
 
 :pt1cable:  




 :kaola:  
 
Pour récupéré la liste des ip (rezo + net par exemple) :


procedure GetIPList(ToList : TStrings);
type
  TaPInAddr = array [0..255] of PInAddr;
  PaPInAddr = ^TaPInAddr;
var
  pptr: PaPInAddr;
  I: Integer;
  HostEnt: PHostEnt;
  Name: String;
  WSAData: TWSAData;
begin
  WSAStartup(2, WSAData);
  SetLength(Name, 255);
  Gethostname(PChar(Name), 255);
  SetLength(Name, StrLen(PChar(Name)));
  HostEnt := gethostbyname(PChar(Name));
  if HostEnt <> nil then
  begin
    pptr := PaPInAddr(HostEnt^.h_addr_list);
    I := 0;
    while pptr^[I] <> nil do begin
      ToList.Add(StrPas(inet_ntoa(pptr^[I]^)));
      Inc(I);
    end;
  end;
  WSACleanup;
end;


 
Si derrière routeur C mort :(  
 
 :hello:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°221238
antp
Super Administrateur
Champion des excuses bidons
Posté le 27-09-2002 à 12:02:35  profilanswer
 

vaudoo a écrit a écrit :

 
Actuellement, je ne parviens à récupérer que l'adresse IP locale.




 
si t'es derrière un routeur y a pas moyen d'avoir l'adresse publique, à moins d'interroger le routeur ou d'interroger un serveur web qui te reverrait ton adresse (une bête page php sur ton site par ex)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°221239
[SDF]Poire
Vive Grumly
Posté le 27-09-2002 à 12:04:07  profilanswer
 

antp a écrit a écrit :

 
 
si t'es derrière un routeur y a pas moyen d'avoir l'adresse publique, à moins d'interroger le routeur ou d'interroger un serveur web qui te reverrait ton adresse (une bête page php sur ton site par ex)




Grilled  :kaola:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°221240
antp
Super Administrateur
Champion des excuses bidons
Posté le 27-09-2002 à 12:06:36  profilanswer
 

pas grilled du tout puisque moi j'explique +/- comment résoudre le problème :fuck:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°221244
[SDF]Poire
Vive Grumly
Posté le 27-09-2002 à 12:09:47  profilanswer
 

antp a écrit a écrit :

pas grilled du tout puisque moi j'explique +/- comment résoudre le problème :fuck:




plutôt - que + d'ailleur  :p  
Et puis tu C même pas s'il a un routeur  :na:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°221264
antp
Super Administrateur
Champion des excuses bidons
Posté le 27-09-2002 à 12:32:07  profilanswer
 

ma phrase commençait par "si"
et vu qu'il parle d'adresse "locale"...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°221274
[SDF]Poire
Vive Grumly
Posté le 27-09-2002 à 12:42:26  profilanswer
 

antp a écrit a écrit :

ma phrase commençait par "si"
et vu qu'il parle d'adresse "locale"...  




Beh s'il partage sa com il a 2 adresses ip celle du rezo et celle du net
et il peut récup les 2 grace au code que G filé


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
mood
Publicité
Posté le 27-09-2002 à 12:42:26  profilanswer
 

n°221323
vaudoo
Posté le 27-09-2002 à 14:17:19  profilanswer
 

Je trouve où les composants nécessaires pour ces déclarations ?
 WSAData: TWSAData;
 HostEnt: PHostEnt;
 

n°221325
antp
Super Administrateur
Champion des excuses bidons
Posté le 27-09-2002 à 14:20:28  profilanswer
 

uses winsock, cf premier post de Poire


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°221360
vaudoo
Posté le 27-09-2002 à 14:41:01  profilanswer
 

Désolé... j'avais pas tout pris car je cherchais à comprendre le fonctionnement.
 
Ca marche...  
 
Merci

n°221381
[SDF]Poire
Vive Grumly
Posté le 27-09-2002 à 14:55:22  profilanswer
 

2 rien


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°222456
Je@nb
Kindly give dime
Posté le 01-10-2002 à 17:50:33  profilanswer
 

D'après la doc msdn :  
 
How does my existing Windows Sockets for IPv4 code need to be modified to support IPv6?The Microsoft IPv6 Technology Preview for Windows 2000 includes a tool called Checkv4.exe. Checkv4.exe scans source code files to identify code that needs to be changed to support IPv6. Checkv4 displays the line number and a message recommending how the code should be changed. Here is an example of Checkv4.exe output:  
 
test.c(35) : gethostbyname : use getaddrinfo instead
test.c(40) : gethostbyaddr : use getnameinfo instead
test.c(48) : SOCKADDR_IN : use SOCKADDR_STORAGE instead, or use SOCKADDR_IN6 in addition for IPv6 support
test.c(57) : AF_INET : use AF_INET6 in addition for IPv6 support
test.c(89) : inet_addr : use WSAStringToAddress or getaddrinfo with AI_NUMERICHOST instead
 
Checkv4.exe is found in the \bin folder in the location where the IPv6 Technology Preview files were extracted. Checkv4.exe is not copied to the %systemroot%\system32 directory.
 
 
Donc utilise de pref getnameinfo si tu veux que ton apps soit un minimum comptatible v6, mais il i peutetre d'autres erreurs

n°222520
[SDF]Poire
Vive Grumly
Posté le 01-10-2002 à 21:02:26  profilanswer
 

:pt1cable:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°222522
Je@nb
Kindly give dime
Posté le 01-10-2002 à 21:07:19  profilanswer
 

Non non, fo mettre ses applis dans la prospérités !!!!!
Pensez à nous, béta testeurs de l'ipv6, si on peut rien utilisé ça ne se démocratisera jamais !!!!

n°222581
[SDF]Poire
Vive Grumly
Posté le 01-10-2002 à 23:39:50  profilanswer
 

rab :D
 
 :hello:


Message édité par [SDF]Poire le 01-10-2002 à 23:40:01

---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°222582
Je@nb
Kindly give dime
Posté le 01-10-2002 à 23:43:27  profilanswer
 

sve dire koi rab ?

n°222609
[SDF]Poire
Vive Grumly
Posté le 02-10-2002 à 01:02:47  profilanswer
 

Je@nb a écrit a écrit :

sve dire koi rab ?




Je te laisse chercher :D


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°222885
Je@nb
Kindly give dime
Posté le 02-10-2002 à 19:25:41  profilanswer
 

:fuck: g pas que ça à faire :D  :fuck:

n°223016
[SDF]Poire
Vive Grumly
Posté le 03-10-2002 à 00:57:16  profilanswer
 

Je@nb a écrit a écrit :

 :fuck: g pas que ça à faire :D  :fuck:  




oh qu'il est méchant  :kaola:  
 
ça veut dire rien à battre  :fuck:  
 
 
 :hello:


Message édité par [SDF]Poire le 03-10-2002 à 00:57:32

---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°223105
Je@nb
Kindly give dime
Posté le 03-10-2002 à 12:48:26  profilanswer
 

merci  :jap:   :lol:

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Adresse IP sous Delphi 6

 

Sujets relatifs
Icone dans la barre d'adresse de Mozilla...[Delphi] Lecture de fichier
[Delphi]Print en blanc avec Delphi 2 / NT 4Comment faire en sorte que l'adresse complète n'apparaisse pas ??
[DELPHI]Comment avoir un event KeyDown sans etre dans une form[Delphi] Probleme de pascal
faire disparaitre l'adresse suite à une impresssion de page WebRécupérer l'adresse IP du client [Cold Fusion]
[Delphi] Sauvegarde d'une font...[Résolu][Delphi] Déplacement de fenetre a la souris [Résolu]
Plus de sujets relatifs à : Adresse IP sous Delphi 6


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR