开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 74464|回复: 270
收起左侧

易语言5.71黑月编译器自绘教程及所有模块

    [复制链接]
发表于 2018-4-28 21:57:31 | 显示全部楼层 |阅读模式   柬埔寨
易语言5.6  -  5.71版本
【黑月编译器简介】【黑月编译器安装与编译】【黑月模块自绘和扫描生成】【黑月资源编辑器RC调用控件和程序图标】【黑月所有模块和安装包】
本教程为黑月使用入门教程,适合新手观看

最近看到有人提起到黑月编译器和窗口自绘,突然想起自己很久以前用过,由于效率的问题,扔掉了。然后从网上搜了一会没有发现关于黑月的教程。只找到了一个黑月入门到中级,还是很久以前的教程,里面用的模块都已经找不到了。打算重新写一个简单的小教程,也当给自己记性不好,做个笔记。
-
【黑月编译器简介】
什么是黑月编译器?
黑月编译器与斩月相似,但比斩月更强大。黑月的存在是为了易程序编译时脱离易语言的支持库。

为什么要脱离易语言支持库?
易语言独特的静态编译方式,是利用vc将支持库打包链接进软件当中,这就造成了软件体积过大,并且形成了类似捆绑的特征出现,而杀毒软件经常以特征码的方式识别病毒,就会导致易语言编写的程序被频繁报病毒,而使用黑月编译器就解决了报毒的问题,让易程序有了规范的PE结构。且缩小了软件体积,最小的程序为8kb,而易语言空程序也要600多kb,在小程序上,有着非常明显的体积差距,并且提供三种编译方式,汇编编译,纯c/c++编译,和vc的mfc编译。黑月只使用了易语言开发环境。让易语言有了中文c++的美喻。

黑月有没有缺点?
黑月的缺点也比较明显,由于不能支持易语言自带界面。所以软件的界面全部需要自绘完成,需要大量调用api,即使有非常多的自绘模块,依然不如易语言自带界面丰富完善容易。自绘需要大量的窗体创建,和手写挂接事件代码,让代码长度倍翻。极大的提高了难度,降低了开发效率,更是让新手望而却步。


【黑月编译器安装与编译】
我将提供黑月编译器3.51和黑月3.53两个版本给大家。这里不做太多介绍,无论是安装包,还是压缩包。直接覆盖在易语言主目录下就可以,即易语言的“e”文件夹下。本人在多台电脑及不同的系统和不同的易语言版本,均发现3.53版本编译时,出现2次读入易代码,第二次出现编译错误的提示。虽然不影响使用,但是看起来很烦。所以我就继续使用 了3.51版本。以下也以3.51为例!
回到正题-----覆盖到文件夹后,打开易语言---工具---支持库配置---全选或者选择黑月编译器插件。点击确定,就可以在工具和编译中,看到黑月选项。安装就完成了。
如何编译 -----我们在工具---黑月工具设置中选择编译方式,然后点击编译---黑月编译即可。注:编译时,不可有易语言窗口,我们可通过创建一个程序集,添加一个启动子程序,并且删除窗体即可。
或者直接在工具---系统配置--通常--选择通过名为_启动子程序的子程序启动。
1.png

【黑月模块窗口自绘与扫描】

下面将使用黑月界面类3.62模块,进行演示。
  
窗口程序集名保 留  保 留备 注
程序集1   
变量名类 型数组备 注
应用程序应用程序类  
窗口1窗口类  
按钮1按钮类  

子程序名返回值类型公开备 注
_启动子程序整数型 本子程序在程序启动后最先执行
应用程序.初始化 ()  ' 必须使用本条命令进行初始化
窗口1.事件_创建完毕 (&窗口1创建完毕)  ' 创建窗口事件
窗口1.创建 (, “窗口创建”, , 黑月坐标 (300, 300), , , , )  ' 创建的窗口必须在窗体创建事件命令之下,否则事件无法生效
应用程序.运行 (窗口1, )
返回 (0)  ' 可以根据您的需要返回任意数值
子程序名返回值类型公开备 注
窗口1创建完毕  
按钮1.创建 (窗口1, “确定”, 黑月坐标 (20, 20), 黑月坐标 (100, 30), , , 0)
按钮1.事件_被单击 (&按钮1被单击)
子程序名返回值类型公开备 注
按钮1被单击  
信息框 (“作者:无敌小白”, 0, , )


2.png

现在有一个更方便的方法,可以利用模块扫描生成,代码。使用黑月窗口程序代码一键生成模块-黑月扫描窗口1。



3.png 4.png



调试运行后,去一个空白的易语言程序集中,粘贴即可。将自动生成以下代码,删掉重复,再添加模块,运行将发现,窗口跟我们之前的一模一样。大幅度提高了效率(前提,必须要打开当前需要复制的程序集,否则将出错)
  
窗口程序集名保 留  保 留备 注
程序集1   
变量名类 型数组备 注
app应用程序类  
窗口窗口类  
窗口_图标图标类窗口图标
按钮1按钮类  

子程序名返回值类型公开备 注
_启动子程序整数型 当前程序集代码已自动处理适配黑月界面类
app.初始化 ()
窗口.事件_创建完毕 (&_窗口_创建完毕)
窗口.创建 (, "", 黑月坐标 (770, 415), 黑月坐标 (380, 250), 113901568, 256, 假, "")
app.运行 (窗口)
app.结束 ()
返回 (0)
子程序名返回值类型公开备 注
_窗口_创建完毕  
参数名类 型参考可空数组备 注
参数_hwnd整数型
窗口_图标.载入图标 (129) ' IDI_MAINICON 黑月资源,可以自己设置
窗口.置图标 (窗口_图标, )
窗口.边框 (2)
按钮1.创建 (窗口, "按钮", 黑月坐标 (96, 48), 黑月坐标 (136, 48), , 1409363712, 0)
按钮1.事件_被单击 (&_按钮1_被单击)
子程序名返回值类型公开备 注
_窗口1_创建完毕 ‘这个重复要删除掉
生成黑月程序代码 (窗口1, “窗口”)’删除掉
子程序名返回值类型公开备 注
_按钮1_被单击  
参数名类 型参考可空数组备 注
参数_hwnd整数型
参数_组件id整数型
信息框 (“无敌小白”, 0, , )


【黑月资源编辑器RC调用控件和程序图标】
我们在黑月编译出来的窗口程序,可以使用以下方法添加窗口图标
  
窗口程序集名保 留  保 留备 注
程序集1   
变量名类 型数组备 注
应用程序应用程序类  
窗口1窗口类  
按钮1按钮类  
图标图标类  

