- * http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iphlp/iphlp/getipaddrtable.asp
- * les adresses IP de la machine
-
- DECLARE INTEGER GetIpAddrTable IN iphlpapi;
- STRING @ pIpAddrTable,;
- INTEGER @ pdwSize,;
- INTEGER bOrder
- DECLARE STRING inet_ntoa IN ws2_32 INTEGER in_addr
-
- pdwSize =0
- =GetIpAddrTable (NULL, @pdwSize, 1)
-
- pIpAddrTable = REPLICATE(CHR(0), pdwSize)
- =GetIpAddrTable (@pIpAddrTable, @pdwSize, 1)
-
- nombre = buf2dword(SUBSTR(pIpAddrTable, 1, 4))
-
- FOR i=1 TO nombre
- Adresse = INET_NTOA(buf2dword(SUBSTR(pIpAddrTable, 5 + (i-1)*24, 4)))
- Masque = INET_NTOA(buf2dword(SUBSTR(pIpAddrTable, 13 + (i-1)*24, 4)))
- ? adresse + "/" + masque
- Next
-
- FUNCTION buf2dword(cBuffer)
- RETURN Asc(SUBSTR(cBuffer, 1,1)) + ;
- Asc(SUBSTR(cBuffer, 2,1)) * 256 +;
- Asc(SUBSTR(cBuffer, 3,1)) * 65536 +;
- Asc(SUBSTR(cBuffer, 4,1)) * 16777216
* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iphlp/iphlp/getipaddrtable.asp
* les adresses IP de la machine
DECLARE INTEGER GetIpAddrTable IN iphlpapi;
STRING @ pIpAddrTable,;
INTEGER @ pdwSize,;
INTEGER bOrder
DECLARE STRING inet_ntoa IN ws2_32 INTEGER in_addr
pdwSize =0
=GetIpAddrTable (NULL, @pdwSize, 1)
pIpAddrTable = REPLICATE(CHR(0), pdwSize)
=GetIpAddrTable (@pIpAddrTable, @pdwSize, 1)
nombre = buf2dword(SUBSTR(pIpAddrTable, 1, 4))
FOR i=1 TO nombre
Adresse = INET_NTOA(buf2dword(SUBSTR(pIpAddrTable, 5 + (i-1)*24, 4)))
Masque = INET_NTOA(buf2dword(SUBSTR(pIpAddrTable, 13 + (i-1)*24, 4)))
? adresse + "/" + masque
Next
FUNCTION buf2dword(cBuffer)
RETURN Asc(SUBSTR(cBuffer, 1,1)) + ;
Asc(SUBSTR(cBuffer, 2,1)) * 256 +;
Asc(SUBSTR(cBuffer, 3,1)) * 65536 +;
Asc(SUBSTR(cBuffer, 4,1)) * 16777216