|
发表于 2012-3-11 17:15:38
|
显示全部楼层
四川省成都市
取本机ip-----------------------
.版本 2
.数据类型 IPInfo
.成员 dwAddr, 整数型
.成员 dwIndex, 整数型
.成员 dwMask, 整数型
.成员 dwBCastAddr, 整数型
.成员 dwReasmSize, 整数型
.成员 unused1, 短整数型
.成员 unused2, 短整数型
.数据类型 MIB_IPAddrTable
.成员 dEntrys, 整数型
.成员 mIPInfo, IPInfo, , "255"
.版本 2
.DLL命令 GetIpAddrTable, 整数型, "IPHlpApi"
.参数 pIPAdrTable, MIB_IPAddrTable, 传址
.参数 pdwSize, 整数型, 传址
.参数 Sort, 整数型
.版本 2
.程序集 程序集1
.子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
_临时子程序 () ' 在初始化代码执行完毕后调用测试代码
返回 (0) ' 可以根据您的需要返回任意数值
.子程序 _临时子程序
.局部变量 IP, 文本型, , "0"
.局部变量 r, 整数型
.局部变量 x, 整数型
取本机IP (IP, 假)
.计次循环首 (取数组成员数 (IP), x)
输出调试文本 (IP [x])
.计次循环尾 ()
' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
.子程序 取本机IP, 整数型, 公开, 返回IP数
.参数 欲装载的数组, 文本型, 数组
.参数 过滤本地地址, 逻辑型, 可空, 过滤127.0.0.1
.局部变量 Ret, 整数型
.局部变量 Listing, MIB_IPAddrTable
清除数组 (欲装载的数组)
GetIpAddrTable (Listing, Ret, 1) ' 查询所需内存大小
.如果真 (Ret < 0) ' 查询失败返回
返回 (0)
.如果真结束
GetIpAddrTable (Listing, Ret, 0) ' 取列表
重定义数组 (Listing.mIPInfo, 真, Listing.dEntrys) ' 重定义为IP总数量
.变量循环首 (Listing.dEntrys - 选择 (过滤本地地址, 1, 0), 1, -1, Ret)
加入成员 (欲装载的数组, 整数IP到文本 (Listing.mIPInfo [Ret].dwAddr))
' 输出调试文本 (整数IP到文本 (Listing.mIPInfo [Ret].dwAddr) + “ 子网掩码:” + 整数IP到文本 (Listing.mIPInfo [Ret].dwMask))
.变量循环尾 ()
返回 (Listing.dEntrys - 选择 (过滤本地地址, 1, 0))
.子程序 整数IP到文本, 文本型
.参数 IP地址, 长整数型
.局部变量 临时变量, 字节集
.如果真 (取绝对值 (IP地址) > 4294967295)
返回 (“255.255.255.255”)
.如果真结束
临时变量 = 到字节集 (IP地址)
返回 (到文本 (临时变量 [1]) + “.” + 到文本 (临时变量 [2]) + “.” + 到文本 (临时变量 [3]) + “.” + 到文本 (临时变量 [4]))
|
|