易语言 【第二篇】进阶

正则

简介

正则表达式

示例

匹配数字

匹配文本

匹配正则符号

 

子匹配

 

 

 

文件操作

思路

读文本

.版本 2
.支持库 spec
.支持库 iext

.程序集 窗口程序集_启动窗口

.子程序 _按钮_获取统计_被单击
.局部变量 文件字节集, 字节集
.局部变量 文本文件内容, 文本型
.局部变量 临时_分割文本, 文本型, , "0"
.局部变量 i, 整数型
.局部变量 临时_分割文本2, 文本型, , "0"
.局部变量 临时_索引, 整数型

文件字节集 = 读入文件 (取当前目录 () + “\网民地域分布.txt”)
文本文件内容 = 到文本 (文件字节集)

临时_分割文本 = 分割文本 (文本文件内容, #换行符, )
.计次循环首 (取数组成员数 (临时_分割文本), i)
    调试输出 (临时_分割文本 [i])
    临时_分割文本2 = 分割文本 (临时_分割文本 [i], “----”, )

    调试输出 (临时_分割文本2 [1], 临时_分割文本2 [2])
    临时_索引 = 超级列表框_统计.插入表项 (, 到文本 (i), , , , )
    超级列表框_统计.置标题 (临时_索引, 1, 临时_分割文本2 [1])
    超级列表框_统计.置标题 (临时_索引, 2, 临时_分割文本2 [2])

.计次循环尾 ()
View Code

写文本

如果是追加,移到文件尾(文件号)

还有一种方法是 写到文件,不过这种方式效率低

模块

创建模块

编译模块

 

调用模块

加载模块,再调用

动态链接库DLL

简介

创建DLL

编译DLL

快捷键F7

调用DLL

主程序要和DLL在同一目录

内存操作

JSON

简介

示例1

{
    11111: "https://bbs.125.la/",
    "title": "精易论坛"
}

 

示例2

{
    "product": [{
        "Name": "精易模块",
        "site": "ec.125.la"
    }, {
        "Name": "精易编程助手",
        "site": "http://soft.125.la/html/zhushou/index.html"
    }]
}

多线程

核心概念

1.如何创建线程? 使用:启动线程,或线程_启动来创建新的线程。

2.什么是线程句柄? 线程句柄,线程句柄是创建线程后的一个标识符,该标识符是用来 操作这个线程的。不用时需要关闭句柄(句柄不会自动关闭)。

3.什么是线程ID? 线程ID,这个是用来区分不同线程的,实际能使用到的情况不是特别 多,以标识为主。不需要额外关闭。

4.线程执行的方式与优先级? 线程是以抢占式运行的,所以线程执行起来之后,没有顺序。 *优先级和线程的饥饿状态。

主要操作

启动线程方式一

启动线程方式二

启动多线程

多线程的局部变量不共享,但是其余类型的变量共享

线程同步

 

启动线程 (&子程序,参数 ,句柄 )。参数、句柄的类型必须为整数

许可证就是其它语言里锁的意思,同一时间同一把锁只能被一个线程使用

等待线程

另一个线程执行完毕或者一段时间才开始启动另一个线程

注意

启动一堆线程,要注意,启动每个线程间最好隔50毫秒,否则有几个线程可能启动不成功

多线程的启动顺序和执行顺序不一定一致,因为启动所花费的时间不一定

线程池

实现线程池

 

 

进程

线程/进程同步

事件对象和信号量属于内核级同步技术,支持线程和进程的锁机制

 

 事件对象

 

posted @ 2020-10-01 08:29  沐风先生  阅读(606)  评论(0)    收藏  举报