广州大彩串口屏论坛_大彩开发者交流论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 529|回复: 0

【模块】TFT【易模块0.7】发布 2025-03-3

[复制链接]

61

主题

218

帖子

2230

积分

版主

大彩爱好者Q群14769485

Rank: 7Rank: 7Rank: 7

积分
2230
QQ
发表于 2025-2-20 16:15:27 | 显示全部楼层 |阅读模式
本帖最后由 小逸老师 于 2025-3-3 19:39 编辑

易模块 是小逸老师为大彩爱好者用户封装的一个函数包,旨在用最简单的方式实现最多的功能。
请使用VisualTFT开发工具使用。
本模块代码经过收集、编写、模拟器与真机测试,来之不易,望各位支持回复评论点赞就行哈。欢迎您分享提供代码给我,我将封装编写到该模块并留下您的版权与来源信息,谢谢支持。
欢迎下载使用,使用时请用 dofile("e_moduleG.lua") 加载本次更新分为GBK版本和UTF8版本,请根据业务逻辑选择
最新版本:



历史版本请访问旧帖:https://bbs.gz-dc.com/forum.php? ... =1624&fromuid=39154



当前封装函数:
bin_arrtostr(byteArray) --字节数组转成字符串

e_readstrfile(strfile) --读取文本文件(以分块方式读取,理论支持大文件的读取,若屏幕中内存报错请将下方chunkSize分块大小修改一下)
备注:与e_readfile()函数不同的是,这个函数是用来读取字符串文件的,e_readfile()是用来读取bin文件的(例如图片)

string_splitone_gbk(str) --逐字分割GBK字符串,例如"你好123"将返回{'你','好','1','2','3'}的Table的数组
备注:如果没有特别必要的话请使用string_splitone()函数[UTF8],当string_splitone()分割失败时会自动调用string_splitone_gbk()再次进行分割

arr_arrmerge(arr1,arr2)--将两个数组合并,两个参数是table类型

r_sav(screen,control,mod,num,c)--保存记录控件数据
--参数1:画面ID
--参数2:记录控件ID
--参数3:1=写到flash,2=路径,3=直接返回json
--参数4:[默认false]:第一列是否是序号(如果不是序号或不需要自动编号填写false,如果输入其他数值将由此数值开始重新排序序号,例如输入1时序号将由1、2、3...开始排序)
--参数5:如果参数3=1时这里填写flash开始地址(请从开始地址预留好足够的长度),如果参数3=2时这里填写保存的完整路径,如果参数3=3时参数5无效
--【因记录控件使用的时";"符号作为列的分隔符,所以数据内容中不要有这个符合,否则数据会出现错误。】


r_read(screen,control,mod,num,c,r)--读取保存记的录控件数据
--参数1:画面ID
--参数2:记录控件ID
--参数3:1=读取flash,2=读取路径,3=直接解析json文本
--参数4:[默认false]:数据中第一列是否是序号(如果不是序号或不需要自动编号填写false,如果输入其他数值将由此数值开始重新排序序号,例如输入1时序号将由1、2、3...开始排序)
--参数5:如果参数3=1时这里填写flash存储的地址(请自行判断该地址是否有数据),如果参数3=2时这里填写文件的完整路径,如果参数3=3时参数5时填写完整的json字符串
--参数6:ture=清空记录控件并插入新数据[默认true],填写数值则代表在记录控件指定行位置开始插入(例如填写6,则从第6行开始插入),如果自定的数值没有记录控件实际行数大,将在记录控件尾部插入
--【因记录控件使用的时";"符号作为列的分隔符,所以数据内容中不要有这个符合,否则数据会出现错误。】


r_resnum(screen,control,startnum,r) -- 重新排序记录控件的序号
--参数1:画面ID
--参数2:记录控件ID
--参数3:序号开始位置
--参数4[可省略]:序号所在列,省略为空时默认为第1列


num_del0(num)--去除整数到字符时的.0
(此原因可能是由于整数型输出为字符串时被当做浮点数处理了,所以会多个.0)

gen_name(num,mod,sur,n_m,n_g,d)--生成中文名字,返回table数组。
--参数1(生成多少个,默认1个,返回table数组)
--参数2返回模式(true:返回{n="名字",g="性别"}带key的数组,g字段1=男2=女,举例返回接收的变量是a,调用方式a.n就是名字,a.g就是性别[注意数组索引],false:返回{"名字"}不带key的数组。)
--参数2(附加姓氏table数组)
--参数3(附加男士名字table数组)
--参数4(附加女士名字table数组)
--参数5可省略(true只使用自定义姓氏+名字)


gen_sfz18(gender,num,ac,startyear,endyear) --生成18位身份证号码【提示:请仅用于系统测试时填充数据用、请勿用于正式使用和违法使用】,生成1个时返回字符串,生成多个时返回table数组(调用时请注意数组索引)
--参数1:性别(男填写1,女填写2,随机填写3)
--参数2:生成多少个
--参数3:附加身份证地址码表(身份证前6位,可以在互联网上找),格式 {"500233","312101"},如果不附加时请填写false或者{}
--参数4:出生年开始时间范围,格式例如1990年出生就填写1990
--参数5:出生年结束时间范围,格式例如1998年出生就填写1998
--如果参数4和参数5省略了默认的开始范围1988和结束范围2000

