查看: 4534|回复: 18

[动画教程] 易语言5.71黑月编译器自绘视频教程+所有模块

[复制链接]

105

主题

106

帖子

329

积分

中级会员

Rank: 3Rank: 3

积分
329
发表于 2018-9-3 20:30:58 | 显示全部楼层 |阅读模式
易语言5.71黑月编译器自绘视频教程+所有模块
【黑月编译器简介】
什么是黑月编译器?
黑月编译器与斩月相似,但比斩月更强大。黑月的存在是为了易程序编译时脱离易语言的支持库。

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

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

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

【黑月模块窗口自绘与扫描】 下面将使用黑月界面类3.62模块,进行演示。

【黑月模块窗口自绘与扫描】   下面将使用黑月界面类3.62模块,进行演示。

【黑月模块窗口自绘与扫描】
下面将使用黑月界面类3.62模块,进行演示。
  1. .版本 2

  2. .程序集 程序集1
  3. .程序集变量 应用程序, 应用程序类
  4. .程序集变量 窗口1, 窗口类
  5. .程序集变量 按钮1, 按钮类

  6. .子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行

  7. 应用程序.初始化 ()  ' 必须使用本条命令进行初始化
  8. 窗口1.事件_创建完毕 (&窗口1创建完毕)  ' 创建窗口事件
  9. 窗口1.创建 (, “窗口创建”, , 黑月坐标 (300, 300), , , , )  ' 创建的窗口必须在窗体创建事件命令之下,否则事件无法生效
  10. 应用程序.运行 (窗口1, )
  11. 返回 (0)  ' 可以根据您的需要返回任意数值

  12. .子程序 窗口1创建完毕

  13. 按钮1.创建 (窗口1, “确定”, 黑月坐标 (20, 20), 黑月坐标 (100, 30), , , 0)
  14. 按钮1.事件_被单击 (&按钮1被单击)

  15. .子程序 按钮1被单击

  16. 信息框 (“作者:无敌小白”, 0, , )
复制代码

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

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

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

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

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

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

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

调试运行后,去一个空白的易语言程序集中,粘贴即可。将自动生成以下代码,删掉重复,再添加模块,运行将发现,窗口跟我们之前的一模一样。大幅度提高了效率(前提,必须要打开当前需要复制的程序集,否则将出错)
  1. .版本 2

  2. .程序集 程序集1
  3. .程序集变量 app, 应用程序类
  4. .程序集变量 窗口, 窗口类
  5. .程序集变量 窗口_图标, 图标类, , , 窗口图标
  6. .程序集变量 按钮1, 按钮类

  7. .子程序 _启动子程序, 整数型, , 当前程序集代码已自动处理适配黑月界面类

  8. app.初始化 ()
  9. 窗口.事件_创建完毕 (&_窗口_创建完毕)
  10. 窗口.创建 (, "", 黑月坐标 (770, 415), 黑月坐标 (380, 250), 113901568, 256, 假, "")
  11. app.运行 (窗口)
  12. app.结束 ()
  13. 返回 (0)

  14. .子程序 _窗口_创建完毕
  15. .参数 参数_hwnd, 整数型

  16. 窗口_图标.载入图标 (129)'IDI_MAINICON 黑月资源,可以自己设置
  17. 窗口.置图标 (窗口_图标, 真)
  18. 窗口.边框 (2)
  19. 按钮1.创建 (窗口, "按钮", 黑月坐标 (96, 48), 黑月坐标 (136, 48), , 1409363712, 0)
  20. 按钮1.事件_被单击 (&_按钮1_被单击)

  21. .子程序 _窗口1_创建完毕, , , ‘这个重复要删除掉

  22. 生成黑月程序代码 (窗口1, “窗口”)’删除掉

  23. .子程序 _按钮1_被单击
  24. .参数 参数_hwnd, 整数型
  25. .参数 参数_组件id, 整数型

  26. 信息框 (“无敌小白”, 0, , )
复制代码