子程序名返回值类型公开备 注
_启动子程序整数型 本子程序在程序启动后最先执行
应用程序.初始化 ()  ' 必须使用本条命令进行初始化
窗口1.事件_创建完毕 (&窗口1创建完毕)  ' 创建窗口事件
窗口1.创建 (, “窗口创建”, , 黑月坐标 (300, 300), , , , )  ' 创建的窗口必须在窗体创建事件命令之下,否则事件无法生效
应用程序.运行 (窗口1, )
应用程序.结束 ()
返回 (0)  ' 可以根据您的需要返回任意数值
子程序名返回值类型公开备 注
窗口1创建完毕  
图标.创建自字节集 ( #图片1 )  ' 从图片数据中,创建图标。要将ico图标放入图片中。
窗口1.置图标 (图标, )  ' 本命令要和上一条命令放在一起
按钮1.创建 (窗口1, “确定”, 黑月坐标 (20, 20), 黑月坐标 (100, 30), , , 0)
按钮1.事件_被单击 (&按钮1被单击)
子程序名返回值类型公开备 注
按钮1被单击  
信息框 (“作者:无敌小白”, 0, , )


但是编译好程序以后,还是没有软件的图标,我们就要用到黑月脚本资源编辑器。首先,要将当前程序保存一下,然后点击工具---黑月资源编辑器。

5.png
如果我们只需要添加图标,选择第一个即可。下面再说用资源编辑器制作界面控件,

双击资源文件。按上图设置我们的ICO图标即可。然后保存RC文件,保存的RC路径要与保存的E源码文件路径相同,而且名字要相符,这时候再去编译,就会发现,我们的程序有图标了。

6.png


下面说如何使用RC文件,绘制界面。首先新建一个没有界面的易程序,然后按照以上步骤,重新来一次。右键添加对话框,绘制一个按钮,保存,(把之前保存的都删掉)



7.png


  
窗口程序集名保 留  保 留备 注
程序集1   
变量名类 型数组备 注
对话框1对话框类  
应用程序应用程序类  
按钮1按钮类  
ZYzyWindow  

子程序名返回值类型公开备 注
_启动子程序整数型 本子程序在程序启动后最先执行
应用程序.初始化 ()
对话框1.事件_创建完毕 (&_对话框_创建完毕)
对话框1.载入自资源 (, 1000, , “FQNY”)  ' 参数2为窗口的ID,可以在编辑器的右边看到此ID
返回 (0)  ' 可以根据您的需要返回任意数值
子程序名返回值类型公开备 注
_对话框_创建完毕  
ZY.绑定窗口句柄 (对话框1.取窗口句柄 ())
按钮1.绑定 (ZY, 1001, )  ' 1001为按钮的ID。
按钮1.事件_被单击 (&_按钮1_被单击)
子程序名返回值类型公开备 注
_按钮1_被单击  
信息框 (“无敌小白”, 0, , )


这样易语言调用RC文件资源,就结束了,非常简单。只是需要更多的时间去习惯模块的使用方法。如果纯调用API自绘的话。。。哈哈相信没有人会用黑月了。



黑月编译器插件安装程序3.51:链接:https://pan.baidu.com/s/1C6yrEbQwJz17lDZw2HXYnw 密码:is6k
黑月编译器压缩包3.53  链接:https://pan.baidu.com/s/10Lp4J2qPGkrbFlvjS9YLRA 密码:ipr1
以上两个支持易语言5.6到5.71都可以。

黑月界面类2.7.3(Unicode版).rar (157.44 KB, 下载次数: 776)

评分

参与人数 4好评 +2 精币 +9 收起 理由
小少也 + 1 感谢分享,很给力!~
1763791490 + 1 开源精神必须支持~
a135123 + 1 + 2 文件过期了,求楼主或别人补链
冰点 + 1 + 5 共同努力,共同进步

查看全部评分


本帖被以下淘专辑推荐:

发表于 2024-8-19 02:56:22 | 显示全部楼层   江苏省宿迁市
最近看到有人提起到黑月编译器和窗口自绘,突然想起自己很久以前用过,由于效率的问题,扔掉了。然后从网上搜了一会没有发现关于黑月的教程。只找到了一个黑月入门到中级,还是很久以前的教程,里面用的模块都已经找不到了。打算重新写一个简单的小教程,也当给自己记性不好,做个笔记。
回复 支持 反对

使用道具 举报

发表于 2024-8-19 02:56:01 | 显示全部楼层   江苏省宿迁市
被封七号
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2024-8-15 11:36:46 | 显示全部楼层   广西壮族自治区贵港市
感谢分享!!!!!!!!
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2024-8-13 20:47:56 | 显示全部楼层   吉林省延边朝鲜族自治州
现在用是不是不行了
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 1 天

发表于 2024-6-28 18:47:35 | 显示全部楼层   山西省运城市
感谢分享!!!!!!!!
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 1 天

发表于 2024-6-28 18:46:48 | 显示全部楼层   山西省运城市
感谢分享!!!!!!!!
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 1 天

发表于 2024-6-15 10:15:41 | 显示全部楼层   江苏省无锡市
惺惺惜惺惺
回复 支持 反对

使用道具 举报

结帖率:0% (0/5)
发表于 2024-6-5 19:00:10 | 显示全部楼层   辽宁省丹东市
感谢分享
回复 支持 反对

使用道具 举报

发表于 2024-5-31 19:53:41 | 显示全部楼层   浙江省绍兴市
感谢分享!!!!!!!!
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 3 天

发表于 2024-5-23 16:15:05 | 显示全部楼层   广东省河源市
支持下楼主
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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