标签 易语言 下的文章

前言
因为老母亲的需要,我为她编写了一个记事本软件。现在有感而发,便想要写一篇文章,也为大家提供一下思路。

思路
因为是记事本软件,所以不需要网络。记事本主要分为文本编辑框和文件读写两个模块。先看文本编辑框,这个编辑框应该占整个记事本软件的中心位置,如果有能力的话还可以加一些更丰富的功能(如表情、富文本编辑器甚至Markdown),这里就不说了。

主要给大家讲一下文件读写功能,这个功能从前端来说最好用菜单栏一一列出,主要功能有新建、打开、保存和另存为,这里的代码实现比较复杂,看下面代码讲解——

代码实现
文本编辑框编写比较简单,当然如果你要加上功能的话还是有些难度的,可以自行探索一下超级编辑框组件的使用,我这里就不展开了,主要看一下文件读写功能。
在说文件读写功能之前,先介绍一个易语言命令:
写到文件( , )
这条命令可以帮助我们将完成编辑的文本写入到文件中。第一个参数填写的是写入的路径(写出文件名,无该文件会进行新建)。第二个参数填要写入的内容,注意填写的是字节集变量名,所以要先把数据转化好。
文件同样需要读入,用下面的命令:
读入文本(打开文件( , , ), )
在打开文件的第一个参数中填入要读入的文件路径,获得文件句柄,就可以用读入文本命令读取了文本信息了。

前言
本来我写过一个易语言基础教程,但是后来感觉大家似乎对此都不太有评论,也没什么回应。个人认为主要有两个原因:一是易语言使用中文,本身挺好懂的;二是没有真正的需要去动脑的内容。于是我决定推出这篇文章,带大家写一个易语言程序,开阔开阔思路。

通讯功能实现思路(后端)
易语言实现通讯有两种方式:客户-服务端、数据报。这里主要讲第一种。各位可以先看一下HF通讯,就是采用这种方式编写的。
客户-服务端
首先,需要有两个组件:客户、服务端。因为是聊天软件, 所以不需要分两个客户端分别编写。
服务端:服务端在编写时需要获得主机名、端口号等信息,写起来会麻烦一些。下面是思路:首先添加组件(无需调整位置大小,因为不会出现在前端),然后编写一段获取主机信息的代码,作为之后连接到客户的参数。然后编写发送数据代码即可。
客户:客户组件在编写程序时只需要有连接服务端代码、发送数据代码即可。
这种方式更为稳定,可以传输大文件,适用于内网文件传输,发消息配置起来有些复杂(有点大材小用),不推荐。内网聊天可以试试数据报方式。
数据报
首先添加数据报组件。
由于数据报阉割了客户-服务端的功能,所以不能进行大数据传输。添加控制接收端参数的代码,然后再加入发送数据的功能对接到前端即可。

UI设计思路(前端)
UI可以自己设计,此处仅根据HF通讯的UI进行讲解,仅供参考。
美化
因为易语言本身对前端的优化很不好,所以尽量自己P图。我审美太差,就不细说了,大家自己设计设计。

主要组件
1.发送编辑框
在HF通讯中,编辑框被放到了界面的最左下角。当然,如果你有自己的想法,比如放在右下角(和微信一样)。注意编写程序时对接到“发送数据”。
2.发送按钮
在HF通讯中,发送按钮在编辑框的右侧紧挨着。这个其实更符合自己的操作逻辑,当然,如果你放到下面也可以。注意编写程序时对接到“发送数据”。
3.消息框
消息框放在编辑框的上面,应该是各大通讯软件共有的UI设计。在HF通讯中,我使用了编辑框组件,并禁用了编辑功能。可以在消息框后放背景图用于美化。注意在编写程序时对接到“接收数据”。
4.发送音频/视频/图片/其他文件功能按钮
在HF通讯中,这些按钮在右侧排列,并对接到了各发送窗口,输入路径即可发送。注意在编写程序时转化到“字节集”类型并对接到“发送数据”,发送文件名。
5.播放按钮

