[源码]会议歌曲播放辅助工具V1

开源一个会议场合音乐播放辅助工具,

开发语言:易语言

工具主要是为了方便操作播放器,全依靠方向键,如下图:

QQ截图20181115150400

软件注册了全局热键:↑、→、↓、←

用户只需要控制方向键即可,音乐可以设定手动播放、自动播放(选中歌曲右键菜单)。

QQ截图20181115150620

以下是源码:

.版本 2
.支持库 shellEx
.支持库 iext
.支持库 eMMedia

.程序集 窗口程序集_启动窗口
.程序集变量 播放热键, 整数型
.程序集变量 暂停热键, 整数型
.程序集变量 上一首热键, 整数型
.程序集变量 下一首热键, 整数型

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

标题 = “会议歌曲播放辅助工具”
.如果真 (文件是否存在 (取运行目录 () + “\sysmp3.ini”) = 假)
写到文件 (取运行目录 () + “\sysmp3.ini”, #ini)
.如果真结束
扫描文件夹 ()
给文件上状态 ()
播放热键 = 注册热键 (_启动窗口.取窗口句柄 (), 标签1.取窗口句柄 (), 0, #右光标键)
暂停热键 = 注册热键 (_启动窗口.取窗口句柄 (), 标签1.取窗口句柄 (), 0, #左光标键)
上一首热键 = 注册热键 (_启动窗口.取窗口句柄 (), 标签1.取窗口句柄 (), 0, #上光标键)
下一首热键 = 注册热键 (_启动窗口.取窗口句柄 (), 标签1.取窗口句柄 (), 0, #下光标键)

.子程序 _自动播放_被选择

写配置项 (取运行目录 () + “\sysmp3.ini”, “MP3”, 超级列表框1.取标题 (超级列表框1.现行选中项, 0), “0”)
超级列表框1.置标题 (超级列表框1.现行选中项, 2, “自动播放”)

.子程序 扫描文件夹, , , MP3只能放在程序目录下

搜索文件夹 (取运行目录 (), “*.mp3”)
标签1.标题 = “就绪!”

.子程序 搜索文件夹
.参数 目录, 文本型
.参数 后缀名, 文本型
.局部变量 temp, 文本型
.局部变量 a, 整数型

.如果真 (取文本右边 (目录, 1) ≠ “\”)
目录 = 目录 + “\”
.如果真结束
输出调试文本 (目录)
temp = 寻找文件 (目录 + 后缀名, )

.判断循环首 (temp ≠ “”)
处理事件 ()
.如果真 (temp ≠ “.” 且 temp ≠ “..”)
处理事件 ()
标签1.标题 = “当前文件:” + temp
a = 超级列表框1.插入表项 (0, temp, , , , )
超级列表框1.置标题 (a, 1, 目录 + temp)
超级列表框1.置标题 (a, 2, “0”)

.如果真结束
temp = 寻找文件 (, )

.判断循环尾 ()

.子程序 _手动播放_被选择

写配置项 (取运行目录 () + “\sysmp3.ini”, “MP3”, 超级列表框1.取标题 (超级列表框1.现行选中项, 0), “1”)
超级列表框1.置标题 (超级列表框1.现行选中项, 2, “手动播放”)

.子程序 给文件上状态
.局部变量 i, 整数型
.局部变量 temp, 整数型

.计次循环首 (超级列表框1.取表项数 (), i)
temp = 到数值 (读配置项 (取运行目录 () + “\sysmp3.ini”, “MP3”, 超级列表框1.取标题 (i - 1, 0), “0”))
.判断开始 (temp = 0)
超级列表框1.置标题 (i - 1, 2, “自动播放”)
.判断 (temp = 1)
超级列表框1.置标题 (i - 1, 2, “手动播放”)
.默认
超级列表框1.置标题 (i - 1, 2, “未知”)
.判断结束

.计次循环尾 ()

.子程序 _超级列表框1_右键单击表项

.如果 (超级列表框1.取标题 (超级列表框1.现行选中项, 2) = “自动播放”)
自动播放.选中 = 真
.否则
自动播放.选中 = 假
.如果结束

弹出菜单 (菜单, , )
.子程序 _按钮1_被单击

_播放_被选择 ()

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

_暂停_被选择 ()

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

_下一首_被选择 ()

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

_上一首_被选择 ()
.子程序 _播放_被选择
.局部变量 文件, 文本型
.如果 (媒体播放1.取状态 () = 1 且 全_继续播放 = 假)
媒体播放1.停止 ()
时钟1.时钟周期 = 0
标签1.标题 = “状态:停止”
按钮1.标题 = “播放”
进度条1.位置 = 0
.否则
全_继续播放 = 假
.如果真 (超级列表框1.现行选中项 = -1)
超级列表框1.现行选中项 = 0
超级列表框1.保证显示 (超级列表框1.现行选中项)
超级列表框1.获取焦点 ()
.如果真结束

文件 = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
媒体播放1.打开 (文件)
媒体播放1.播放 (-1, )

时钟1.时钟周期 = 1000
进度条1.最大位置 = 媒体播放1.取总时间 ()
分 = 取整 (媒体播放1.取总时间 () ÷ 60)
秒 = 媒体播放1.取总时间 () % 60
标签1.标题 = “正在播放:” + 超级列表框1.取标题 (超级列表框1.现行选中项, 0) + “ ” + 取文本右边 (“0” + 到文本 (分), 2) + “:” + 取文本右边 (“0” + 到文本 (秒), 2)
按钮1.标题 = “停止”
.如果结束

超级列表框1.保证显示 (超级列表框1.现行选中项)
超级列表框1.获取焦点 ()

.子程序 _暂停_被选择

.如果 (媒体播放1.取状态 () = 1)
媒体播放1.暂停 ()
时钟1.时钟周期 = 0
标签1.标题 = “状态:暂停”
按钮2.标题 = “继续”
.否则
媒体播放1.播放 (进度条1.位置 × 1000, )
时钟1.时钟周期 = 1000
按钮2.标题 = “暂停”
标签1.标题 = “正在播放:” + 超级列表框1.取标题 (超级列表框1.现行选中项, 0) + “ ” + 取文本右边 (“0” + 到文本 (分), 2) + “:” + 取文本右边 (“0” + 到文本 (秒), 2)
.如果结束
超级列表框1.保证显示 (超级列表框1.现行选中项)
超级列表框1.获取焦点 ()
.子程序 _下一首_被选择

.如果真 (超级列表框1.取表项数 () = 超级列表框1.现行选中项 + 1)
超级列表框1.现行选中项 = -1
.如果真结束
超级列表框1.现行选中项 = 超级列表框1.现行选中项 + 1
媒体播放1.停止 ()
时钟1.时钟周期 = 0
标签1.标题 = “状态:停止”
按钮1.标题 = “播放”
进度条1.位置 = 0
全_继续播放 = 真
_播放_被选择 ()

.子程序 _上一首_被选择

.如果真 (超级列表框1.现行选中项 = 0)
超级列表框1.现行选中项 = 超级列表框1.取表项数 ()
.如果真结束
超级列表框1.现行选中项 = 超级列表框1.现行选中项 - 1
媒体播放1.停止 ()
时钟1.时钟周期 = 0
标签1.标题 = “状态:停止”
按钮1.标题 = “播放”
进度条1.位置 = 0
全_继续播放 = 真
_播放_被选择 ()

.子程序 _时钟1_周期事件
.局部变量 i, 整数型
.局部变量 temp, 文本型

.如果 (秒 = 0)
秒 = 59
分 = 分 - 1
.否则
秒 = 秒 - 1
.如果结束
标签1.标题 = “正在播放:” + 超级列表框1.取标题 (超级列表框1.现行选中项, 0) + “ ” + 取文本右边 (“0” + 到文本 (分), 2) + “:” + 取文本右边 (“0” + 到文本 (秒), 2)
进度条1.位置 = 进度条1.位置 + 1

.如果真 (进度条1.位置 ≥ 进度条1.最大位置)

进度条1.位置 = 0
时钟1.时钟周期 = 0
temp = 超级列表框1.取标题 (超级列表框1.现行选中项 + 1, 2)

.如果 (temp = “自动播放”)
超级列表框1.现行选中项 = 超级列表框1.现行选中项 + 1
超级列表框1.保证显示 (超级列表框1.现行选中项)
超级列表框1.获取焦点 ()

全_继续播放 = 真
_播放_被选择 ()
.否则
标签1.标题 = “状态:停止”
按钮1.标题 = “播放”

超级列表框1.现行选中项 = 超级列表框1.现行选中项 + 1
超级列表框1.保证显示 (超级列表框1.现行选中项)
超级列表框1.获取焦点 ()
.如果结束

.如果真结束
.子程序 __启动窗口_将被销毁

撤销热键 (_启动窗口.取窗口句柄 (), 播放热键)
撤销热键 (_启动窗口.取窗口句柄 (), 暂停热键)
撤销热键 (_启动窗口.取窗口句柄 (), 上一首热键)
撤销热键 (_启动窗口.取窗口句柄 (), 下一首热键)

.子程序 _标签1_反馈事件, 整数型
.参数 参数一, 整数型
.参数 参数二, 整数型

.判断开始 (参数一 = 播放热键)
_播放_被选择 ()
.判断 (参数一 = 暂停热键)
_暂停_被选择 ()
.判断 (参数一 = 上一首热键)
_上一首_被选择 ()
.判断 (参数一 = 下一首热键)
_下一首_被选择 ()
.默认

.判断结束

 

 

以下是全局变量:

.版本 2

.全局变量 全_打开类型, 整数型
.全局变量 分, 整数型
.全局变量 秒, 整数型
.全局变量 全_继续播放, 逻辑型

文件下载地址:

链接:https://pan.baidu.com/s/1437Q4MCgIHr_RYdAmojXGw
提取码:mbmp

蓝芯会员管理系统V1开源(易语言源代码)

a001

a002

 

今天,终于把蓝芯会员管理系统V1开源了,开源不意味着我不会再继续跟进这个软件,当出现BUG的时候,我还是会及时更新的;这两年来,工作总是繁忙的,没有时间去跟进蓝芯会员管理系统V1的项目,还不如直接开源,给有用的人进行适当的修改,或许可以帮到更多人。

申明:

本页面的软件遵照GPL协议开放源代码,您可以自由传播和修改,在遵照下面的约束条件的前提下:

一. 只要你在蓝芯会员管理系统V1开源软件的每一副本上明显和恰当地出版版权声明,保持此许可证的声明和没有担保的声明完整无损,并和程序一起给每个其他的程序接受者一份许可证的副本,你就可以用任何媒体复制和发布你收到的原始的程序的源代码。你也可以为转让副本的实际行动收取一定费用,但必须事先得到的同意。

二.你可以修改蓝芯会员管理系统V1开源软件的一个或几个副本或程序的任何部分,以此形成基于程序的作品。只要你同时满足下面的所有条件,你就可以按前面第一款的要求复制和发布这一经过修改的程序或作品。

1. 你必须在修改的文件中附有明确的说明:你修改了这一文件及具体的修改日期。

2. 你必须使你发布或出版的作品(它包含程序的全部或一部分,或包含由程序的全部或部分衍生的作品)允许第三方作为整体按许可证条款免费使用。

3. 如果修改的程序在运行时以交互方式读取命令,你必须使它在开始进入常规的交互使用方式时打印或显示声明:包括适当的版权声明和没有担保的声明(或者你提供担保的声明);用户可以按此许可证条款重新发布程序的说明;并告诉用户如何看到这一许可证的副本。(例外的情况:如果原始程序以交互方式工作,它并不打印这样的声明,你的基于程序的作品也就不用打印声明。

三.只要你遵循一、二条款规定,您就可以自由使用并传播本源代码,但必须原封不动地保留原作者信息。

四.压缩包的密码是:lanxinbase.com;源码的密码是:5520,除了蓝芯框架模块源码未公开,其余的全部公开。

五.下载网址:链接: https://pan.baidu.com/s/1b4nC6q 密码: ****

蓝芯E管家V3开源(易语言源代码)

QQ截图20161005113709

今天,终于把蓝芯E管家V3开源了,开源不意味着我不会再继续跟进这个软件,当出现BUG的时候,我还是会及时更新的;这两年来,工作总是繁忙的,没有时间去跟进蓝芯E管家的项目,还不如直接开源,给有用的人进行适当的修改,或许可以帮到更多人。

申明:

本页面的软件遵照GPL协议开放源代码,您可以自由传播和修改,在遵照下面的约束条件的前提下:

一. 只要你在蓝芯E管家V3开源软件的每一副本上明显和恰当地出版版权声明,保持此许可证的声明和没有担保的声明完整无损,并和程序一起给每个其他的程序接受者一份许可证的副本,你就可以用任何媒体复制和发布你收到的原始的程序的源代码。你也可以为转让副本的实际行动收取一定费用,但必须事先得到的同意。

二.你可以修改蓝芯E管家V3开源软件的一个或几个副本或程序的任何部分,以此形成基于程序的作品。只要你同时满足下面的所有条件,你就可以按前面第一款的要求复制和发布这一经过修改的程序或作品。

1. 你必须在修改的文件中附有明确的说明:你修改了这一文件及具体的修改日期。

2. 你必须使你发布或出版的作品(它包含程序的全部或一部分,或包含由程序的全部或部分衍生的作品)允许第三方作为整体按许可证条款免费使用。

3. 如果修改的程序在运行时以交互方式读取命令,你必须使它在开始进入常规的交互使用方式时打印或显示声明:包括适当的版权声明和没有担保的声明(或者你提供担保的声明);用户可以按此许可证条款重新发布程序的说明;并告诉用户如何看到这一许可证的副本。(例外的情况:如果原始程序以交互方式工作,它并不打印这样的声明,你的基于程序的作品也就不用打印声明。

三.只要你遵循一、二条款规定,您就可以自由使用并传播本源代码,但必须原封不动地保留原作者信息。

四.压缩包的密码是:lanxinbase.com;源码的密码是:5520,除了蓝芯框架模块源码未公开,其余的全部公开。

五.下载网址:链接:http://pan.baidu.com/s/1o7Univ4 密码:****

模拟攒机-模拟装机 易语言源码(开源)

蓝芯科技 电脑组装、diy报价系统 【模拟攒机-模拟装机】

主要集成在线采集功能,可以自由采集中关村、太平洋等大型IT报价网站。

也可以采集京东、淘宝、天猫等商城网站。

采集数据价格可自定义累加。

支持打印、数据保存、

1239