Bonjour,
Avec Delphi 10.2 et Windows, j'aimerai obtenir l'adresse ip local sur lequel le programme s'exécute, j'ai essayé la fonction qui est indiqué dans la FAQ mais cela ne fonctionne pas, il ne connait pas TCustomIpClient.
Bonjour,
Avec Delphi 10.2 et Windows, j'aimerai obtenir l'adresse ip local sur lequel le programme s'exécute, j'ai essayé la fonction qui est indiqué dans la FAQ mais cela ne fonctionne pas, il ne connait pas TCustomIpClient.
La clause uses est-elle à jour?
J'ai essayé :
sans succès...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3uses Sockets, WinSock, System.Win.ScktComp,
Bonjour
Est-ce que :http://docwiki.embarcadero.com/RADSt...posants_socket peut t'aider ?
A+
Bonjour,
De quelle adresse IP parle t-on : adresse IP du FAI, ou adresse IP du réseau local ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 function RetourneAdresseIP(var StNomPoste: AnsiString; bDec: boolean) : AnsiString; var WS1: TWSAData; zSt1: PAnsiChar; HE1: Phostent; begin if WSAStartup($101, WS1) = 0 then { Version 1.1 =$101, 2=$0002,... } begin New(zSt1); Gethostname(zSt1, 255); if StNomPoste <> '' then zSt1 := PAnsiChar(StNomPoste); StNomPoste := zSt1; HE1 := gethostbyname(zSt1); with HE1^ do if bDec then result := Format('%d.%d.%d.%d', [Byte(h_addr_list^[0]), Byte(h_addr_list^[1]), Byte(h_addr_list^[2]), Byte(h_addr_list^[3])]) else result := IntToHex(Byte(h_addr_list^[0]), 2) + IntToHex(Byte(h_addr_list^[1]), 2) + IntToHex(Byte(h_addr_list^[2]), 2) + IntToHex(Byte(h_addr_list^[3]), 2); // Dispose(zSt1); end; WSACleanup; end;
Bonjour et merci à tous pour vos réponses !
J'ai finalement opté pour la seconde solution dans la FAQ mais je ne l'ai pas encore testé, sinon j'opterai pour la solution de ALWEBER.
Bonjour
Ça peut aider peut-être.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 function TMonApplication.getIpAddress: string; var AAddresses: TIdStackLocalAddressList; Adresses : TIdStackLocalAddress; begin AAddresses:= TIdStackLocalAddressList.Create; TIdStack.IncUsage; Try try GStack.GetLocalAddressList(AAddresses); // On choisi la dernière adresse des cartes réseaux. Adresses:= AAddresses.Addresses[AAddresses.count-1]; result:= Adresses.IPAddress; finally TIdStack.DecUsage; end; Finally Adresses.Free; AAddresses.Free; End; end;
Cordialement
André
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager