易语言写支持库也能玩出“花”儿来(易写易库(EXEK)进展5)

在易语言中使用“易写易库(EXEK)”开发易语言支持库,不仅功能上没有限制,而且还能玩出“花”儿来,甚至是别人玩不出的“花”儿。

一:不要命令分类

通常来说,支持库中的命令都被分为若干个类别。如易语言核心库中的命令被分为“流程控制”“算术运算”“逻辑比较”“位运算”“变量操作”“数组操作”等等。对核心库来说这当然是必须的,毕竟里面有数百条命令,只有清晰的分类,才更便于用户查找和记忆。

但是,在支持库内命令数量很少,或者说逻辑上同属一个类别的情况下,还有必要进行命令分类吗?这时再进行命令分类,是否属于多此一举?这样的例子很多,如下图中的“易向导支持库”“可执行文件数据转换支持库”“编码转换支持库”“多线程支持库”,其中命令的功能,已在支持库名称上得到了体现,非要再分出一个命令类别来,实属多余,——命令类别名称与支持库名称在信息上是重复的、冗余的。

那么,在此类情况下,能否不要命令分类呢?答案是:可以。请看下面这个使用“易写易库(EXEK)”开发的支持库,它就没有命令分类,所有的命令都是支持库根节点的直接分枝:

哈哈,原来还可以这么玩,恐怕就连吴总也没想到吧。用了点小技巧,一般人儿我不告诉他/她。其它编程语言开发的易语言支持库,要想达到这种效果,还得多费些心思才行,吼吼。到目前为止,我还没看到有哪个支持库有命令而没有命令分类(谁看到过?请告知)。(在易写易库中的具体做法,我已经写在《易写易库(EXEK)开发手册》中了,在这篇博文中可以找到下载地址:易写易库(EXEK)进展情况(3)(2008.8.26))。

二:提供命令分类图标和命令图标

在易语言核心库中,好多命令类别有自己的图标,好多命令有自己的图标,这些图标显示在,易语言IDE工作夹“支持库”子夹中,命令类别的前面和命令名称的前面,见下图:

除了核心库,我没见到其它哪个支持库定义了命令分类图标或命令图标,它们千篇一律地使用默认图标,让人乏味。在使用“易写易库(EXEK)”开发的支持库中,定义这些图标那是轻而易举,见下图:

有些变化,就会让人眼前一亮。问题是,我们为此花费的代价非常小,何乐不为呢?

此外,易写易库(EXEK)还支持命令和命令参数的动态图标(动画图标),但这项特性只有在易语言3.x版本的IDE中才能提现出来。

总结:

以上这些“花”儿,未必就是“易写易库(EXEK)”的专利,但却极少见到其它支持库玩这种“花”儿,——除了核心库,几乎就是没有。为什么呢?为什么他们不玩“花”儿呢?C/C++、Delphi、汇编,不都是功能超级NB的编程语言么?我猜测大概不外乎这个原因:用那些编程语言开发易语言支持库已经非常耗费精力了,以至于支持库开发者们不情愿再花额外的精力去玩“花”儿;而在易语言中用“易写易库(EXEK)”开发支持库实在太轻松了,想不玩点“花”儿,都觉得精力无处释放。(当然也不排除另一个原因:这个世界上只有我是无聊的人。)