【黑月资源编辑器RC调用控件和程序图标】
我们在黑月编译出来的窗口程序,可以使用以下方法添加窗口图标
  1. .版本 2

  2. .程序集 程序集1
  3. .程序集变量 应用程序, 应用程序类
  4. .程序集变量 窗口1, 窗口类
  5. .程序集变量 按钮1, 按钮类
  6. .程序集变量 图标, 图标类

  7. .子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行

  8. 应用程序.初始化 ()  ' 必须使用本条命令进行初始化
  9. 窗口1.事件_创建完毕 (&窗口1创建完毕)  ' 创建窗口事件
  10. 窗口1.创建 (, “窗口创建”, , 黑月坐标 (300, 300), , , , )  ' 创建的窗口必须在窗体创建事件命令之下,否则事件无法生效
  11. 应用程序.运行 (窗口1, )
  12. 应用程序.结束 ()
  13. 返回 (0)  ' 可以根据您的需要返回任意数值

  14. .子程序 窗口1创建完毕

  15. 图标.创建自字节集 (#图片1)  ' 从图片数据中,创建图标。要将ico图标放入图片中。
  16. 窗口1.置图标 (图标, 真)  ' 本命令要和上一条命令放在一起

  17. 按钮1.创建 (窗口1, “确定”, 黑月坐标 (20, 20), 黑月坐标 (100, 30), , , 0)
  18. 按钮1.事件_被单击 (&按钮1被单击)

  19. .子程序 按钮1被单击

  20. 信息框 (“作者:无敌小白”, 0, , )
复制代码

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

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

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

如果我们只需要添加图标,选择第一个即可。下面再说用资源编辑器制作界面控件,
双击资源文件。按上图设置我们的ICO图标即可。然后保存RC文件,保存的RC路径要与保存的E源码文件路径相同,而且名字要相符,这时候再去编译,就会发现,我们的程序有图标了。

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

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

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

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

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

  1. .版本 2

  2. .程序集 程序集1
  3. .程序集变量 对话框1, 对话框类
  4. .程序集变量 应用程序, 应用程序类
  5. .程序集变量 按钮1, 按钮类
  6. .程序集变量 ZY, zyWindow

  7. .子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行

  8. 应用程序.初始化 ()
  9. 对话框1.事件_创建完毕 (&_对话框_创建完毕)
  10. 对话框1.载入自资源 (, 1000, , “FQNY”)  ' 参数2为窗口的ID,可以在编辑器的右边看到此ID
  11. 返回 (0)  ' 可以根据您的需要返回任意数值

  12. .子程序 _对话框_创建完毕

  13. ZY.绑定窗口句柄 (对话框1.取窗口句柄 ())
  14. 按钮1.绑定 (ZY, 1001, )  ' 1001为按钮的ID。
  15. 按钮1.事件_被单击 (&_按钮1_被单击)

  16. .子程序 _按钮1_被单击

  17. 信息框 (“无敌小白”, 0, , )
复制代码

这样易语言调用RC文件资源,就结束了,非常简单。只是需要更多的时间去习惯模块的使用方法。如果纯调用API自绘的话。。。哈哈相信没有人会用黑月了。
游客,如果您要查看本帖隐藏内容请回复

黑月界面类2.7.3(Unicode版).rar

157.44 KB, 下载次数: 4

黑月界面类模块3.6.2.rar

371.52 KB, 下载次数: 9

黑月扫描模块2个.rar

38.18 KB, 下载次数: 10

黑月一键自绘模块.rar

215.75 KB, 下载次数: 8

调用rc控件源码示例.rar

112.14 KB, 下载次数: 6

置软件图标和窗口图标示例.rar

204.84 KB, 下载次数: 6

回复

使用道具 举报

0

主题

1318

帖子

2665

积分

金牌会员

Rank: 6Rank: 6

积分
2665
发表于 2018-9-11 16:43:49 | 显示全部楼层
本人是文盲,以上内容均看不懂是什么意思;
回复

使用道具 举报

0

主题

1097

帖子

2234

积分

金牌会员

Rank: 6Rank: 6

积分
2234
发表于 2018-9-12 08:47:28 | 显示全部楼层
但既然已经上当进来,把帖子点开,不顶…就意味着少积分,失去升级的机会。
回复

使用道具 举报

0

主题

1614

帖子

3284

积分

论坛元老

Rank: 8Rank: 8

积分
3284
发表于 2018-9-20 13:42:59 | 显示全部楼层
北城九命猫.
回复

使用道具 举报

13

主题

2060

帖子

4221

积分

论坛元老

Rank: 8Rank: 8

积分
4221
发表于 2018-9-26 16:17:05 | 显示全部楼层
千家小娇妻?
回复

使用道具 举报

0

主题

916

帖子

1872

积分

金牌会员

Rank: 6Rank: 6

积分
1872
发表于 2018-10-8 12:44:17 | 显示全部楼层
酷似你祖宗.
回复

使用道具 举报

0

主题

2243

帖子

4544

积分

论坛元老

Rank: 8Rank: 8

积分
4544
发表于 2018-11-8 16:28:43 | 显示全部楼层
对我忽冷忽热忽远忽近却还想和我到永久,其实你不必这样说我有我自己的活。
回复

使用道具 举报

0

主题

2654

帖子

5404

积分

论坛元老

Rank: 8Rank: 8

积分
5404
发表于 2018-11-13 09:35:29 | 显示全部楼层
最后看了一遍回帖,懂了我为什么不懂……
回复

使用道具 举报

10

主题

2411

帖子

4874

积分

论坛元老

Rank: 8Rank: 8

积分
4874
发表于 2018-11-27 11:13:57 | 显示全部楼层
穿别人的鞋,走自己的路,让他们找去吧。
回复

使用道具 举报

26

主题

2971

帖子

6019

积分

论坛元老

Rank: 8Rank: 8

积分
6019
发表于 2018-12-28 12:10:35 | 显示全部楼层
人生也许不会太完美,但是我只要做的对的起我自己就好了
回复

使用道具 举报

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

本版积分规则

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