TC官方合作论坛

 找回密码
 立即注册
查看: 1797|回复: 4

读写配置新思路,用sqlite数据库作配置文件

[复制链接]
发表于 2016-7-10 12:09:53 | 显示全部楼层 |阅读模式

马上加入TC

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

x
最近在给TC程序做配置文件,发现找到的一键生成版本对下拉菜单都支持不太好,正好正在玩TC自带的sqlite数据库当做程序的变量调用池
于是有了用数据库保存配置文件的想法,不多说,直接上图
QQ截图20160710115442.jpg
首先在sqlitestudio里面建立一个table,字段就两个,一个是名称,主键+唯一,规则是有冲突REPLACE

然后上语句:
//==============================写入配置=======================================//
功能 写配置()
    变量 选项,ret_arr,ret,i
    遍历(i=0;i < 28;i++)
        选项=下拉框获取选项("下拉框"&i)
        ret = sqlitesqlarray(路径&"conf","replace into conf values(\'下拉框" & i & "\',\'" & 选项 & "\');",ret_arr)
    结束
    遍历(i=0;i<5;i++)
        选项=复选框获取状态("复选框"&i)
        ret = sqlitesqlarray(路径&"conf","replace into conf values(\'复选框" & i & "\',\'" & 选项 & "\');",ret_arr)
    结束
结束
//===============================读取配置=======================================//
功能 读配置()
    变量 选项,ret_arr=数组(),ret,i
    遍历(i=0;i < 28;i++)
        ret = sqlitesqlarray(路径&"conf","select 数值 from conf where 名称=\'下拉框" & i & "\'",ret_arr)
        下拉框设置选项("下拉框"&i,ret_arr[0]["数值"])
    结束
    遍历(i=0;i < 5;i++)
        ret = sqlitesqlarray(路径&"conf","select 数值 from conf where 名称=\'复选框" & i & "\'",ret_arr)
        下拉框设置选项("下拉框"&i,ret_arr[0]["数值"])
    结束
结束

=========================================================
然后就会生成以下的数据库,我把程序放在初始化和关闭上,启动和关闭时有轻微的卡顿,但是这个方法好处是保存的很稳定,并且程序下比较干净
我是把资源文件都放在程序运行目录下的,否则每次启动程序都会产生一大堆垃圾在WIN临时文件夹里面
QQ截图20160710115900.jpg
===========================================
比起大段的一键配置程序,这种方式是不是很简单,当然这个思路可以做关于其他控件的更多研究。。。。。只是抛砖引玉下。。。。
回复

使用道具 举报

发表于 2016-7-22 13:15:15 | 显示全部楼层
不错,好思路,虽然我不懂sqlite
回复 支持 反对

使用道具 举报

发表于 2016-7-22 13:16:20 | 显示全部楼层
楼主能给个源码吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-24 00:27:38 | 显示全部楼层
a145356 发表于 2016-7-22 13:16
楼主能给个源码吗?

上面就是源码了啊~
其中 第一个“conf“ 是数据库的文件名,第二个"conf"是数据库内的表,你看看sqlitesqlarray帮助文件,有教怎么建立。也可以用sqlitestudio
回复 支持 反对

使用道具 举报

发表于 2016-7-28 21:34:39 | 显示全部楼层
我研究几天,还是不会。
能不能上传个附件给我啊?
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-30 17:06 , Processed in 0.045490 second(s), 30 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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