|
关于物联网屏幕在SD卡中读取txt格式的文件
我的屏幕型号是DC10600EW070这个,用官网上的例程,只能写,读不出来
local sc_Home = 0
local file_name = "text.txt"
function on_usb_inserted(dir)
file_name = dir..'/'..file_name
listdir(dir)
end
function on_sd_inserted(dir)
file_name = dir..'/'..file_name
listdir(dir)
end
function my_read_data(file_name)
local file = io.open(file_name, "r") -- 尝试以只读模式打开文件
local content = file:read("*a") -- 读取所有内容
-- print(content) -- 打印内容到控制台
set_text(sc_Home, 4, content)
set_text(sc_Home, 8, "读入信息"..content..' !')
file:close() -- 关闭文件
return content
end
-- 自定义函数(非回调函数,可以修改)
-- info 需要写入文件的数据
function my_save_data(filename,info) --info 要写入文本
--local wfile = io.open(usb_path..'/'..file_name,"w") --覆盖方式写在文本末尾
local wfile = io.open(file_name,"w")
assert(wfile)
wfile:write(info) --写入文本
set_text(sc_Home, 8, "写入信息"..info..' !')
wfile:close() --关闭文本
end
--初始化函数
function on_init()
my_read_data(file_name)
end
--用户通过触摸修改控件后,执行此回调函数。
--点击按钮控件,修改文本控件、修改滑动条都会触发此事件。
function on_control_notify(screen,control,value)
if screen == sc_Home
then
if control == 1 and value == 0
then
local write_str = get_text(sc_Home, 2)
my_save_data(file_name,write_str)
flush_nor()
elseif control == 3 and value == 0
then
local read_str = my_read_data(file_name)
elseif control == 9 and value == 0
then
local read_str = my_read_data(file_name) --读出写入的数据
--set_text(sc_Home, 10, read_str) --赋值到控件ID10中
local A=get_value(0,4)*100
print(A)
end
end
end
|
|