开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 3214|回复: 22
收起左侧

[2021开源大赛(第六届)] 文件枚举并生成按钮v1.0,全官方库写的,用到的知识点挺多

[复制链接]
结帖率:100% (1/1)
发表于 2021-12-5 01:17:30 | 显示全部楼层 |阅读模式   湖北省黄石市
最近在求助区看到有人有个小项目求助自定义按钮https://bbs.125.la/forum.php?mod=viewthread&tid=14709051
(出处: 精易论坛)

闲来无事我就动手写了这个,帮助发帖老哥的同时也检验一下易语言学的怎么样!

正巧看到开源大赛又开始了

  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口  by 月下美孤.FrodeHu@163.com
变量名类 型数组备 注
_枚举类_枚举  
_item按钮12 

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
_item [1] = 按钮1
_item [2] = 按钮2
_item [3] = 按钮3
_item [4] = 按钮4
_item [5] = 按钮5
_item [6] = 按钮6
_item [7] = 按钮7
_item [8] = 按钮8
_item [9] = 按钮9
_item [10] = 按钮10
_item [11] = 按钮11
_item [12] = 按钮12
XP风格 (3)
_启动窗口.总在最前 = 真
子程序名返回值类型公开备 注
_时钟1_周期事件 监控目录文件数量,有变动的情况下会刷新变量 找到的文件列表、_文件数量  的值
变量名类 型静态数组备 注
临时_文件数量整数型 
文件列表_目录文本型0
i整数型 
' 调用方法枚举目录下文件数量、文件名列表
临时_文件数量 = _枚举.枚举_目录下文件数量 (编辑框1.内容)
如果真 (_文件数量 ≠ 临时_文件数量)  ' 目录下文件数量变动
_文件数量 = 临时_文件数量  ' 全局变量 _文件数量
_枚举.枚举_文件名 (编辑框1.内容, 文件列表_目录)  ' 调用方法枚举目录下文件名数组''易语言
复制数组 (找到的文件列表, 文件列表_目录)  ' 将枚举到的数组传给全局变量数组 找到的文件列表
输出调试文本 (_文件数量)
输出调试文本 (找到的文件列表 [1])
新建按钮_参数获取_配置组件 ()
标签_文件数量.标题 = 到文本 (_文件数量)
子程序名返回值类型公开备 注
新建按钮_参数获取_配置组件 获取选择夹末页按钮个数和选择夹样式
变量名类 型静态数组备 注
_按钮个数1整数型 
需要增加的子夹数量双精度小数型 
i整数型 
' 判断需要增加的选择夹数量
' 我画的按钮一个选择夹子夹只能放下12个
' 默认已经有一个子夹了,实际子夹数量会多一个,所以对 需要增加的选择夹数量 直接取整就完了
需要增加的子夹数量 = 取整 (_文件数量 ÷ 12)
' 末页按钮个数,按钮个数显而易见就是_文件数量
' 前x-1页都是铺满12个按钮,就是 (x-1)*12 个按钮,末页就是剩下的,也就是_文件数量-(x-1)*12
_按钮个数1 = 需要增加的子夹数量 × 12
末页按钮个数 = _文件数量 - _按钮个数1  ' 直接传值给全局变量 末页按钮个数
输出调试文本 (“需要增加的选择夹数量”到文本 (需要增加的子夹数量))
输出调试文本 (“末页按钮个数”到文本 (_按钮个数1))
' 我们拿到了想要的参数,接着就根据参数对按钮和选择夹样式进行修改
计次循环首 (需要增加的子夹数量, i)
高级选择夹1.加入子夹 (“page”到文本 (i + 1), , , , )  ' 选择夹调整
计次循环尾 ()
' 选择夹按钮调整
高级选择夹1.现行子夹 = 0
如果 (需要增加的子夹数量 ≥ 1)
计次循环首 (12, i)
_item [i].标题 = 找到的文件列表 [i]
_item [i].可视 = 真
_item [i].禁止 = 假
计次循环尾 ()

计次循环首 (_文件数量, i)
_item [i].标题 = 找到的文件列表 [i]
_item [i].可视 = 真
_item [i].禁止 = 假
计次循环尾 ()

子程序名返回值类型公开备 注
_高级选择夹1_子夹头被单击  
参数名类 型参考可空数组备 注
子夹索引整数型
变量名类 型静态数组备 注
i整数型 
处理按钮_初始整数型 
子夹_当前页面 = 子夹索引 + 1
输出调试文本 (“当前:第”到文本 (子夹_当前页面)“页”)
判断 (_文件数量 > 12)  ' 按钮数>12 '子夹数目不唯一继续判断
判断 (子夹索引 = 高级选择夹1.取子夹数目 () - 1)  ' 子夹索引为最后一个子夹
输出调试文本 (“末页按钮个数:”到文本 (末页按钮个数))
' 给末页按钮改标题和对应的响应子程序
变量循环首 (末页按钮个数, 1, -1, i)  ' 这里是倒序,从最后一个按钮开始给按钮标题赋值
如果真 (i = 末页按钮个数)
_item [末页按钮个数].标题 = 找到的文件列表 [_文件数量]  ' 第一个按钮标题指直接用文件列表的最后一个成员,能理解吧?
到循环尾 ()
_item [末页按钮个数].标题 = 找到的文件列表 [_文件数量 - 1]
变量循环尾 ()
' 将多余按钮隐藏、禁止掉
计次循环首 (12 - 末页按钮个数, i)
处理按钮_初始 = i + 末页按钮个数
_item [处理按钮_初始].禁止 = 真
_item [处理按钮_初始].可视 = 假
计次循环尾 ()



变量循环首 (12, 1, -1, i)  ' 最后一页之前的子夹都是满铺’画按钮
如果真 (i = 12)
_item [i].标题 = 找到的文件列表 [子夹_当前页面 × 12]  ' 最后一个按钮的标题 ‘子夹索引 × 12是现行子夹的最后一个标题
到循环尾 ()

_item [i].标题 = 找到的文件列表 [子夹_当前页面 × 12 - 1]  ' 这里是倒序,从最后一个按钮开始给按钮标题赋值
变量循环尾 ()
' 显示页面所有按钮‘防止用户点击最后一页然后切回后有按钮不显示
计次循环首 (12, i)
_item [i].禁止 = 假
_item [i].可视 = 真
计次循环尾 ()



判断 (_文件数量 ≤ 12)  ' 按钮数<=12’子夹数目为1继续判断
计次循环首 (末页按钮个数, i)  ' 只有一页的情况,先改标题
_item [i].标题 = 找到的文件列表 [i]
计次循环尾 ()
' 将多余按钮隐藏、禁止掉
计次循环首 (12 - 末页按钮个数, i)
处理按钮_初始 = i + 末页按钮个数
_item [处理按钮_初始].禁止 = 真
_item [处理按钮_初始].可视 = 假
计次循环尾 ()



子程序名返回值类型公开备 注
_按钮1_被单击 按钮事件_打开按钮对应的文件
变量名类 型静态数组备 注
_打开文件的路径文本型 
_打开文件的路径 = 编辑框1.内容 + “\” + 按钮1.标题
如果真 (文件是否存在 (_打开文件的路径))
重启自身 ()
返回 ()
执行 (4, _打开文件的路径, , , )
子程序名返回值类型公开备 注
_按钮2_被单击 按钮事件_打开按钮对应的文件
变量名类 型静态数组备 注
_打开文件的路径文本型 
_打开文件的路径 = 编辑框1.内容 + “\” + 按钮1.标题
如果真 (文件是否存在 (_打开文件的路径))
重启自身 ()
返回 ()

执行 (4, _打开文件的路径, , , )
子程序名返回值类型公开备 注
_按钮3_被单击 按钮事件_打开按钮对应的文件
变量名类 型静态数组备 注
_打开文件的路径文本型 
_打开文件的路径 = 编辑框1.内容 + “\” + 按钮1.标题
如果真 (文件是否存在 (_打开文件的路径))
重启自身 ()
返回 ()