本次模版需要使用黑月编译资源 也就是说动态要用黑月编译 不想用黑月的请自行方便 嗯,本人非美化出身,图标丑了谅解下 本模版采用支持第二版 何为第二版?(详细请见 e\sdk\cpp\docs.txt) 支持有两个版本的开发包:2003.5 和 2008.5 两个版本的支持截然不同 连支持入口函数都不一样(即模版中的 GetNewInf) 模版里我也不打算兼容两种支持版本了 毕竟没多大意义 因为各位友几乎都用的是 5.x 版本 当然,也可以认为我懒 更新内容只声明与支持相关的更新 当前版本:2014.11.28 更新内容: [+]更新FNE转LIB工具(V1.0) ★主要为本次模版更新而更新 [!]删除对组件英文名称的修改 ★源:如果【静态模式=#静态模式_WonderWall】, 那么英文名会加上 @4 ★现:不对组件英文名任何修改 ★ *这些星星后的内容可以看看, 也可以跳过, 我只是了下更新的解释 ★  本来完成这些模版就可以不用更新了的 ★  谁知发现犯了错?一个人敲代码真麻烦 ★  今天刚好周五, 我又翻了翻支持 ★  然后发现无法静态链接, 看了看易语言的调试信息 ★  才知道易语言静态链接时会自动给窗口单元函数加上 @4 ★  现在删掉了那条代码 历史版本:2014.11.22 更新内容: [+]支持组件(详细请见本人的例子) ★其实这次的更新就是为了组件而更新的 [+]增加程序集:集_组件, 主要用于辅Zhu组件的编 [+]增加 备选文本_生成_备选数值信息() [+]增加 备选文本_生成_备选文本信息() [+]增加 备选文本_生成_文件名() [+]增加 组件_保存_组件基本信息_创建时() [+]增加 组件_保存组件信息() [+]增加 组件_取结构_hUnit() [+]增加 组件_取结构_hWnd() [+]增加 组件_创建_功能组件() [+]增加 组件_创建_容器组件() [+]增加 组件_窗口过程_透明容器() [+]增加 组件_消息欲处理_功能性窗口() [+]增加 组件_消息欲处理_容器性窗口() [+]增加 组件_取单元信息() [+]增加 组件_消息转发_容器窗口() [+]在 类_写易库了某些更改 [+]增加 添加组件() 方法 [+]增加 添加组件属性() 方法 [+]增加 添加事件() 方法 [+]增加 添加事件参数() 方法 [!]修改 添加参数() -> 添加命令参数() [+]在 类_功能了某些更改 [+]增加 创建CWnd指针() 方法 [+]增加 取hUnit() 方法 [+]增加 产生事件() 方法 [+]增加 组件删除() 方法 [+]在 类_信息储存 上了某些更改 [+]增加 添加属性() 方法 [+]增加 取属性数量() 方法 [+]增加 拷贝属性() 方法 [+]增加 添加事件() 方法 [+]增加 取事件数量() 方法 [+]增加 拷贝事件() 方法 [+]增加 添加事件参数() 方法 [+]增加 取事件参数数量() 方法 [+]增加 拷贝事件参数() 方法 [+]增加 类_属性 共6个方法 [+]在 集_结构创建 上了某些更改 [+]增加 new组件信息() 方法 [+]增加 new组件属性信息() 方法 [+]增加 new单元信息() 方法 [+]增加 new组件事件信息() 方法 [+]增加 new组件事件参数信息() 方法 [+]在 集_功能了某些更改 [+]增加 计算指针() 方法 [+]增加 IsXXX() 方法 [+]在 集_模版 上了某些更改 [+]增加 默认处理_窗口单元接口函数() 方法 [+]增加 组件_保存_xxx() 模版函数 [+]增加 组件_释放_xxx() 模版函数 [+]增加 #结构尺寸_xxx 常量 5 个 [+]增加 #组件属性类型_xxx 常量 21 个 [+]增加 #组件属性属性_xxx 常量 5 个 [x]压缩包内不包含静态转换工具 ★因为静态转换工具没任何更新 ★所以就不一起带着了 ★如果你真的需要 ★请到论坛找我的帖子 历史版本:2014.11.15 更新内容: [+]支持静态(至于步骤请往下看) [+]增加静态转换工具, 在随本模版的压缩包内(源码) [+]增加 类_写易库.设置_静态模式() 方法, 用于指定静态的导出函数名 [-]对 类_写易库.添加命令() 了改动,主要修改链接名 [-]修复易语言无法读取链接名的BUG ========== 1.支持机制 ========== 支持信息、命令信息等等均使用某个结构储存 源码中的自定义数据类型、类模块、组件即为支持中的定义数据类型 易语言通过 GetNewInf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值