登录 注册
当前位置:主页 > 资源下载 > 10 > 易语言开发的家庭影音播放器源代码

易语言开发的家庭影音播放器源代码

  • 更新:2024-09-27 21:33:20
  • 大小:502KB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:VB - 硬件开发
  • 格式:ZIP

资源介绍

.版本 2 .支持库 wmp9 .支持库 shellEx .支持库 xplib .支持库 iext .支持库 iext3 .支持库 iext2 .支持库 iext6 .支持库 shell .程序集 启动窗口 .程序集变量 日期, 文本型 .程序集变量 时间, 文本型 .程序集变量 客户数, 整数型 .程序集变量 点播播放状态, 逻辑型, , , 点播变量 .程序集变量 目录信息, 文本型, , , 点播变量 .程序集变量 目录名, 文本型, , , 点播变量 .程序集变量 文件名, 文本型, , , 点播变量 .程序集变量 命令, 文本型, , , 点播变量 .程序集变量 点播计次, 整数型, , , 点播变量 .程序集变量 客户地址, 文本型, , , 点播变量 .程序集变量 歌曲名称, 文本型, , , 点播变量 .程序集变量 点播机号, 文本型, , , 点播变量 .程序集变量 控制, 播放器控制, , , 播放器 .程序集变量 媒体, 播放器媒体, , , 播放器 .程序集变量 网络, 播放器网络, , , 播放器 .程序集变量 设定, 播放器设定, , , 播放器 .程序集变量 光驱, 播放器光驱, , , 播放器 .程序集变量 光驱集, 播放器光驱集, , , 播放器 .程序集变量 热键标志, 整数型 .程序集变量 g, 整数型 .子程序 __启动窗口_创建完毕, , , 启动窗口 .局部变量 计次, 整数型 .局部变量 编号, 文本型 ' --======== 易语言资源网 (www.5A5X.com) ======-- ' 努力创建完善、持续更新的易语言学习例程源码资源站 ' --================ www.5A5X.com ===========-- ' --================== 易语言资源网注意事项 ================-- ' * 易语言资源网为易语言官方站、易语言官方论坛提供辅助资源站; ' 本易语言资源网( www.5A5X.com)所有软件和资料均为软件作者提 ' 供和网友推荐发布而来,其版权归该软件和程序源码的合法拥有者所 ' 有,本站易语言资源网整理收集仅供易语言用户学习和易语言技术研 ' 究探讨使用,不得用于任何商业用途。如果由于以上原因造成的版权 ' 纠纷本站概不负责! ' * 本站资源未经许可,任何网站不得非法盗链及抄袭本站资源;如引用 ' 页面,请注明来自易语言资源网,谢谢合作! ' --===================== www.5A5X.com ================-- 热键标志 = 注册热键 (_启动窗口.取窗口句柄 (), 标签1.取窗口句柄 (), 0, #F7键) 标签1.底图 = #gqj ' bq1.dt= #gqj _时钟4_周期事件 () XP风格 (1) ' 载入 (系统设置, _启动窗口, 假) 置托盘图标 (#托盘图标, “大厅音乐点播系统 V1.0”) ' 设置客户列表框的行数 .' 如果真 (客户列表框.取表项数 () = 0) .' 计次循环首 (到整数 (系统设置.N台.内容), 计次) ' ' 机器编号位数不足自动补0 .' 如果真 (取文本长度 (到文本 (计次)) = 1) ' 编号 = “00” + 到文本 (计次) .如果真结束 .' 如果真 (取文本长度 (到文本 (计次)) = 2) ' 编号 = “0” + 到文本 (计次) .如果真结束 .' 如果真 (取文本长度 (到文本 (计次)) = 3) ' 编号 = 到文本 (计次) .如果真结束 ' 客户列表框.置标题 (客户列表框.插入表项 (, , , , , ), 1, 编号 + “号”) .' 计次循环尾 () .如果真结束 点播播放状态 = 假 控制 = 播放器.取控制 () 设定 = 播放器.取设定 () 设定.自动播放 = 假 播放器.地址 = 读配置项 (取运行目录 () + “\MusicServer.ini”, “System”, “播放地址”, ) 控制.当前位置 = 到整数 (读配置项 (取运行目录 () + “\MusicServer.ini”, “System”, “播放位置”, )) g = 到整数 (读配置项 (取运行目录 () + “\MusicServer.ini”, “System”, “播放序列”, )) ' 本源码来自易语言资源网(www.5A5X.com) 点播列表.现行选中项 = g 标签3.标题 = 到文本 (g) 数量标签.标题 = “共” + 到文本 (点播列表.取表项数 ()) + “首/第” + 到文本 (g) + “首” 加入随机歌曲 () .子程序 __启动窗口_可否被关闭, 逻辑型, , 启动窗口 _启动窗口.可视 = 假 返回 (假) .子程序 __启动窗口_托盘事件, , , 启动窗口 .参数 操作类型, 整数型 .如果真 (操作类型 = #双击) .如果 (_启动窗口.可视 = 真) 位置 = 2 _启动窗口.可视 = 假 _启动窗口.总在最前 = 假 .否则 位置 = 0 _启动窗口.可视 = 真 ' 本源码来自易语言资源网(www.5A5X.com) ' _启动窗口.总在最前 = 真 ' _启动窗口.总在最前 = 假 .如果结束 .如果真结束 .如果 (操作类型 = #单击右键) 弹出菜单 (File, , ) .否则 .如果结束 .子程序 _服务器_客户进入, , , 启动窗口 .局部变量 客户, 文本型 .局部变量 分割客户, 文本型, , "3" .局部变量 IP地址, 文本型 .局部变量 分割IP地址, 文本型, , "3" .局部变量 IP地址第4段, 文本型 .局部变量 编号, 文本型 .局部变量 IP地址第4段补0, 文本型 .局部变量 索引, 整数型 .局部变量 时, 文本型 .局部变量 分, 文本型 .局部变量 秒, 文本型 客户 = 服务器.取回客户 () 分割客户 = 分割文本 (客户, “:”, 2) IP地址 = 分割客户 [1] 分割IP地址 = 分割文本 (IP地址, “.”, 4) IP地址第4段 = 分割IP地址 [4] ' 本源码来自易语言资源网(www.5A5X.com) ' 取时间 时 = 到文本 (取时间部分 (取现行时间 (), #小时)) 分 = 到文本 (取时间部分 (取现行时间 (), #分钟)) 秒 = 到文本 (取时间部分 (取现行时间 (), #秒)) .如果真 (取文本长度 (时) = 1) 时 = “0” + 时 .如果真结束 .如果真 (取文本长度 (分) = 1) 分 = “0” + 分 .如果真结束 .如果真 (取文本长度 (秒) = 1) 秒 = “0” + 秒 .如果真结束 时间 = 时 + “:” + 分 + “:” + 秒 ' 机器编号位数不足自动补0 .如果真 (取文本长度 (IP地址第4段) = 1) IP地址第4段补0 = “00” + IP地址第4段 .如果真结束 .如果真 (取文本长度 (IP地址第4段) = 2) IP地址第4段补0 = “0” + IP地址第4段 .如果真结束 .如果真 (取文本长度 (IP地址第4段) = 3) IP地址第4段补0 = IP地址第4段 .如果真结束 ' 本源码来自易语言资源网(www.5A5X.com) ' 当某客户连接进来时,将其加入在线列表 索引 = 到数值 (IP地址第4段) - 1 客户列表框.置状态图片 (索引, 0) 客户列表框.置标题 (索引, 0, 客户) 客户列表框.置标题 (索引, 2, “--------”) 客户列表框.置标题 (索引, 3, “---.---.---.---”) 客户列表框.置标题 (索引, 4, “”) 客户列表框.置标题 (索引, 5, “-----------------”) 客户列表框.置标题 (索引, 6, 时间) ' 当某客户连接进来时,显示提示信息 索引 = 提示信息.插入表项 (, 时间, , , , ) 提示信息.置图片 (索引, 0, 0) ' 提示信息.置图片 (索引, 1, 1) 提示信息.置标题 (索引, 1, IP地址第4段补0 + “号”) 提示信息.置图片 (索引, 2, 2) 提示信息.置标题 (索引, 2, “系统消息:与客户端连接成功!”) .子程序 _服务器_客户离开, , , 启动窗口 .局部变量 客户, 文本型 .局部变量 分割客户, 文本型, , "3" .局部变量 IP地址, 文本型 .局部变量 分割IP地址, 文本型, , "3" .局部变量 IP地址第4段, 文本型 .局部变量 主机名, 文本型 .局部变量 索引, 整数型 .局部变量 计次, 整数型 .局部变量 IP地第4址段补0, 文本型 .局部变量 表项索引, 整数型 客户 = 服务器.取回客户 () 分割客户 = 分割文本 (客户, “:”, 2) IP地址 = 分割客户 [1] 分割IP地址 = 分割文本 (IP地址, “.”, 4) IP地址第4段 = 分割IP地址 [4] ' 本源码来自易语言资源网(www.5A5X.com) ' 当某客户断开连接时,清空对应位置的标题 索引 = 到数值 (IP地址第4段) - 1 客户列表框.置状态图片 (索引, 0) 客户列表框.置标题 (索引, 0, “”) 客户列表框.置标题 (索引, 2, “”) 客户列表框.置标题 (索引, 3, “”) 客户列表框.置标题 (索引, 4, “”) 客户列表框.置标题 (索引, 5, “”) 客户列表框.置标题 (索引, 6, “”) 客户列表框.置标题 (索引, 7, “”) ' 机器编号位数不足自动补0 .如果真 (取文本长度 (IP地址第4段) = 1) IP地第4址段补0 = “00” + IP地址第4段 .如果真结束 .如果真 (取文本长度 (IP地址第4段) = 2) IP地第4址段补0 = “0” + IP地址第4段 .如果真结束 .如果真 (取文本长度 (IP地址第4段) = 3) IP地第4址段补0 = IP地址第4段 .如果真结束 点播机号 = IP地第4址段补0 + “号” 客户断开连接 () ' 本源码来自易语言资源网(www.5A5X.com) ' 当某客户断开连接时,显示提示信息 索引 = 提示信息.插入表项 (, 时间, , , , ) 提示信息.置图片 (索引, 0, 0) ' 提示信息.置图片 (索引, 1, 1) 提示信息.置标题 (索引, 1, IP地第4址段补0 + “号”) 提示信息.置图片 (索引, 2, 3) 提示信息.置标题 (索引, 2, “系统消息:客户端已断开连接!”) .子程序 客户断开连接, , , 当某客户断开连接后,取消所点播的音乐 .局部变量 表项索引, 整数型 ' 当某客户断开连接后,取消所点播的音乐 .如果真 (系统设置.断开后清除所点播的歌曲.选中 且 点播播放状态 = 真) .计次循环首 (点播列表.取表项数 (), 表项索引) .如果真 (点播列表.取标题 (表项索引 - 1, 0) = 点播机号) 点播列表.删除表项 (表项索引 - 1) 客户断开连接 () 跳出循环 () .如果真结束 .计次循环尾 () .如果真结束 .如果真 (点播列表.取标题 (0, 1) = “”) 点播播放 () .如果真结束 ' 本源码来自易语言资源网(www.5A5X.com) .子程序 _服务器_数据到达, , , 启动窗口 .局部变量 收到数据, 字节集 .局部变量 聊天变量, 整数型 .局部变量 分割信息, 文本型, , "5" .局部变量 信息类别, 文本型 .局部变量 主机名, 文本型 .局部变量 MAC地址, 文本型 .局部变量 客户消息, 文本型 .局部变量 IP地址, 文本型 .局部变量 分割IP地址, 文本型, , "4" .局部变量 IP地址第4段, 文本型 .局部变量 IP地址第4段补0, 文本型 .局部变量 分割主机名, 文本型, , "2" .局部变量 主机名后缀, 文本型 .局部变量 索引, 整数型 .局部变量 点播IP地址, 文本型, , , 点播变量 .局部变量 分割点播IP地址, 文本型, , "4", 点播变量 .局部变量 点播IP地址第4段, 文本型, , , 点播变量 .局部变量 点播IP地址第4段补0, 文本型, , , 点播变量 .局部变量 点播列表索引, 整数型, , , 点播变量 .局部变量 点播计次, 整数型, , , 点播变量 .局部变量 表项索引, 整数型, , , 点播变量 .局部变量 查询计次, 整数型, , , 点播变量 .局部变量 点播信息, 文本型, , , 点播变量 .局部变量 点播序号, 整数型, , , 点播信息 ' 1.信息类别 2.本机名 3.网卡MAC 4.IP地址 5.信息内容 收到数据 = 服务器.取回数据 () ' 索引 = 提示信息.插入表项 (, 时间, , , , ) ' 提示信息.置标题 (索引, 2, 到文本 (“信息测试:” + 到文本 (收到数据))) ' 判断信息类别-分割系统信息 分割信息 = 分割文本 (到文本 (收到数据), “&&”, 5) ' 本源码来自易语言资源网(www.5A5X.com) .如果真 (分割信息 [1] = “系统信息”) ' 判断信息类别-系统信息 主机名 = 分割信息 [2] MAC地址 = 分割信息 [3] IP地址 = 分割信息 [4] 分割IP地址 = 分割文本 (IP地址, “.”, 4) IP地址第4段 = 分割IP地址 [4] ' 判断主机名是否有后缀 分割主机名 = 分割文本 (主机名, “-”, 2) .如果 (到文本 (分割主机名 [1]) = 主机名) 主机名后缀 = 主机名 .否则 主机名后缀 = 分割主机名 [2] .如果结束 ' 本源码来自易语言资源网(www.5A5X.com) ' 机器编号位数不足自动补0 .如果真 (取文本长度 (IP地址第4段) = 1) IP地址第4段补0 = “00” + IP地址第4段 .如果真结束 .如果真 (取文本长度 (IP地址第4段) = 2) IP地址第4段补0 = “0” + IP地址第4段 .如果真结束 .如果真 (取文本长度 (IP地址第4段) = 3) IP地址第4段补0 = IP地址第4段 .如果真结束 ' 数据到达时,将信息加入客户列表框 索引 = 到数值 (IP地址第4段) - 1 客户列表框.置标题 (索引, 2, 主机名) 客户列表框.置标题 (索引, 3, IP地址) ' 如果 (IP地址第4段补0 = 主机名后缀) ' 客户列表框.置图片 (索引, 4, 1) ' 客户列表框.置标题 (索引, 4, “正确”) ' 客户列表框.置图片 (索引, 4, 0) ' 客户列表框.置标题 (索引, 4, “错误”) 客户列表框.置标题 (索引, 5, MAC地址) 返回 () .如果真结束 .如果真 (分割信息 [1] = “客户信息”) ' 判断信息类别-客户信息 IP地址 = 分割信息 [4] 客户消息 = 分割信息 [5] 分割IP地址 = 分割文本 (IP地址, “.”, 4) IP地址第4段 = 分割IP地址 [4] ' 本源码来自易语言资源网(www.5A5X.com) ' 机器编号位数不足自动补0 .如果真 (取文本长度 (IP地址第4段) = 1) IP地址第4段补0 = “00” + IP地址第4段 .如果真结束 .如果真 (取文本长度 (IP地址第4段) = 2) IP地址第4段补0 = “0” + IP地址第4段 .如果真结束 .如果真 (取文本长度 (IP地址第4段) = 3) IP地址第4段补0 = IP地址第4段 .如果真结束 ' 客户信息到达时,将信息加入提示信息列表框 索引 = 提示信息.插入表项 (, 时间, , , , ) 提示信息.置图片 (索引, 0, 0) ' 提示信息.置图片 (索引, 1, 1) 提示信息.置标题 (索引, 1, IP地址第4段补0 + “号”) 提示信息.置图片 (索引, 2, 4) 提示信息.置标题 (索引, 2, 到文本 (“客户消息:” + 客户消息)) 播放音乐 (#客户消息, ) 返回 () ' 本源码来自易语言资源网(www.5A5X.com) .如果真结束 .如果真 (分割信息 [1] = “聊天信息”) ' 判断信息类别-聊天信息 IP地址 = 分割信息 [4] 客户消息 = 分割信息 [5] 分割IP地址 = 分割文本 (IP地址, “.”, 4) IP地址第4段 = 分割IP地址 [4] ' 机器编号位数不足自动补0 .如果真 (取文本长度 (IP地址第4段) = 1) IP地址第4段补0 = “00” + IP地址第4段 .如果真结束 .如果真 (取文本长度 (IP地址第4段) = 2) IP地址第4段补0 = “0” + IP地址第4段 .如果真结束 .如果真 (取文本长度 (IP地址第4段) = 3) IP地址第4段补0 = IP地址第4段 .如果真结束 ' 本源码来自易语言资源网(www.5A5X.com) ' 聊天信息到达时,将信息加入提示信息列表框 索引 = 提示信息.插入表项 (, 时间, , , , ) 提示信息.置图片 (索引, 0, 0) ' 提示信息.置图片 (索引, 1, 1) 提示信息.置标题 (索引, 1, IP地址第4段补0 + “号”) 提示信息.置图片 (索引, 2, 6) 提示信息.置标题 (索引, 2, 到文本 (“聊天信息:” + 客户消息)) ' 将所收到的信息转发给所有在线客户 .计次循环首 (客户列表框.取表项数 (), 聊天变量) 服务器.发送数据 (客户列表框.取标题 (聊天变量 - 1, ), “聊天信息” + “&&” + IP地址第4段补0 + “号” + “&&” + 客户消息 + “ ”, 1) .计次循环尾 () 返回 () .如果真结束 .如果真 (分割信息 [1] = “公告信息”) ' 判断信息类别-公告信息 .如果真 (到文本 (读入文件 (系统设置.公告文件路径.内容)) ≠ “”) 服务器.发送数据 (服务器.取回客户 (), “公告信息” + “&&” + 到文本 (读入文件 (系统设置.公告文件路径.内容)), 1) .如果真结束 ' 本源码来自易语言资源网(www.5A5X.com) .如果真结束 .如果真 (分割信息 [1] = “查看状态”) ' 判断信息类别-查看状态 .计次循环首 (到整数 (系统设置.N台.内容), 点播计次) ' 取点播接收客户 .如果真 (客户列表框.取标题 (点播计次 - 1, 2) = 分割信息 [2]) 客户地址 = 客户列表框.取标题 (点播计次 - 1, 0) 跳出循环 () .如果真结束 .计次循环尾 () .如果 (点播播放状态 = 真) .计次循环首 (点播列表.取表项数 (), 查询计次) 点播信息 = 点播信息 + 点播列表.取标题 (查询计次 - 1, 1) + #换行符 .计次循环尾 () 服务器.发送数据 (客户地址, “点播歌名” + “&&” + “点播播放状态” + “&&” + 点播信息, 1) .否则 服务器.发送数据 (客户地址, “查看状态” + “&&” + “随机播放状态” + “&&” + 状态条.取文本 (3), 1) .如果结束 返回 () ' 本源码来自易语言资源网(www.5A5X.com) .如果真结束 .如果真 (分割信息 [1] = “歌曲路径”) ' 判断信息类别-歌曲路径 .计次循环首 (到整数 (系统设置.N台.内容), 点播计次) ' 取点播接收客户 .如果真 (客户列表框.取标题 (点播计次 - 1, 2) = 分割信息 [2]) 客户地址 = 客户列表框.取标题 (点播计次 - 1, 0) 跳出循环 () .如果真结束 .计次循环尾 () 服务器.发送数据 (客户地址, “歌曲路径” + “&&” + 系统设置.点播播放路径.内容, 1) 返回 () .如果真结束 .如果真 (分割信息 [1] = “点播信息”) ' 判断信息类别-点播信息 .计次循环首 (到整数 (系统设置.N台.内容), 点播计次) ' 取点播接收客户 .如果真 (客户列表框.取标题 (点播计次 - 1, 2) = 分割信息 [2]) 客户地址 = 客户列表框.取标题 (点播计次 - 1, 0) 跳出循环 () .如果真结束 ' 本源码来自易语言资源网(www.5A5X.com) .计次循环尾 () .如果真 (系统设置.开启点播服务.选中 = 假) 服务器.发送数据 (客户地址, “歌曲路径” + “&&” + “ServerClose”, 1) 返回 () .如果真结束 点播IP地址 = 分割信息 [4] 命令 = 分割信息 [5] .如果真 (取文本左边 (取文本右边 (命令, 5), 1) = “.” 或 取文本左边 (取文本右边 (命令, 4), 1) = “.” 或 取文本左边 (取文本右边 (命令, 3), 1) = “.”) ' 判断是否是歌曲文件 ' 点播信息到达时,将信息加入提示信息列表框 分割点播IP地址 = 分割文本 (点播IP地址, “.”, 4) 点播IP地址第4段 = 分割点播IP地址 [4] ' 机器编号位数不足自动补0 .如果真 (取文本长度 (点播IP地址第4段) = 1) 点播IP地址第4段补0 = “00” + 点播IP地址第4段 .如果真结束 .如果真 (取文本长度 (点播IP地址第4段) = 2) 点播IP地址第4段补0 = “0” + 点播IP地址第4段 .如果真结束 .如果真 (取文本长度 (点播IP地址第4段) = 3) 点播IP地址第4段补0 = 点播IP地址第4段 .如果真结束 .如果真 (点播播放状态 = 假) 点播列表.全部删除 () .如果真结束 ' 本源码来自易语言资源网(www.5A5X.com) 歌曲名称 = 取文本右边 (命令, 取文本长度 (命令) - 倒找文本 (命令, “\”, , 假)) .如果真 (系统设置.限制点播数量.选中 且 系统设置.N首.内容 = 到文本 (点播列表.取表项数 ())) ' 限制点播数量 服务器.发送数据 (客户地址, “点播信息” + “&&” + “点播限制” + “&&” + 系统设置.N首.内容, 1) 返回 () .如果真结束 .如果真 (系统设置.允许点播同一首歌曲.选中 = 假) ' 禁止重复点播点播同一首歌曲 .计次循环首 (点播列表.取表项数 (), 表项索引) .如果真 (歌曲名称 = 点播列表.取标题 (表项索引 - 1, 1)) 服务器.发送数据 (客户地址, “点播信息” + “&&” + “重复点播”, 1) 返回 () 跳出循环 () .如果真结束 ' 本源码来自易语言资源网(www.5A5X.com) .计次循环尾 () .如果真结束 .如果真 (系统设置.客户点播多首歌曲.选中 = 假) ' 禁止同一客户重复点播点播歌曲 .计次循环首 (点播列表.取表项数 (), 表项索引) .如果真 (点播列表.取标题 (表项索引 - 1, 0) = 点播IP地址第4段补0 + “号”) 服务器.发送数据 (客户地址, “点播信息” + “&&” + “点播多首”, 1) 返回 () 跳出循环 () .如果真结束 ' 本源码来自易语言资源网(www.5A5X.com) .计次循环尾 () .如果真结束 点播列表索引 = 点播列表.插入表项 (, 点播IP地址第4段补0 + “号”, , , , ) ' 加入点播列表 点播列表.置图片 (点播列表索引, 0, 0) 点播列表.置图片 (点播列表索引, 1, 1) 点播列表.置标题 (点播列表索引, 1, 歌曲名称) 点播列表.置标题 (点播列表索引, 2, 命令) .如果真 (点播播放状态 = 假) 点播播放 () .如果真结束 索引 = 提示信息.插入表项 (, 时间, , , , ) ' 显示点播信息 提示信息.置图片 (索引, 0, 0) ' 提示信息.置图片 (索引, 1, 1) 提示信息.置标题 (索引, 1, 点播IP地址第4段补0 + “号”) 提示信息.置图片 (索引, 2, 7) 提示信息.置标题 (索引, 2, 到文本 (“点播歌曲:” + 歌曲名称)) 服务器.发送数据 (客户地址, “点播信息” + “&&” + “点播成功”, 1) 数量标签.标题 = “共点播了” + 到文本 (点播列表.取表项数 ()) + “首” 返回 () .如果真结束 ' 本源码来自易语言资源网(www.5A5X.com) 目录信息 = “” 文件名 = 寻找文件 (命令 + “*.*”, #子目录) .判断循环首 (文件名 ≠ “”) .如果真 (取文本左边 (取文本右边 (文件名, 4), 1) ≠ “.”) 目录信息 = 目录信息 + 文件名 + #换行符 .如果真结束 文件名 = 寻找文件 (, #子目录) .判断循环尾 () ' *.asf,*.wma,*.wmv,*.mp3 文件名 = 寻找文件 (命令 + “*.asf”, ) .判断循环首 (文件名 ≠ “”) 目录信息 = 目录信息 + 文件名 + #换行符 文件名 = 寻找文件 (, ) .判断循环尾 () 文件名 = 寻找文件 (命令 + “*.wma”, ) .判断循环首 (文件名 ≠ “”) 目录信息 = 目录信息 + 文件名 + #换行符 文件名 = 寻找文件 (, ) .判断循环尾 () ' 本源码来自易语言资源网(www.5A5X.com) 文件名 = 寻找文件 (命令 + “*.wmv”, ) .判断循环首 (文件名 ≠ “”) 目录信息 = 目录信息 + 文件名 + #换行符 文件名 = 寻找文件 (, ) .判断循环尾 () 文件名 = 寻找文件 (命令 + “*.mp3”, ) .判断循环首 (文件名 ≠ “”) 目录信息 = 目录信息 + 文件名 + #换行符 文件名 = 寻找文件 (, ) .判断循环尾 () .计次循环首 (到整数 (系统设置.N台.内容), 点播计次) .如果真 (客户列表框.取标题 (点播计次 - 1, 2) = 分割信息 [2]) 客户地址 = 客户列表框.取标题 (点播计次 - 1, 0) .如果真结束 .计次循环尾 () .如果真 (目录信息 = “”) 目录信息 = “ ” .如果真结束 服务器.发送数据 (客户地址, “点播信息” + “&&” + 目录信息, 1) .如果真结束 ' 本源码来自易语言资源网(www.5A5X.com) ' 1.信息类别 2.本机名 3.网卡MAC 4.IP地址 5.信息内容 .子程序 _发送_被单击, , , 启动窗口 .局部变量 变量1 .局部变量 项目数, 整数型 .局部变量 计次, 整数型 .局部变量 发送方式, 文本型 .局部变量 索引, 整数型 项目数 = 客户列表框.取表项数 () .如果真 (发送方式组合框.现行选中项 = 0) 发送方式 = “聊天信息&&网管” .如果真结束 .如果真 (发送方式组合框.现行选中项 = 1) 发送方式 = “网管消息” .如果真结束 .如果真 (发送方式组合框.现行选中项 = 2) 发送方式 = “网管通知” .如果真结束 .如果真 (发送方式组合框.现行选中项 = 3) 发送方式 = “自定义命令” .如果真结束 .如果 (消息编辑框.内容 = “”) 信息框 (“请输入发送内容!!”, #信息图标, ) 返回 () ' 本源码来自易语言资源网(www.5A5X.com) .否则 .计次循环首 (项目数, 计次) .如果真 (客户列表框.取当前状态图片 (计次 - 1) = 1) 服务器.发送数据 (到文本 (客户列表框.取标题 (计次 - 1, )), 发送方式 + “&&” + 消息编辑框.内容, 1) .如果真结束 .计次循环尾 () .如果结束 发送方式组合框.现行选中项 = 0 消息编辑框.获取焦点 () ' 本源码来自易语言资源网(www.5A5X.com) ' 当服务器发送消息时,显示信息 索引 = 提示信息.插入表项 (, 时间, , , , ) 提示信息.置图片 (索引, 0, 0) 提示信息.置标题 (索引, 1, “服务器”) 提示信息.置图片 (索引, 2, 6) 提示信息.置标题 (索引, 2, 消息编辑框.内容) 消息编辑框.内容 = “” .子程序 _全选按钮_被单击, , , 启动窗口 .局部变量 项目数, 整数型 .局部变量 计次, 整数型 项目数 = 客户列表框.取表项数 () .计次循环首 (项目数, 计次) .如果真 (客户列表框.取当前状态图片 (计次 - 1) = 0) 客户列表框.置状态图片 (计次 - 1, 1) .如果真结束 ' 本源码来自易语言资源网(www.5A5X.com) .计次循环尾 () .子程序 _反选按钮_被单击, , , 启动窗口 .局部变量 项目数, 整数型 .局部变量 计次, 整数型 项目数 = 客户列表框.取表项数 () .计次循环首 (项目数, 计次) .如果 (客户列表框.取当前状态图片 (计次 - 1) = 1) 客户列表框.置状态图片 (计次 - 1, 0) .否则 客户列表框.置状态图片 (计次 - 1, 1) .如果结束 ' 本源码来自易语言资源网(www.5A5X.com) .计次循环尾 () .子程序 _重连_被单击, , , 启动窗口 .局部变量 项目数, 整数型 .局部变量 计次, 整数型 .局部变量 索引, 整数型 ' 断开所有客户连接 项目数 = 客户列表框.取表项数 () .计次循环首 (项目数, 计次) .如果真 (客户列表框.取当前状态图片 (计次 - 1) = 1) 服务器.断开客户 (到文本 (客户列表框.取标题 (计次 - 1, ))) .如果真结束 .计次循环尾 () .子程序 _刷新_被单击, , , 启动窗口 .局部变量 项目数, 整数型 .局部变量 计次, 整数型 .局部变量 索引, 整数型 项目数 = 客户列表框.取表项数 () .计次循环首 (项目数, 计次) .如果真 (客户列表框.取当前状态图片 (计次 - 1) = 1) ' 清空对应位置的标题 索引 = 到数值 (计次) - 1 客户列表框.置标题 (索引, 2, “”) 客户列表框.置标题 (索引, 3, “”) 客户列表框.置标题 (索引, 4, “”) 客户列表框.置标题 (索引, 5, “”) 服务器.发送数据 (到文本 (客户列表框.取标题 (计次 - 1, )), “控制命令” + “&&” + “REFRESH”, 1) .如果真结束 ' 本源码来自易语言资源网(www.5A5X.com) .计次循环尾 () .子程序 _关机_被单击, , , 启动窗口 .局部变量 项目数, 整数型 .局部变量 计次, 整数型 项目数 = 客户列表框.取表项数 () .计次循环首 (项目数, 计次) .如果真 (客户列表框.取当前状态图片 (计次 - 1) = 1) 服务器.发送数据 (到文本 (客户列表框.取标题 (计次 - 1, )), “控制命令” + “&&” + “SHUTDOWN”, 1) .如果真结束 ' 本源码来自易语言资源网(www.5A5X.com) .计次循环尾 () .子程序 _重启_被单击, , , 启动窗口 .局部变量 项目数, 整数型 .局部变量 计次, 整数型 项目数 = 客户列表框.取表项数 () .计次循环首 (项目数, 计次) .如果真 (客户列表框.取当前状态图片 (计次 - 1) = 1) 服务器.发送数据 (到文本 (客户列表框.取标题 (计次 - 1, )), “控制命令” + “&&” + “REST”, 1) .如果真结束 ' 本源码来自易语言资源网(www.5A5X.com) .计次循环尾 () .子程序 _退出_被单击, , , 启动窗口 .局部变量 项目数, 整数型 .局部变量 计次, 整数型 项目数 = 客户列表框.取表项数 () .计次循环首 (项目数, 计次) .如果真 (客户列表框.取当前状态图片 (计次 - 1) = 1) 服务器.发送数据 (到文本 (客户列表框.取标题 (计次 - 1, )), “控制命令” + “&&” + “QUIT”, 1) .如果真结束 ' 本源码来自易语言资源网(www.5A5X.com) .计次循环尾 () .子程序 _取消启动_被单击, , , 启动窗口 .局部变量 项目数, 整数型 .局部变量 计次, 整数型 .如果真 (界面切换.现行子夹 = 1) 界面切换.现行子夹 = 0 音乐点播.标题 = “音乐点播” .如果真结束 .如果真 (信息框 (“是否设置已选择的计算机以后开机不再自动运行客户端?”, #确认取消钮, ) = #确认钮) 项目数 = 客户列表框.取表项数 () .计次循环首 (项目数, 计次) .如果真 (客户列表框.取当前状态图片 (计次 - 1) = 1) 服务器.发送数据 (到文本 (客户列表框.取标题 (计次 - 1, )), “控制命令” + “&&” + “OPTIONS”, 1) .如果真结束 ' 本源码来自易语言资源网(www.5A5X.com) .计次循环尾 () .如果真结束 .子程序 _关闭_被单击, , , 启动窗口 .如果真 (信息框 (“是否真的要关闭本程序?”, #确认取消钮 + #询问图标 + #默认按钮二, ) = #确认钮) 控制.停止 () 销毁 () .如果真结束 .子程序 _设置_被单击, , , 启动窗口 系统设置.读取配置 () .如果 (系统设置.可视 = 假) 系统设置.可视 = 真 .否则 系统设置.可视 = 假 .如果结束 ' 本源码来自易语言资源网(www.5A5X.com) .子程序 _音乐点播_被单击, , , 启动窗口 .如果真 (系统设置.可视 = 真) 系统设置.可视 = 假 .如果真结束 .如果 (音乐点播.标题 = “音乐点播”) 界面切换.现行子夹 = 1 音乐点播.标题 = “系统信息” .否则 界面切换.现行子夹 = 0 音乐点播.标题 = “音乐点播” .如果结束 .子程序 _解锁_被单击, , , 启动窗口 .局部变量 项目数, 整数型 .局部变量 计次, 整数型 .判断开始 (关机.禁止 = 真 或 重启.禁止 = 真 或 退出.禁止 = 真 或 设置.禁止 = 真 或 音乐点播.禁止 = 真 或 取消启动.禁止 = 真 或 关闭.禁止 = 真) 解锁.标题 = “锁定” 关机.禁止 = 假 重启.禁止 = 假 退出.禁止 = 假 设置.禁止 = 假 音乐点播.禁止 = 假 取消启动.禁止 = 假 关闭.禁止 = 假 .默认 解锁.标题 = “解锁” 关机.禁止 = 真 重启.禁止 = 真 退出.禁止 = 真 设置.禁止 = 真 音乐点播.禁止 = 真 取消启动.禁止 = 真 关闭.禁止 = 真 .判断结束 ' 本源码来自易语言资源网(www.5A5X.com) .子程序 _时钟1_周期事件, , , 启动窗口 .局部变量 年, 文本型 .局部变量 月, 文本型 .局部变量 日, 文本型 .局部变量 时, 文本型 .局部变量 分, 文本型 .局部变量 秒, 文本型 ' 取日期时间 年 = 到文本 (取时间部分 (取现行时间 (), #年份)) 月 = 到文本 (取时间部分 (取现行时间 (), #月份)) 日 = 到文本 (取时间部分 (取现行时间 (), #日)) 时 = 到文本 (取时间部分 (取现行时间 (), #小时)) 分 = 到文本 (取时间部分 (取现行时间 (), #分钟)) 秒 = 到文本 (取时间部分 (取现行时间 (), #秒)) .如果真 (取文本长度 (月) = 1) 月 = “0” + 月 .如果真结束 .如果真 (取文本长度 (日) = 1) 日 = “0” + 日 .如果真结束 .如果真 (取文本长度 (时) = 1) 时 = “0” + 时 .如果真结束 .如果真 (取文本长度 (分) = 1) 分 = “0” + 分 .如果真结束 .如果真 (取文本长度 (秒) = 1) 秒 = “0” + 秒 .如果真结束 日期 = 月 + “月” + 日 + “日” 时间 = 时 + “:” + 分 + “:” + 秒 ' 本源码来自易语言资源网(www.5A5X.com) ' 音乐点播进度条 .如果真 (播放器.播放状态 = 1 或 播放器.播放状态 = 10) 状态条.置文本 (4, “00:00|00:00”) 播放进度条.位置 = 0 .如果真结束 .如果 (播放器.播放状态 = 3) 播放进度条.位置 = 四舍五入 (到整数 (控制.当前位置), 0) 媒体 = 播放器.取当前媒体 () .如果 (控制.当前位置文本 ≠ “” 或 媒体.播放位置文本 ≠ “”) 状态条.置文本 (4, 控制.当前位置文本 + “|” + 媒体.播放位置文本) .否则 状态条.置文本 (4, “00:00” + “|” + “00:00”) .如果结束 状态条.置文本 (0, “序号 ” + 到文本 (点播列表.现行选中项 + 1)) ' 序号 状态条.置文本 (1, “总共 ” + 到文本 (点播列表.取表项数 ()) + “首”) ' 总影音 状态条.置文本 (2, “第” + 到文本 (点播列表.现行选中项 + 1) + “首”) ' 目前播放 状态条.置文本 (3, 点播列表.取标题 (点播列表.现行选中项, 1)) ' 影音名称 ' 本源码来自易语言资源网(www.5A5X.com) 状态条.置文本 (5, 到文本 (四舍五入 (到整数 (媒体.取项目信息 (“Bitrate”)) ÷ 1000, 0)) + “Kbps”) .否则 状态条.置文本 (5, 播放器.状态) .如果结束 状态条.置文本 (6, “ ” + 到文本 (取日期 (取现行时间 ())) + “ ” + 时间 + “ ” + 取星期 ()) .子程序 _时钟2_周期事件, , , 启动窗口 .局部变量 计次, 整数型 .局部变量 索引, 整数型 .局部变量 错误, 整数型 .局部变量 正确, 整数型 .局部变量 未知, 整数型 ' 刷新客户信息 客户数 = 0 .计次循环首 (客户列表框.取表项数 (), 计次) .如果真 (客户列表框.取标题 (计次 - 1, 2) ≠ “”) ' 清空对应位置的标题 索引 = 到数值 (计次) - 1 客户列表框.置标题 (索引, 2, “--------”) 客户列表框.置标题 (索引, 3, “---.---.---.---”) 客户列表框.置标题 (索引, 4, “”) 客户列表框.置标题 (索引, 5, “-----------------”) 客户列表框.置标题 (索引, 7, 到文本 (取时间间隔 (到时间 (客户列表框.取标题 (索引, 6)), 到时间 (时间), #小时 + #分钟 + #秒))) 服务器.发送数据 (到文本 (客户列表框.取标题 (计次 - 1, )), “控制命令” + “&&” + “REFRESH”, 1) 客户数 = 客户数 + 1 .如果真结束 ' 本源码来自易语言资源网(www.5A5X.com) .计次循环尾 () ' 状态条 状态条.置文本 (0, “共” + “ ” + 到文本 (到整数 (系统设置.N台.内容)) + “ ” + “台计算机”) 状态条.置文本 (1, “已连接” + “ ” + 到文本 (客户数) + “ ” + “台”) 状态条.置文本 (2, “未连接” + “ ” + 到文本 (到整数 (系统设置.N台.内容) - 客户数) + “ ” + “台”) ' 清空提示信息列表框内容 .如果真 (提示信息.取表项数 () > 100) 提示信息.全部删除 () .如果真结束 .子程序 _时钟3_周期事件 点播控制 () 时钟3.时钟周期 = 0 .子程序 _客户列表框_表项被激活, , , 启动窗口 .判断开始 (客户列表框.取当前状态图片 (客户列表框.现行选中项) = 0) 客户列表框.置状态图片 (客户列表框.现行选中项, 1) .默认 客户列表框.置状态图片 (客户列表框.现行选中项, 0) .判断结束 ' 本源码来自易语言资源网(www.5A5X.com) .子程序 _提示信息_表项被激活, , , 启动窗口 .局部变量 计数, 整数型 .计次循环首 (到整数 (系统设置.N台.内容), 计数) .如果真 (提示信息.取标题 (提示信息.现行选中项, 1) = 客户列表框.取标题 (计数, 1)) 客户列表框.现行选中项 = 计数 客户列表框.保证显示 (计数) 跳出循环 () .如果真结束 ' 本源码来自易语言资源网(www.5A5X.com) .计次循环尾 () .子程序 _播放器_打开状态被改变 .参数 新状态, 整数型 .局部变量 临时媒体, 播放器媒体 .如果 (新状态 = #打开状态.媒体被打开) 临时媒体 = 播放器.取当前媒体 () 播放进度条.最大位置 = 四舍五入 (到整数 (临时媒体.取项目信息 (“Duration”)), ) 播放按钮.标题 = “暂停” .否则 返回 () .如果结束 ' 本源码来自易语言资源网(www.5A5X.com) .子程序 _播放器_播放状态被改变 .参数 新的状态, 整数型 .如果真 (新的状态 = #播放状态.播放结束) 播放按钮.标题 = “播放” 时钟3.时钟周期 = 1000 .如果真结束 .子程序 _播放器_错误发生 .如果真 (播放器.播放状态 = 9) 播放按钮.标题 = “播放” 时钟3.时钟周期 = 1000 .如果真结束 .子程序 点播控制, , , 歌曲点播 .如果 (点播播放状态 = 真) 点播列表.删除表项 (0) 点播播放 () 返回 () .否则 随机播放 () .如果结束 ' 本源码来自易语言资源网(www.5A5X.com) .子程序 点播播放, , , 歌曲点播!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .局部变量 通知机器编号, 文本型 .局部变量 通知歌曲名称, 文本型 .局部变量 通知表项索引, 整数型 .局部变量 标准歌曲名称, 文本型 .如果 (点播列表.取标题 (0, 2) ≠ “”) 点播播放状态 = 真 数量标签.标题 = “共点播了” + 到文本 (点播列表.取表项数 ()) + “首” 播放器.地址 = 点播列表.取标题 (0, 2) 控制.播放 () 状态条.置文本 (3, 点播列表.取标题 (0, 1)) 通知机器编号 = 点播列表.取标题 (0, 0) 通知歌曲名称 = 点播列表.取标题 (0, 1) 标准歌曲名称 = 取文本左边 (通知歌曲名称, 取文本长度 (通知歌曲名称) - 4) ' 本源码来自易语言资源网(www.5A5X.com) .计次循环首 (到整数 (系统设置.N台.内容), 通知表项索引) .如果真 (客户列表框.取标题 (通知表项索引 - 1, 1) = 通知机器编号) 服务器.发送数据 (客户列表框.取标题 (通知表项索引 - 1, 0), “控制命令” + “&&” + “正在播放” + “&&” + 标准歌曲名称, 1) 返回 () .如果真结束 .计次循环尾 () .否则 随机播放 () 返回 () .如果结束 .子程序 随机播放, , , 歌曲点播 .局部变量 随机数字, 整数型 .' 如果真 (系统设置.无人点播时播放音乐.选中 = 假) ' 点播播放状态 = 假 ' 控制.停止 () ' 状态条.置文本 (3, “等待点播状态”) ' 数量标签.标题 = “等待点播状态” ' 返回 () .如果真结束 .如果 (点播列表.取标题 (0, 2) ≠ “”) .计次循环首 (取秒 (取现行时间 ()), ) ' 随机数字 = 取随机数 (2, 点播列表.取表项数 ()) - 1 随机数字 = 点播列表.现行选中项 + 1 .计次循环尾 () 点播列表.现行选中项 = 随机数字 数量标签.标题 = “共” + 到文本 (点播列表.取表项数 ()) + “首/第” + 到文本 (随机数字 + 1) + “首” 点播列表.保证显示 (随机数字) 播放器.地址 = 点播列表.取标题 (随机数字, 2) ' 播放器.地址 = 系统设置.随机播放路径.内容 + “\” + 取文本右边 (点播列表.取标题 (随机数字, 1), 取文本长度 (点播列表.取标题 (随机数字, 1)) - 取文本长度 (取文本左边 (寻找文本 (点播列表.取标题 (随机数字, 1), “.”, , 假), 1))) ' 本源码来自易语言资源网(www.5A5X.com) 编辑框1.内容 = 播放器.地址 控制.播放 () 状态条.置文本 (0, 到文本 (随机数字)) ' 序号 状态条.置文本 (1, 到文本 (点播列表.取表项数 ())) ' 总影音 状态条.置文本 (2, “第” + 到文本 (随机数字 + 1) + “首”) ' 目前播放 状态条.置文本 (3, 点播列表.取标题 (随机数字, 1)) ' 影音名称 ' 状态条.置文本 (4, 点播列表.取标题 (随机数字, 1)) ' 时长 ' 状态条.置文本 (5, 点播列表.取标题 (随机数字, 1)) ' 速率 ' 状态条.置文本 (6, 点播列表.取标题 (随机数字, 1)) ' 日期 .否则 加入随机歌曲 () .如果结束 .子程序 加入随机歌曲, , , 歌曲点播 .局部变量 文件信息, 文本型 .局部变量 目录信息, 文本型 .局部变量 路径信息, 文本型 .局部变量 读目录, 文本型 .局部变量 表项索引, 整数型 .局部变量 随机路径, 文本型 .局部变量 歌曲名称, 文本型 .局部变量 排列序号, 整数型 ' 点播播放状态 = 假 ' 随机路径 = 系统设置.随机播放路径.内容 随机路径 = 读配置项 (取运行目录 () + “\MusicServer.ini”, “System”, “NoClientPath”, ) 点播列表.全部删除 () .如果真 (取文本右边 (随机路径, 1) ≠ “\”) 随机路径 = 随机路径 + “\” .如果真结束 ' *.asf,*.wma,*.wmv,*.mp3;*.wav,*.dat,*.rm,*.ra;*.rmvb,*.ram,*.mp4,*.mpg;*.mpeg, 文件信息 = 寻找文件 (随机路径 + “*.asf”, ) .判断循环首 (文件信息 ≠ “”) 路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符 文件信息 = 寻找文件 (, ) .判断循环尾 () 文件信息 = 寻找文件 (随机路径 + “*.wma”, ) .判断循环首 (文件信息 ≠ “”) 路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符 文件信息 = 寻找文件 (, ) .判断循环尾 () ' 本源码来自易语言资源网(www.5A5X.com) 文件信息 = 寻找文件 (随机路径 + “*.wmv”, ) .判断循环首 (文件信息 ≠ “”) 路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符 文件信息 = 寻找文件 (, ) .判断循环尾 () 文件信息 = 寻找文件 (随机路径 + “*.mp3”, ) .判断循环首 (文件信息 ≠ “”) 路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符 文件信息 = 寻找文件 (, ) .判断循环尾 () .判断循环首 (文件信息 ≠ “”) 路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符 文件信息 = 寻找文件 (, ) .判断循环尾 () 文件信息 = 寻找文件 (随机路径 + “*.dat”, ) .判断循环首 (文件信息 ≠ “”) 路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符 文件信息 = 寻找文件 (, ) .判断循环尾 () ' 本源码来自易语言资源网(www.5A5X.com) 文件信息 = 寻找文件 (随机路径 + “*.rm”, ) .判断循环首 (文件信息 ≠ “”) 路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符 文件信息 = 寻找文件 (, ) .判断循环尾 () 文件信息 = 寻找文件 (随机路径 + “*.rmvb”, ) .判断循环首 (文件信息 ≠ “”) 路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符 文件信息 = 寻找文件 (, ) .判断循环尾 () ' 本源码来自易语言资源网(www.5A5X.com) 文件信息 = 寻找文件 (随机路径 + “*.ra”, ) .判断循环首 (文件信息 ≠ “”) 路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符 文件信息 = 寻找文件 (, ) .判断循环尾 () .判断循环首 (文件信息 ≠ “”) 路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符 文件信息 = 寻找文件 (, ) .判断循环尾 () ' 本源码来自易语言资源网(www.5A5X.com) 文件信息 = 寻找文件 (随机路径 + “*.ram”, ) .判断循环首 (文件信息 ≠ “”) 路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符 文件信息 = 寻找文件 (, ) .判断循环尾 () 文件信息 = 寻找文件 (随机路径 + “*.mp4”, ) .判断循环首 (文件信息 ≠ “”) 路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符 文件信息 = 寻找文件 (, ) .判断循环尾 () ' 本源码来自易语言资源网(www.5A5X.com) 文件信息 = 寻找文件 (随机路径 + “*.mpg”, ) .判断循环首 (文件信息 ≠ “”) 路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符 文件信息 = 寻找文件 (, ) .判断循环尾 () .判断循环首 (文件信息 ≠ “”) 路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符 文件信息 = 寻找文件 (, ) .判断循环尾 () ' 本源码来自易语言资源网(www.5A5X.com) 文件信息 = 寻找文件 (随机路径 + “*.mpeg”, ) .判断循环首 (文件信息 ≠ “”) 路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符 文件信息 = 寻找文件 (, ) .判断循环尾 () .如果真 (路径信息 = “”) 返回 () .如果真结束 .判断循环首 (寻找文本 (路径信息, #换行符, , 假) ≠ -1) 读目录 = 读一段 (路径信息, #换行符) 路径信息 = 删一段 (路径信息, #换行符) 表项索引 = 点播列表.插入表项 (, “随机播放”, , , , ) 点播列表.置图片 (表项索引, 0, 2) 点播列表.置图片 (表项索引, 1, 1) ' 本源码来自易语言资源网(www.5A5X.com) 排列序号 = 排列序号 + 1 ' 歌曲名称 = 到文本 (排列序号) + “、” + 取文本右边 (读目录, 取文本长度 (读目录) - 倒找文本 (读目录, “\”, , 假)) 歌曲名称 = 到文本 (排列序号) + “、” + 取文本左边 (取文本右边 (读目录, 取文本长度 (读目录) - 倒找文本 (读目录, “\”, , 假)), 寻找文本 (取文本右边 (读目录, 取文本长度 (读目录) - 倒找文本 (读目录, “\”, , 假)), “.”, , 假) - 1) 点播列表.置标题 (表项索引, 0, 到文本 (排列序号)) 点播列表.置标题 (表项索引, 1, 歌曲名称) 点播列表.置标题 (表项索引, 2, 读目录) .判断循环尾 () 点播列表.现行选中项 = 到整数 (标签3.标题) ' 数量标签.标题 = “共” + 到文本 (影音序号) + “首” 数量标签.标题 = “共” + 到文本 (排列序号) + “首” 数量标签.标题 = “共” + 到文本 (点播列表.取表项数 ()) + “首/第” + 标签3.标题 + “首” ' 随机播放 () ' 本源码来自易语言资源网(www.5A5X.com) .子程序 读一段, 文本型, 公开, 歌曲点播 .参数 原内容, 文本型, , 原内容 .参数 分割符, 文本型, , 可以是#换行符,也可以是别的符号比如"/"","";"等 .局部变量 a, 整数型 .局部变量 b, 文本型 a = 寻找文本 (原内容, 分割符, , 真) b = 取文本左边 (原内容, a - 1) 返回 (b) .子程序 删一段, 文本型, 公开, 歌曲点播 .参数 原内容, 文本型, , 原内容 .参数 分割符, 文本型, , 可以是#换行符,也可以是别的符号比如"/"","";"等 .局部变量 a, 整数型 .局部变量 c, 文本型 .局部变量 b, 文本型 a = 寻找文本 (原内容, 分割符, , 真) b = 取文本左边 (原内容, a - 1) ' 本源码来自易语言资源网(www.5A5X.com) c = 取文本右边 (原内容, 取文本长度 (原内容) - 取文本长度 (b) - 取文本长度 (分割符)) 返回 (c) .子程序 _随机按钮_被单击, , , 歌曲点播 .局部变量 路径, 文本型 路径 = 浏览文件夹 (“请选择文件路径”, 假) .如果真 (路径 ≠ “”) ' 随机播放路径.内容 = 路径 写配置项 (取运行目录 () + “\MusicServer.ini”, “System”, “NoClientPath”, 路径) ' 如果真 (系统设置.无人点播时播放音乐.选中 = 假) .如果真结束 加入随机歌曲 () ' 信息框 (“对不起,你禁止了无人点播时播放音乐的功能!”, 0, ) ' 返回 () ' 本源码来自易语言资源网(www.5A5X.com) .' 如果真 (点播列表.取标题 (1, 0) = “”) ' 随机播放 () .如果真结束 .' 如果 (点播播放状态 = 真) ' 点播列表.现行选中项 = 0 ' 播放器.地址 = 点播列表.取标题 (点播列表.现行选中项, 2) ' 控制.播放 () ' 状态条.置文本 (3, 点播列表.取标题 (0, 1)) .否则 ' 随机播放 () .如果结束 .子程序 _播放按钮_被单击, , , 歌曲点播 .如果 (播放器.播放状态 = 3) 控制.暂停 () 播放按钮.标题 = “播放” .否则 控制.播放 () ' 本源码来自易语言资源网(www.5A5X.com) 播放按钮.标题 = “暂停” .如果结束 .子程序 _停止按钮_被单击, , , 歌曲点播 控制.停止 () 播放按钮.标题 = “播放” .子程序 _上移按钮_被单击 .局部变量 点播客户, 文本型 .局部变量 歌曲名称, 文本型 .局部变量 歌曲路径, 文本型 .局部变量 表项索引, 整数型 .如果真 (点播播放状态 = 假) 信息框 (“本操作仅对点播模式有效!”, #信息图标, ) 返回 () ' 本源码来自易语言资源网(www.5A5X.com) .如果真结束 .如果真 (点播列表.现行选中项 = 1) 信息框 (“正在播放顶端的歌曲,不能再向上移动了!”, #信息图标, ) 返回 () .如果真结束 .如果 (点播列表.取标题 (点播列表.现行选中项, 1) ≠ “”) 点播客户 = 点播列表.取标题 (点播列表.现行选中项, 0) 歌曲名称 = 点播列表.取标题 (点播列表.现行选中项, 1) 歌曲路径 = 点播列表.取标题 (点播列表.现行选中项, 2) 表项索引 = 点播列表.插入表项 (1, 点播客户, , , , ) 点播列表.置图片 (表项索引, 0, 0) 点播列表.置图片 (表项索引, 1, 1) 点播列表.置标题 (表项索引, 1, 歌曲名称) 点播列表.置标题 (表项索引, 2, 歌曲路径) ' 本源码来自易语言资源网(www.5A5X.com) 点播列表.删除表项 (点播列表.现行选中项) 点播列表.现行选中项 = 1 .否则 信息框 (“请选择要上移到顶部的歌曲!”, #信息图标, ) .如果结束 .子程序 _下移按钮_被单击 .局部变量 点播客户, 文本型 .局部变量 歌曲名称, 文本型 .局部变量 歌曲路径, 文本型 .局部变量 表项索引, 整数型 .如果真 (点播播放状态 = 假) 信息框 (“本操作仅对点播模式有效!”, #信息图标, ) 返回 () .如果真结束 .如果真 (点播列表.现行选中项 = 0) 信息框 (“此歌曲正在播放,不能移动!”, #信息图标, ) 返回 () .如果真结束 .如果 (点播列表.取标题 (点播列表.现行选中项, 1) ≠ “”) 点播客户 = 点播列表.取标题 (点播列表.现行选中项, 0) 歌曲名称 = 点播列表.取标题 (点播列表.现行选中项, 1) 歌曲路径 = 点播列表.取标题 (点播列表.现行选中项, 2) 表项索引 = 点播列表.插入表项 (点播列表.取表项数 (), 点播客户, , , , ) 点播列表.置图片 (表项索引, 0, 0) 点播列表.置图片 (表项索引, 1, 1) ' 本源码来自易语言资源网(www.5A5X.com) 点播列表.置标题 (表项索引, 1, 歌曲名称) 点播列表.置标题 (表项索引, 2, 歌曲路径) 点播列表.删除表项 (点播列表.现行选中项) 点播列表.现行选中项 = 点播列表.取表项数 () .否则 信息框 (“请选择要下移到底部的歌曲!”, #信息图标, ) .如果结束 .子程序 _删除按钮_被单击, , , 歌曲点播 .如果 (点播播放状态 = 真) .如果真 (点播列表.现行选中项 = 0) 点播列表.删除表项 (点播列表.现行选中项) 控制.停止 () ' 本源码来自易语言资源网(www.5A5X.com) 点播播放 () 返回 () .如果真结束 点播列表.删除表项 (点播列表.现行选中项) 数量标签.标题 = “共点播了” + 到文本 (点播列表.取表项数 ()) + “首” .否则 信息框 (“本操作仅对点播模式有效!”, #信息图标, ) .如果结束 .子程序 _清空按钮_被单击, , , 歌曲点播 点播播放状态 = 假 点播列表.全部删除 () ' 本源码来自易语言资源网(www.5A5X.com) 控制.停止 () 播放按钮.标题 = “播放” 状态条.置文本 (3, “等待点播状态”) 数量标签.标题 = “共0首” .子程序 _点播列表_表项被激活, , , 歌曲点播 .如果真 (点播播放状态 = 假) 播放器.地址 = 点播列表.取标题 (点播列表.现行选中项, 2) ' 播放器.地址 = 系统设置.随机播放路径.内容 + “\” + 取文本右边 (点播列表.取标题 (点播列表.现行选中项, 1), 取文本长度 (点播列表.取标题 (点播列表.现行选中项, 1)) - 寻找文本 (点播列表.取标题 (点播列表.现行选中项, 1), “.”, , 假)) 编辑框1.内容 = 播放器.地址 ' 取文本右边 (点播列表.取标题 (点播列表.现行选中项, 1), 取文本长度 (点播列表.取标题 (点播列表.现行选中项, 1)) - 寻找文本 (点播列表.取标题 (点播列表.现行选中项, 1), “.”, , 假)) ' 本源码来自易语言资源网(www.5A5X.com) 控制.播放 () 数量标签.标题 = “共” + 到文本 (点播列表.取表项数 ()) + “首/第” + 到文本 (取文本左边 (点播列表.取标题 (点播列表.现行选中项, 1), 寻找文本 (点播列表.取标题 (点播列表.现行选中项, 1), “.”, , 假) - 1)) + “首” 状态条.置文本 (3, 点播列表.取标题 (点播列表.现行选中项, 1)) .如果真结束 .子程序 __启动窗口_将被销毁 写配置项 (取运行目录 () + “\MusicServer.ini”, “System”, “播放序列”, 到文本 (点播列表.现行选中项)) ' 影音序号 = 写配置项 (取运行目录 () + “\MusicServer.ini”, “System”, “播放位置”, 到文本 (控制.当前位置)) ' 影音位置 = ' 本源码来自易语言资源网(www.5A5X.com) 写配置项 (取运行目录 () + “\MusicServer.ini”, “System”, “播放地址”, 播放器.地址) ' 歌曲列表 = 置托盘图标 (, ) .子程序 _标签1_反馈事件, 整数型 .参数 参数一, 整数型 .参数 参数二, 整数型 .如果 (参数一 = 热键标志) _启动窗口.可视 = 真 .否则 ' 本源码来自易语言资源网(www.5A5X.com) .如果结束 .子程序 _Exit_被选择 结束 () .子程序 _时钟4_周期事件 ' 如果 (标签1.可视 = 真) .如果 (标签1.底图 = #gqj) 标签1.底图 = #chaori .否则 .如果 (标签1.底图 = #chaori) 标签1.底图 = #qwly .否则 .如果 (标签1.底图 = #qwly) 标签1.底图 = #jintom .否则 .如果 (标签1.底图 = #jintom) 标签1.底图 = #gqj .否则 ' 本源码来自易语言资源网(www.5A5X.com) .如果结束 .如果结束 .如果结束 .如果结束 ' 时钟4.时钟周期 = 0 .子程序 _按钮1_被单击 .局部变量 g, , 静态 .如果 (点播列表.现行选中项 - 1 < 0) ' 播放器.地址 = 点播列表.取标题 (点播列表.取表项数 () - 1, 2) ' g = 到数值 (标签3.标题) 点播列表.现行选中项 = 点播列表.取表项数 () - 1 .否则 ' 播放器.地址 = 点播列表.取标题 (点播列表.现行选中项 - 1, 2) ' 标签3.标题 = 到文本 (g + 1) ' 本源码来自易语言资源网(www.5A5X.com) 点播列表.现行选中项 = 点播列表.现行选中项 - 1 .如果结束 标签3.标题 = 到文本 (点播列表.现行选中项 + 1) .子程序 _按钮2_被单击 .局部变量 g, , 静态 .局部变量 横向位置, 整数型 .局部变量 纵向位置, 整数型 .局部变量 功能键状态, 整数型 .如果 (点播列表.现行选中项 + 2 > 点播列表.取表项数 ()) ' 播放器.地址 = 点播列表.取标题 (0, 2) ' g = 到数值 (标签3.标题) 点播列表.现行选中项 = 0 .否则 ' 播放器.地址 = 点播列表.取标题 (点播列表.现行选中项 - 1, 2) ' 标签3.标题 = 到文本 (g + 1) ' 本源码来自易语言资源网(www.5A5X.com) 点播列表.现行选中项 = 点播列表.现行选中项 + 1 .如果结束 标签3.标题 = 到文本 (点播列表.现行选中项 + 1) ' g = 到数值 (标签3.标题) .子程序 _按钮3_鼠标位置被移动, 逻辑型 .参数 横向位置, 整数型 .参数 纵向位置, 整数型 .参数 功能键状态, 整数型 .如果 (横向位置 > 3 且 横向位置 < 按钮3.宽度 ÷ 2) .如果 (纵向位置 > 2 或 纵向位置 < 按钮3.高度 - 2) 按钮3.标题 = “完整窗口” .否则 ' 本源码来自易语言资源网(www.5A5X.com) .如果结束 .否则 .如果 (横向位置 > 按钮3.宽度 ÷ 2 且 横向位置 < 按钮3.宽度 - 3) .如果 (纵向位置 > 3 或 纵向位置 < 按钮3.高度 - 3) 按钮3.标题 = “单纯视屏” .否则 .如果结束 .否则 .如果 (横向位置 < 3 或 横向位置 > 按钮3.宽度 - 3) 按钮3.标题 = “播放界面” .否则 ' 本源码来自易语言资源网(www.5A5X.com) .如果结束 .如果结束 .如果结束 .如果 (纵向位置 ≤ 3 或 纵向位置 ≥ 按钮3.高度 - 3) 按钮3.标题 = “播放界面” .否则 .如果结束 .子程序 _按钮3_被单击, , , 播放界面 .如果 (按钮3.标题 = “完整窗口”) 播放器.界面模式 = “full” .否则 .如果 (按钮3.标题 = “单纯视屏”) 播放器.界面模式 = “none” .否则 ' 本源码来自易语言资源网(www.5A5X.com) .如果结束 .如果结束 .子程序 _点播列表_当前表项被改变 .如果真 (点播播放状态 = 假) 播放器.地址 = 点播列表.取标题 (点播列表.现行选中项, 2) ' 播放器.地址 = 系统设置.随机播放路径.内容 + “\” + 取文本右边 (点播列表.取标题 (点播列表.现行选中项, 1), 取文本长度 (点播列表.取标题 (点播列表.现行选中项, 1)) - 寻找文本 (点播列表.取标题 (点播列表.现行选中项, 1), “.”, , 假)) 编辑框1.内容 = 播放器.地址 ' 取文本右边 (点播列表.取标题 (点播列表.现行选中项, 1), 取文本长度 (点播列表.取标题 (点播列表.现行选中项, 1)) - 寻找文本 (点播列表.取标题 (点播列表.现行选中项, 1), “.”, , 假)) ' 本源码来自易语言资源网(www.5A5X.com) 控制.播放 () 标签3.标题 = 到文本 (点播列表.现行选中项 + 1) 数量标签.标题 = “共” + 到文本 (点播列表.取表项数 ()) + “首/第” + 到文本 (点播列表.现行选中项 + 1) + “首” 状态条.置文本 (3, 点播列表.取标题 (点播列表.现行选中项, 1)) .如果真结束 .子程序 _退出按钮_被单击 销毁 () ' 本源码来自易语言资源网(www.5A5X.com) .子程序 取星期, 文本型 .局部变量 星期, 整数型 星期 = 取星期几 (取现行时间 ()) .判断开始 (星期 = 1) 返回 (“星期日”) .默认 返回 (“星期” + 数值到大写 (星期 - 1, 真)) .判断结束