执行 (4, _打开文件的路径, , , )
子程序名返回值类型公开备 注
_按钮4_被单击 按钮事件_打开按钮对应的文件
变量名类 型静态数组备 注
_打开文件的路径文本型 
_打开文件的路径 = 编辑框1.内容 + “\” + 按钮1.标题
如果真 (文件是否存在 (_打开文件的路径))
重启自身 ()
返回 ()

执行 (4, _打开文件的路径, , , )
子程序名返回值类型公开备 注
_按钮5_被单击 按钮事件_打开按钮对应的文件
变量名类 型静态数组备 注
_打开文件的路径文本型 
_打开文件的路径 = 编辑框1.内容 + “\” + 按钮1.标题
如果真 (文件是否存在 (_打开文件的路径))
重启自身 ()
返回 ()
执行 (4, _打开文件的路径, , , )
子程序名返回值类型公开备 注
_按钮6_被单击 按钮事件_打开按钮对应的文件
变量名类 型静态数组备 注
_打开文件的路径文本型 
_打开文件的路径 = 编辑框1.内容 + “\” + 按钮1.标题
如果真 (文件是否存在 (_打开文件的路径))
重启自身 ()
返回 ()

执行 (4, _打开文件的路径, , , )
子程序名返回值类型公开备 注
_按钮7_被单击 按钮事件_打开按钮对应的文件
变量名类 型静态数组备 注
_打开文件的路径文本型 
_打开文件的路径 = 编辑框1.内容 + “\” + 按钮1.标题
如果真 (文件是否存在 (_打开文件的路径))
重启自身 ()
返回 ()

执行 (4, _打开文件的路径, , , )
子程序名返回值类型公开备 注
_按钮8_被单击 按钮事件_打开按钮对应的文件
变量名类 型静态数组备 注
_打开文件的路径文本型 
_打开文件的路径 = 编辑框1.内容 + “\” + 按钮1.标题
如果真 (文件是否存在 (_打开文件的路径))
重启自身 ()
返回 ()

执行 (4, _打开文件的路径, , , )
子程序名返回值类型公开备 注
_按钮9_被单击 按钮事件_打开按钮对应的文件
变量名类 型静态数组备 注
_打开文件的路径文本型 
_打开文件的路径 = 编辑框1.内容 + “\” + 按钮1.标题
如果真 (文件是否存在 (_打开文件的路径))
重启自身 ()
返回 ()

执行 (4, _打开文件的路径, , , )
子程序名返回值类型公开备 注
_按钮10_被单击 按钮事件_打开按钮对应的文件
变量名类 型静态数组备 注
_打开文件的路径文本型 
_打开文件的路径 = 编辑框1.内容 + “\” + 按钮1.标题
如果真 (文件是否存在 (_打开文件的路径))
重启自身 ()
返回 ()

执行 (4, _打开文件的路径, , , )
子程序名返回值类型公开备 注
_按钮11_被单击 按钮事件_打开按钮对应的文件
变量名类 型静态数组备 注
_打开文件的路径文本型 
_打开文件的路径 = 编辑框1.内容 + “\” + 按钮1.标题
如果真 (文件是否存在 (_打开文件的路径))
重启自身 ()
返回 ()

执行 (4, _打开文件的路径, , , )
子程序名返回值类型公开备 注
_按钮12_被单击 按钮事件_打开按钮对应的文件
变量名类 型静态数组备 注
_打开文件的路径文本型 
_打开文件的路径 = 编辑框1.内容 + “\” + 按钮1.标题
如果真 (文件是否存在 (_打开文件的路径))
重启自身 ()
返回 ()

执行 (4, _打开文件的路径, , , )
子程序名返回值类型公开备 注
_按钮_打开目录_被单击  
执行 (4, 编辑框1.内容, , , )
子程序名返回值类型公开备 注
_按钮_选择目录_被单击 只能是目录哦
判断 (编辑框1.内容 = “”)
' ' 通用对话框1.标题 = “by_月下美孤_FrodeHu@163.com
' ' 通用对话框1.打开 ()
编辑框1.内容 = 浏览文件夹 (“by_月下美孤_FrodeHu@163.com, )
如果真 (编辑框1.内容 ≠ “”)
时钟1.时钟周期 = 到整数 (编辑框_刷新频率.内容)

