D语言中国主页  D语言编辑器SciTE4D   DWin库 D语言官方网站
D语言编译器1.x最新版 OpenSource   Tango   webnews  Wiki

查看完整版本: D语言dwin库系列-用ini文件来保存软件配置

yidabu 2007-12-28 20:17

D语言dwin库系列-用ini文件来保存软件配置

D语言dwin库系列-用ini文件来保存软件配置


    D programming language现有几个读写ini格式文件的代码:
   
    1   DFL作者写和ini类
    [url]http://www.dprogramming.com/ini.php[/url]   
    缺点是不支持多行值, 不支持Tango.

   
    2   Tango库中的tango.text.Properties类
    缺点是不支持多行值,不支持section.
   
    3   Destructionator写的ini操作function
    [url]http://arsdnet.net/code/Ini.html[/url]
    支持多行值,不支持Tango.
   
    D语言中国社区( [url]http://www.d-programming-language-china.org/[/url] )开发的DWin库参考上述2,3代码,提供了更为方便的ini操作free function, 具体代码在:
    dwin.text.Properties中.
   
   
    ini文件的加载,可以用string, 也可以FilePath[code]        char[] sIni = ...
        auto ini = iniLoad(sIni);
        //或者这样
        auto ini = iniLoad(FilePath(r"D:\config.ini"));
        char[] value = ini["section"]["key"];[/code]ini文件修改后,要写回文件,可以这样:[code]        iniSave(r"D:\config.ini", ini);
        //或者
        iniSave(FilePath(r"D:\config.ini"), ini);[/code]如果是多行值,就要指定值开始符和结束符,或者使用默认值.
    比如D:\config.ini的内容是这样的:[code]        [url]
        bbs = http://bbs.d-programming-language-china.org/forum-10-1.html
        DChina = http://www.d-programming-language-china.org/
        [about]
        dchina = {{{
            D programming language in China.
        Has Many articles about D.
        }}} [/code]用类似下面代码来读取和保存ini配置文件,注意,多行值开始符和结束符都独占一行:[code]        auto path = r"D:\config.ini";
        auto ini = iniLoad(FilePath(path), "{{{", "}}}");
        Cout(ini["about"]["dchina"]).newline;
        ini["url"]["bbs"] = "www.d-programming-language-china.org/forum-10-1.html";
        ini["url"]["DChina"] = "www.d-programming-language-china.org/";
        iniSave(ini, "{{{", "}}}");        [/code]20071228
页: [1]
查看完整版本: D语言dwin库系列-用ini文件来保存软件配置