开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 4283|回复: 13
收起左侧

[分享] 市一等奖论文:让易语言大放光彩

[复制链接]

结帖率:40% (31/78)
发表于 2014-12-31 22:40:51 | 显示全部楼层 |阅读模式   湖南省常德市
  别说我发错板块了,我真不知道发那里。。
  这篇文章是我同学写的,交上去获得了市里面的一等奖,然后被一群老不死的教授进行论文答辩...........然后突然发现,那群老不死的自称教授的人屁都不懂.......
  下面进入正题:
易语言大放光彩
八年级七班 邱天
摘要:不少程序初学者都选择了使用易语言作为自己的第一门程序语言。易语言是由吴涛先生开发的一门中文编程语言,具有学习简单,容易上手,中文语法等特点,它编写速度快,效率高,创作难度低。但是,易语言也是有缺点的。它过于依赖于支持库,这就导致了用易语言写出的程序只能在WindowsLinux(1)系统下运行。这也就注定了它不能用来编写操作系统。在编写PANDAOS2时考虑过易语言,但最终放弃)易语言编写的程序被杀毒软件误报为病毒,甚至一个不包含任何代码的空白程序都会被一些杀毒软件识别为病毒。并非易语言生成出来的程序容易误报,VB单独生成的空窗口也报毒,C++也同样出现误报现象。不过,既学之,则安之,既然学了,那就用它干一场大事吧!本文将从一些Windows程序在易语言上的实现方法讲起,对易语言做一个利与弊的探讨,并与这些功能在C语言上的实现方法进行比较。(本文部分地方有注释,注释内容在本文结尾)
关键词:API;动态链接库;进程;中文编程        
一.易语言的一些高级应用
1.易语言能够实现进程操作码?
进程是操作系统结构的基础;是一次程序的执行;是一个程序及其数据在处理机上顺序执行时所发生的活动。
在易语言上,可以实现对进程的操作。下面,我将对结束进程进行讲解。
我是用了两个API来实现结束进程的。分别是OpenProcess和TerminateProcess
。首先说说OpenProcess。它可以打开一个已存在的进程,并返回该进程的句柄。
它有3个参数,分别是进程对象,继承句柄,进程标识符。进程对象和继承句柄分别填20971510。而进程标识符则是我们要打开的进程的ID。(这三个参数都是整数型)接下来说说TerminateProcess。它用于函数终止指定进程及其所有线程。参数有两个,分别是要结束的进程的句柄和该进程的一个推出代码。第一个参数填OpenProcess的返回值,第二个不用管,直接填0就可以了。
源码实例:
TerminateProcess (OpenProcess (2097151, 0, 进程ID), 0)
2. 易语言可以弹出信息框吗?
信息框就像是电脑的嘴巴。以文字的方式与用户交谈。在C语言中,需要调用Windows的信息框API。那么易语言能否弹出信息框?答案当然是肯定的。一门程序语言连信息框都不能有,还能叫程序语言吗?易语言省去了传统弹出信息框繁琐的调用API过程。直接用易语言自带的函数“信息框”就可以了。该函数有三个参数,分别是提示信息,按钮,窗口标题。
源码实例:
信息框 (“Hello World From 易语言”,#信息图标,“Helloworld!”)
3.易语言可以调用API吗?
如果要开发更灵活,实用,更具效率的应用程序,必然要涉及到直接实用API。对于比较复杂和特殊的功能来说,使用库类和控件是非常难以实现的,这时就需要使用API来实现。
易语言当然可以使用API。不过你需要先定义它。
二.组件应用实例
1.拖放对象组件
我们经常看见一些软件中需要打开一些文件时,直接把文件拖进去就可以打开了。易语言也可以实现这样的功能。这就是拖放对象组件。你可以在扩展组件1里找到它。在它的属性栏中,有“接收文本”,“接收超文本”,“接收URL”,“接收文件”等选项。我们一般用到的就是“接收文件”。你需要把它设置为“真”。
并且你需要注册这个控件。完成以上操作后,这个组件才能生效,你还需要在事件栏里设置事件。事件处理子程序中会有“接收到的文件路径”这一参数。
代码实例:
.子程序 _拖放对象1_得到文件
.参数 接收到的文件路径, 文本型
信息框 ("接收到文件!路径为"&接收到的文件路径, #信息图标,"接收到文件!" )
三.我制作的软件示例及分析
1.LOGO对象组件的应用实例:“乐龟”
说起LOGO语言,大家可能比较陌生。但是说小海龟的话,大家可能就知道了。
LOGO语言是一种早期的编程语言,也是一种与自然语言非常接近的编程语言,它通过画图的方式来学习编程。 它是由一名叫佩伯特的心理学家在一个假日中外出散步时,偶然间看到一个像海龟的机械装置触发灵感,完成了LOGO语言的设计。乐龟就是用易语言的LOGO组件而编写的程序。它把传统LOGO语言繁琐的代码省去,改用键盘来操作小海龟,而乐龟就负责把代码记录下来。
首先我们从控制小海龟讲起吧。刚才提到过,乐龟使用键盘操作的,而且采用了游戏中的控制方法。那么,它是如何知道用户按了键的呢?答案是事件处理子程序里面的“按下某键事件,它就是乐龟获取键盘输入的事件。
这个子程序里有两个变量,分别是键代码和功能键状态,我们只用键代码这个变量。
键代码是指被按下的键的代码。这样,我们就知道用户按下的是哪个键了。
然后是LOGO对象部分的代码。
它这个对象里有前进,后退,落笔,抬笔等LOGO命令。前进和后退需要提供参数(步数)
代码区其实就是一个编辑框。当执行命令时在代码框里添加代码就行了。
2.类标识符的妙用及拖放对象组件应用实例:隐身斗篷
类标识符是与某一个类对象相联系的唯一标记。一个准备创建多个对象的类对象应将其类标识符注册到系统注册数据库的任务表中,以使客户能够定位并装载与该对象有关的可执行代码。
我们有一些隐私的文件不想让外人看见,那么,类标识符可以帮你的忙。试试看,在一个文件夹名字后面加上.{20D04FE0-3AEA-1069-A2D8-08002B30309D}试试看?
没错,这个文件夹变成我的电脑了。这就是类标识符的神奇。
如果好好利用它的特性,我们就可以对我们的隐私文件夹进行一个伪装。隐身斗篷由此诞生。它在选择文件夹时采用了上面讲过的“拖放对象组件”。而如何实现伪装的呢?它使用了“文件更名”这个命令。改过的新目录名其实就是原来的目录名加上类标识符。
3.文本操作和写出文件的实例:易语音
想让你的程序说话吗?易语言可以帮你。但是它目前只能说英语。它说话是靠生成一个VBS(3)脚本来说话。而且易语音只是一个子程序,不是一个单独的程序。
源代码:
.子程序 易语音, , 公开, 让易程序说话
.参数 要说的话, 文本型
.局部变量 脚本, 文本型, 静态
脚本 = “CreateObject(” + #引号 + “SAPI.SpVoice” + #引号 + “).Speak ” + #引号 + 要说的话 + #引号
写到文件 (取运行目录 () + “\speak.vbs, 到字节集 (脚本))
延时 (1000)
执行 (#打开文件, 取运行目录 () + “\speak.vbs, , , )
大型软件项目的实施一般是分工协作开发,为了支持这一点,易语言提供了模块化开发支持。易语言中的模块称为易模块。通过使用易模块,用户可以将常用的代码封装起来重复使用到其它程序,或提供给第三方使用,或用作开发大型软件项目中的某个部分,然后在软件项目的封装阶段将所有这些模块组织编译成为一个完整程序,易模块的扩展名为.ec。同时易语言支持大量非官方扩展模块,用户可自行编译模块。很多易语言本身不存在的功能,私人开发的模块基本会有,大大增加了易语言的用户人群。我初学程序时也选择了易语言,但是对它深入研究后得出了不能一直用易语言的结论。汉字化编程虽然成为国内一项突破,但是就开发就业前景而言,企业招聘易语言程序员几乎很少甚至没有,如果为了找份工作学习易语言请慎重考虑,如果是个人学习研究可以花时间好好研究一番,我也很希望中国人能用上自己的编程语言,但是这条路可能还很长。让我们翘首以待易语言强大起来。
注释:
Linux是一个免费使用和自由传播的UNIX系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32和64硬件。
PANDAOS是我和朋友陈愉鑫正着手开发的全自制多任务操作系统,它将不采用任何国内外内核,全部由我们自主开发。预计该系统能在2015年出现命令行(内核基础开发完)。PANDAOS网站:www.pandaos.net
VBS(VBScript的进一步简写)是基于Visual Basic的脚本语言。 我进一步解释一下, Microsoft Visual Basic是微软公司出品的一套可视化编程工具(即VB), 语法基于Basic. 脚本语言, 就是不编译成二进制文件, 直接由宿主(host)解释源代码并执行, 简单点说就是你写的程序不需要编译成exe, 而是直接给用户发送vbs的源程序, 用户就能执行了。
结语:
易语言是一门高级语言,C也是一门高级语言。希望易语言早日脱离支持库,成为中文的C语言!
参考文献:
1.Windows开发人员手册 http://msdn.microsoft.com/library/
2.《中文编程:从入门到精通》作者:大连易翔软件开发有限公司

点评

就这玩意儿,拿一等将,我也是醉了, 或许其他参加比赛的人都是智障吧.   广东省深圳市  发表于 2015-1-22 15:24

评分

参与人数 3好评 +2 精币 +7 收起 理由
精“易”求精 + 1 + 2 楼主身边都是大牛啊
ㄣ负二代 + 3 吃翔有限公司
半夏时光 + 1 + 2 精彩文章希望继续努力

查看全部评分

结帖率:0% (0/1)

签到天数: 6 天

发表于 2017-10-6 11:39:08 | 显示全部楼层   河南省新乡市
八年级七班,也就是初中二年级,能写到这个水平已经非常了不起了,点赞!
回复 支持 反对

使用道具 举报

发表于 2015-1-5 22:31:52 | 显示全部楼层   浙江省宁波市
有一个是必须要说的,易语言成不要C语言那样强大,不过可以成为中文编程语言(已经达到了)
回复 支持 反对

使用道具 举报

发表于 2015-1-5 22:28:58 | 显示全部楼层   浙江省宁波市
初二,现在的孩子都这么强大吗?感觉你们零零后秒杀90后
回复 支持 反对

使用道具 举报

发表于 2015-1-4 22:57:47 | 显示全部楼层   四川省成都市
好吧我就是作者。但是无名把我年龄暴露了。。(#‵′)靠。。。
不信?无名快出来作证~@无名侠
回复 支持 反对

使用道具 举报

结帖率:98% (98/100)

签到天数: 14 天

发表于 2015-1-1 00:11:43 | 显示全部楼层   河南省开封市
复制的真多
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 8 天

发表于 2014-12-31 23:33:43 | 显示全部楼层   重庆市重庆市
醉了,这是论文!?
回复 支持 反对

使用道具 举报

结帖率:0% (0/4)
发表于 2014-12-31 23:02:43 | 显示全部楼层   北京市北京市
gaoshoua
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)
发表于 2014-12-31 22:52:59 | 显示全部楼层   湖南省长沙市
好NB啊......

点评

咦你在了?给我QQ说句话   河北省保定市  发表于 2014-12-31 23:02
回复 支持 反对

使用道具 举报

结帖率:40% (2/5)
发表于 2014-12-31 22:46:57 | 显示全部楼层   浙江省嘉兴市
班长是初中的小孩0.0
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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