aardio 文档

fsys.table 库模块帮助文档

fsys 成员列表 #

fsys.table #

文件同步表对象。
支持将 table 对象自动序列化为硬盘文件。
fsys.table 可作为普通 table 对象使用,
在线程退出时将会同步存储到文件中。

一般建议直接使用 fsys.config

fsys.table("/config/setting.table",默认配置表 ) #

创建文件同步表,在线程退出时将会同步存储到文件中。
可选使用 参数@2 指定一个 table 对象指定字段的默认值。

fsys.table 并非实时读写,而是将配置读入内存。
所以请不要多对象、多线程、多进程打开同一配置文件。
这会导致多份不同步的配置写入存储设备时会相互覆盖。

注意此对象不可跨线程传递。
多线程可通过 winform 成员函数转发到界面线程操作配置文件即可,
多进程可利用原子窗体、进程互斥体避免冲突。
如果必须要在多线程打开相同的文件,
请调用 enableAutoSave 方法禁用自动保存功能。

fsys.table() #

返回对象:fsysTableObject

fsysTableObject 成员列表 #

fsysTableObject.* #

文件同步表读写属性。
在保存时会使用 table.tostring 函数序列化文件同步表到文件中。
限制:
仅序列化以字符串、数值为键的元素,
仅序列化值为字符串、数值、buffer 以及定义了 _serialize 元方法的成员。
循环引用的值转换为 null,序列化时忽略成员函数。

配置文件在首次使用时自动加载,默认在退出程序时自动保存。

fsysTableObject.afterLoad #

指定一个函数,在下次重新加载配置文件时调用
此函数默认为空函数,在调用 winform.bindConfig 后会被自动赋值用于写入控件值

fsysTableObject.assign() #

返回对象:fsysTableObject

fsysTableObject.assign(混入表) #

fsysTableObject.assign(  
   键名 = 值;  
   键名2 = 值;  
);//该数会自动调用 save 函数保存配置到文件

fsysTableObject.beforeSave #

指定一个函数,在保存配置以前自动调用
此函数默认为空函数,在调用 winform.bindConfig 后会被自动赋值用于读取控件值

fsysTableObject.enableAutoSave(false) #

是否允许自动保存保存文件。

些设置指定对象回收时是否会自动保存文件,
也同时指定 fsys.config 对象调用 saveAll 函数时是否自动保存
其管理的 fsys.table 对象绑定的文件。

默认情况下 fsys.table 会启用自动保存功能。
如果多进程或多线程打开相同的配置文件,
应当禁用自动保存,以避免后退出的线程或进程自动保存更旧的配置。
fsys.config 的成员也是 fsys.table 对象,也要注意这个问题。

一旦禁用自动保存,要切记每次修改配置后要及时保存文件。
在每次打开设置界面时也建议重新调用 load 方法。
如果要在一个线程修改文件时多线程多进程立即同步,
则要考虑使用 thread.command 或者 process.command 订阅事件。

fsysTableObject.load() #

从文件载入文件同步表
加载成功返回对象,加载失败返回null空值

返回对象:fsysTableObject

fsysTableObject.mix() #

返回对象:fsysTableObject

fsysTableObject.mix(混入默认值表) #

fsysTableObject.mix(  
   键名 = 默认值;  
   键名2 = 默认值;  
);//该函数用于设定默认值,但不会修改已存在的值

fsysTableObject.save() #

存储文件同步表到文件
在线程退出时也会自动调用该函数

返回对象:fsysTableObject

Markdown 格式