当前位置: 主页 > 百科 > 计算机编程 > 易语言源码 >
-14 Comments

源代码——查看局域网在线主机

发布于:2016-07-05  |   作者:http://www.zxjsq.net  |   已聚集:人围观

.版本 2

.支持库 iext

.支持库 iext2

.支持库 xplib

.支持库 sock

.支持库 spec

.子程序 _搜索_被单击

.局部变量 选中, 逻辑型

.局部变量 计次, 整数型

.局部变量 通, 整数型

.局部变量 IP, 文本型

.局部变量 网络延迟, 整数型


列表.全部删除 ()

搜索.禁止 = 真

Ping.禁止 = 真

停止搜索.禁止 = 假

停止 = 真

IP = 起始地址.地址

延迟.内容 = 到文本 (取绝对值 (到整数 (延迟.内容)))

.如果真 (到整数 (延迟.内容) = 0)

    延迟.内容 = “100”

.如果真结束

网络延迟 = 到整数 (延迟.内容)

在线主机数.标题 = “开始搜索……”

' 获取起始IP信息

测试 = 分割文本 (IP, “.”, 4)

起始 [1] = 到整数 (测试 [1])

起始 [2] = 到整数 (测试 [2])

起始 [3] = 到整数 (测试 [3])

起始 [4] = 到整数 (测试 [4])

选中 = 显示在线主机.选中

' 获取终止IP信息

IP = 终止地址.地址

测试 = 分割文本 (IP, “.”, 4)

终止 [1] = 到整数 (测试 [1])

终止 [2] = 到整数 (测试 [2])

终止 [3] = 到整数 (测试 [3])

终止 [4] = 到整数 (测试 [4])

.如果真 (起始 [4] > 终止 [4])

    终止 [4] = 255


.如果真结束

终止地址.地址 = 到文本 (起始 [1]) + “.” + 到文本 (起始 [2]) + “.” + 到文本 (起始 [3]) + “.” + 到文本 (终止 [4])


计次 = 起始 [4]

进度.最大位置 = 终止 [4] - 起始 [4]


.循环判断首 ()

    处理事件 ()

    IP = 到文本 (起始 [1]) + “.” + 到文本 (起始 [2]) + “.” + 到文本 (起始 [3]) + “.” + 到文本 (计次)

    在线主机数.标题 = “连接:” + IP + “……”


    通 = 通信测试 (IP, 网络延迟)

    .如果真 (通 ≠ -1)

        已使用IP = 已使用IP + IP + #换行符

    .如果真结束

    .如果真 (通 = -1)

        未使用IP = 未使用IP + IP + #换行符


    .如果真结束


    .如果 (选中)

        .如果真 (通 ≠ -1)

            列表.插入表项 (, IP, 0, , , )

            列表.置标题 (列表.取表项数 () - 1, 1, 到文本 (通))

        .如果真结束


    .否则


        .如果 (通 = -1)

            列表.插入表项 (, IP, 1, , , )

            列表.置标题 (列表.取表项数 () - 1, 1, 到文本 (通))

        .否则

            列表.插入表项 (, IP, 0, , , )

            列表.置标题 (列表.取表项数 () - 1, 1, 到文本 (通))

        .如果结束


    .如果结束

    进度.位置 = 进度.位置 + 1

    计次 = 计次 + 1

.循环判断尾 (计次 ≤ 终止 [4] 且 停止)


进度.位置 = 0


.如果 (停止)

    .如果 (显示在线主机.选中)

        在线主机数.标题 = “搜索完成,在线主机数:” + 到文本 (列表.取表项数 ()) + “。”

    .否则

        在线主机数.标题 = “搜索完成,此次搜索主机数:” + 到文本 (列表.取表项数 ()) + “。”

    .如果结束


.否则


    .如果 (显示在线主机.选中)

        在线主机数.标题 = “已经停止,在线主机数:” + 到文本 (列表.取表项数 ()) + “。”

    .否则

        在线主机数.标题 = “已经停止,此次搜索主机数:” + 到文本 (列表.取表项数 ()) + “。”

    .如果结束


.如果结束

搜索.禁止 = 假

Ping.禁止 = 假

停止搜索.禁止 = 真



.子程序 __启动窗口_创建完毕

.局部变量 IP, 文本型


XP风格 (#蓝色风格)

停止搜索.禁止 = 真


测试 = 取本机IP ()

IP = 测试 [1]

在线主机数.标题 = “本机IP:” + IP

' 获取起始IP信息

清除数组 (测试)

测试 = 分割文本 (IP, “.”, 4)

起始 [1] = 到整数 (测试 [1])

起始 [2] = 到整数 (测试 [2])

起始 [3] = 到整数 (测试 [3])

起始 [4] = 1


IP = 到文本 (起始 [1]) + “.” + 到文本 (起始 [2]) + “.” + 到文本 (起始 [3]) + “.” + 到文本 (1)


起始地址.地址 = IP

终止地址.地址 = 到文本 (起始 [1]) + “.” + 到文本 (起始 [2]) + “.” + 到文本 (起始 [3]) + “.” + 到文本 (255)



.子程序 _停止搜索_被单击


停止 = 假


.子程序 _帮助1_鼠标左键被按下, 逻辑型

.参数 横向位置, 整数型

.参数 纵向位置, 整数型

.参数 功能键状态, 整数型


调试输出 (“左键按下”)


.子程序 _Ping_被单击

.局部变量 次数, 整数型

.局部变量 连通数, 整数型

.局部变量 当前, 整数型

.局部变量 I, 整数型

.局部变量 P次数, 整数型


Ping.禁止 = 真

搜索.禁止 = 真

在线主机数.标题 = “正在进行Ping操作……”

连通次数.内容 = 到文本 (取绝对值 (到整数 (连通次数.内容)))

.如果真 (到整数 (连通次数.内容) = 0)

    连通次数.内容 = “3”

.如果真结束


.如果真 (网络地址.内容 = “”)

    在线主机数.标题 = “网络地址为空,不能进行Ping操作。”

    Ping.禁止 = 假

    搜索.禁止 = 假

    返回 ()

.如果真结束

次数 = 到整数 (连通次数.内容)

进度.位置 = 1

进度.最大位置 = 次数

.计次循环首 (次数, I)

    在线主机数.标题 = “正在进行Ping操作,当前第” + 到文本 (I) + “次。”

    处理事件 ()

    当前 = 通信测试 (网络地址.内容, )

    .如果真 (当前 ≠ -1)

        连通数 = 连通数 + 当前

        P次数 = P次数 + 1

    .如果真结束

    进度.位置 = 进度.位置 + 1

.计次循环尾 ()

.如果 (P次数 = 0)

    在线主机数.标题 = “-_-||  网络主机当前不在线。”

.否则

    在线主机数.标题 = “完成Ping操作:共” + 到文本 (P次数) + “次,平均:” + 到文本 (连通数 \ P次数) + “ms。”

.如果结束

进度.位置 = 1

Ping.禁止 = 假

搜索.禁止 = 假


.子程序 _按钮1_被单击


写到文件 (取运行目录 () + “\未使用IP.txt”, 到字节集 (未使用IP))

写到文件 (取运行目录 () + “\已使用IP.txt”, 到字节集 (已使用IP))


标签:                   喜欢:收藏