在HF通讯中,播放按钮与发送按钮并列,以获取到的文件名打开。注意在编写程序时对接到“接收数据”。
其他还有一些组件/窗口,由于不很重要(非程序主体),我就不介绍了,大家自行探索。

    易语言中的常量可以按数据类型进行分类:数值型、文本型、逻辑型、日期时间型和长文本型。

1.数值型

数值型常量可以是短整数型、整数型、长整数型、小数型和双精度小数型的一种,在设置时注意取值范围(见第二篇)。

2.文本型

文本型常量适用于较短的文本,在设置时注意取值范围。

3.逻辑型

这个类型不太常用,毕竟“真”和“假”两个字打起来也不困难,在设置时注意取值范围。

4.日期时间型

也不太常用,在设置时注意取值范围。

5.长文本型

这是一种易语言常量特有的数据类型,适用于较长的文本,支持换行,同时最大支持30000字节,容量很大。

注意:常量只能在编写程序时设置,不允许在程序运行时改变,使用常量时要注意这一点

上期,我们知道了易语言的数据类型,这期,我为大家介绍易语言的变量。

易语言中,变量主要可以依据数据类型和作用范围进行分类。我在上期已经介绍了易语言有哪些数据类型,变量的数据类型就是在上文提到的几种,本文不予讨论。今天,我们要进行了解的是易语言的作用范围

1.全局变量

这种变量能够被任何程序集内的子程序调用,但是在运行时需要占用更多的性能

2.程序集变量

这种变量能够被任何所在程序集内的子程序调用,如果其他子程序也要调用该变量,则必须在变量前加上“该变量所在程序集所在窗口.程序集变量”的前缀

3.局部变量

这种变量仅供所在子程序调用,不过很节省性能
为了使大家更容易理解以上三种变量,举个不恰当的例子:全局变量相当于论坛里的管理员,程序集变量相当于论坛里的超级版主,局部变量相当于论坛里的版主。管理员可以管理论坛里的一切事务,不论你在哪个区发帖,管理员都可以进行管理;分区版主则能够管理全论坛的的一切事务,你在论坛里发帖,分区版主可以进行管理;同理,版主则只能管理所管理版区内的事务。
易语言的变量除了上面的几种外,还有两种特殊分类:静态变量和数组变量


静态变量

静态变量能够在子程序结束执行时,保持变量内的值不变,供下次调用子程序时继续使用,直到主程序结束。而变量如果没有设置静态属性,在子程序结束后将被初始化(即回到默认值)。

数组变量

数组变量,顾名思义,就是可以存放一组数据的变量。数组变量可以是多维的,这个我们现在暂时不深入研究,我们只需要知道以上知识即可。

易语言的数据类型有以下几种:

1.字节型

位长度:8
占用字节数:1
取值范围:0~255

2.短整数型

位长度:16
占用字节数:2
取值范围:-32768~32767

3.整数型

位长度:32
占用字节数:4
取值范围:-2147483648~2147483647

4.长整数型

位长度:64
占用字节数:8
取值范围:-9223372036854775808~9223372036854775807

5.小数型

位长度:32
占用字节数:4
取值范围:-3.4E38~3.4E38(7位小数)

6.双精度小数型

位长度:64
占用字节数:8
取值范围:-1.7E308~1.7E308(15位小数)

7.逻辑型

位长度:32
占用字节数:4
取值范围:“真”或“假”

8.日期时间型

位长度:64
占用字节数:8
取值范围:100年1月1日~9999年12月31日

9.子程序指针

位长度:32
占用字节数:4
取值范围:长度是4个字符串,子程序指针可以看作一个子程序的快捷方式,调用子程序指针即为调用此子程序指针所指向的子程序

10.文本型

取值范围:由以字节0结束的一串字符组成

11.字节集

一段字节型数据串