重启自身 ()

子程序名返回值类型公开备 注
_编辑框_刷新频率_内容被改变  
如果真 (信息框 (“是否更改监视目录的间隔时间”, #确认钮, “by_月下美孤_FrodeHu@163.com, )#确认钮 )
编辑框_刷新频率.获取焦点 ()
编辑框_刷新频率.字体.加粗 = 真
时钟1.时钟周期 = 到整数 (编辑框_刷新频率.内容)

_启动窗口.获取焦点 ()
编辑框_刷新频率.字体.加粗 = 假
子程序名返回值类型公开备 注
重启自身 按钮不能打开文件时自动调用
变量名类 型静态数组备 注
命令文本型 
命令 = “taskkill /f /im ”#引号取执行文件名 ()#引号“ &start ”#引号#引号“ ”#引号取执行文件名 ()#引号“ &exit”
运行 (“cmd /c ” + 命令, 假,


i支持库列表   支持库注释   
xplibXP风格界面库
iext3扩展界面支持库三
shell操作系统界面功能支持库

那我不得凑个热闹

源码很白,没有用到模块,纯官方库,用到了不少重要的基础知识!(数组|类模块的写法|循环之类的)

我也是尽量做到通俗易懂了,注释写的有点多,各位老哥老姐们不要介意,

关于bug方面,因为我没有花很多时间测试,所以不知道对.txt|.exe格式之外的文件不支持。




文件枚举并生成按钮.e

29.42 KB, 下载次数: 40, 下载积分: 精币 -2 枚

1.png

评分

参与人数 1好评 +1 精币 +5 收起 理由
易语言资源网 + 1 + 5 支持开源~!感谢分享

查看全部评分

结帖率:100% (1/1)

签到天数: 13 天

 楼主| 发表于 2021-12-7 14:48:58 | 显示全部楼层   湖北省武汉市
学友们,文件枚举并生成按钮2.0版已经发布啦,由于本人的疏忽导致第一版源码算法有问题,现已改正
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 13 天

 楼主| 发表于 2021-12-7 15:03:32 | 显示全部楼层   湖北省武汉市
月下美孤 发表于 2021-12-7 14:48
学友们,文件枚举并生成按钮2.0版已经发布啦,由于本人的疏忽导致第一版源码算法有问题,现已改正 ...

(bug更正)文件枚举并生成按钮v1.0,全官方库纯源码
https://bbs.125.la/forum.php?mod=viewthread&tid=14709541
(出处: 精易论坛)
回复 支持 反对

使用道具 举报

结帖率:100% (21/21)

签到天数: 29 天

发表于 2022-10-1 16:17:47 | 显示全部楼层   河南省南阳市
学习下看看
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2022-6-27 16:10:32 | 显示全部楼层   广东省惠州市
打开学习 看一看,,,学习基础知识很重要
回复 支持 反对

使用道具 举报

结帖率:81% (13/16)

签到天数: 5 天

发表于 2022-1-4 20:22:00 | 显示全部楼层   浙江省嘉兴市
感谢楼主分享,支持一下~~!!!
回复 支持 反对

使用道具 举报

发表于 2021-12-31 08:13:30 | 显示全部楼层   广西壮族自治区柳州市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2021-12-15 16:42:59 | 显示全部楼层   四川省成都市
支持开源~!感谢分享!!!
回复 支持 反对

使用道具 举报

结帖率:33% (2/6)

签到天数: 1 天

发表于 2021-12-11 16:24:34 | 显示全部楼层   广东省广州市
谢谢分享
回复 支持 反对

使用道具 举报

发表于 2021-12-11 09:02:08 | 显示全部楼层   湖南省郴州市

支持开源~!感谢分享!!!
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 13 天

 楼主| 发表于 2021-12-7 15:04:25 | 显示全部楼层   湖北省武汉市

(bug更正)文件枚举并生成按钮v1.0,全官方库纯源码
https://bbs.125.la/forum.php?mod=viewthread&tid=14709541
(出处: 精易论坛)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表