string_md5_hmac(str,key)--计算字符串的md5_hmac,参数1:字符串,参数2:附加密码。注:(第三方MD5计算也需要使用hmac方式才能相同)

lua_getlib()--获取Lua库中支持的函数列表

localToUTC(year, month, day, hour, min, sec,utc)--时区转换,也可以自行在原时间的hour进行根据需要的utc增减

time_isLeapYear(year)--根据年获得是平年还是润年,返回true/false

time_Interval(startYear, startMonth, startDay, startHour, startMin, startSec,endYear, endMonth, endDay, endHour, endMin, endSec)--计算两个时间间隔返回间隔的天、小时、分钟、秒4个参数

time_stamptotime(seconds,utc,char,c_a,c_c,c_d)--时间戳转换到时间【纯算法】,参数1:10位时间戳,参数2:UTC时区(中国时区请填写8),参数2=true时将返回字符串和后面的参数生效,参数3:日期间隔符,参数4日期与时间间隔符,参数5,时间间隔符

time_tostamp(year,month,day,hour,min,sec,utc)--时间取10位时间戳【纯算法】,请注意utc时区,如果是中国时区请填写8

string_mid(str,ostr,estr)-- 【取文本中间】取出指定字符中间的字符串(如果此方式对部分字符支持有问题请更换string_midmatch()正则方式),参数1:原文本,参数2:左边字符,参数3:右边字符。将返回参数2和参数3之间的字符

string_midmatch(str,ostr,estr)--【取文本中间】取出指定字符中间的字符串【正则表达式方式】,参数1:原文本,参数2:左边字符,参数3:右边字符。将返回参数2和参数3之间的字符

string_splitstr(str,delimiter)--分割文本【按指定字符标志进行分割】,参数1欲分割的文本,参数2用做分割的字符标志(例如','或';',或者'|'等)

string_splitone(str)--逐字分割字符串,例如"你好123"将返回{'你','好','1','2','3'}的Table的数组

string_chsize(str)--获取单个字符编码的字节长度

arr_tofg(tab,fg)--Table一维数组以分隔符转出,例如参数1{1,2,3}参数2"|"将返回1|2|3

arr_allout(tablist) --将Table数组取出。例如{1,2,3}将返回123。也可以直接使用table.concat(list)

e_readfile(file,b64)--读文件
参数1:文件路径、参数2:bool逻辑型,false返回字节table数组,true返回BASE64编码文本(编码后无前缀MIME类型,请自行添加)
--例如jpg图片前缀MIME规则data:image/jpeg;base64,BASE64数据
--因LUA对table数组的性能原因,直接返回字节集合的话可能会有问题,其他功能或调试请自行上真机调试后确定。

xor_encrypt(text, key)--xor简易加解密,返回加密后的字节集,加密和解密都是此函数。如果加密需要返回字符串时请调用e_base64en进行编码,参数1为需要编码的内容,参数2为密码

e_base64de(data)--BASE64解码

e_base64en(data)--BASE64编码

bit_to_netstat(bit) --BIT位状态转换为网络状态,返回4个参数:无线网络连接、有线网络连接、是否连上服务器、是否有客户端连上
例如:local wifi_link,net_link,link_ser,link_c=bit_to_netstat(bit)

roundUp(n)--小数进1,例如3.14将返回4,可用来计算页面页数等等

bin_2to16(binary,capital)--二进制转换到十六进制,参数1:二进制文本,参数2:是否返回大写TRUE/FALSE。
例如 bin_2to16("111111110000000011111111",true) 将返回 0xFF00FF

bin_16to2(binary)--十六进制转换到二进制
例如 bin_16to2("FF00FF") 将返回 {1111,1111,0000,0000,1111,1111}的TABLE数组表

rgb_to_rgb565(rgb)--RGB颜色转换到大彩使用的RGB565颜色,RGB颜色例如:FF00FF/0AFF00
例如  rgb_to_rgb565("FF00FF") 将返回 0xF81F

is_ip(ipstr)--判断是不是IP地址,例如"192.168.10.100" 成功返回true,失败返回false

strall_to_hex(text) --将所有文本转换为16进制,返回16进制数据组-代码来自大彩DEMO的WIFI应用集合\Service V1.0\Server AP

hexall_to_str(packet)--将所有16进制转换为文本,返回文本型内容-代码来自大彩DEMO的WIFI应用集合\Service V1.0\Server AP

更多函数封装请持续关注此贴,如有代码需要提供封装进来的欢迎回复,谢谢。同时欢迎使用第三方 大彩TFT中文lua编辑器v0.6正式版https://bbs.gz-dc.com/forum.php? ... =1606&fromuid=39154


















本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
大彩爱好者Q群14769485
点我下载→TFT【易模块】封装好的函数库
点我下载→TFT屏可中文lua编辑器【好用】
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|广州大彩串口屏论坛_大彩开发者交流论坛

GMT+8, 2025-3-14 21:42 , Processed in 0.071828 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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