ap112 发表于 2014-7-16 15:36:49

ini 删除问题【解决】

本帖最后由 ap112 于 2015-3-5 16:54 编辑

ini配置如下:

a=a
b=b
c=c


aa=aa
bb=bb
cc=cc


aaa=aaa
bbb=bbb


asas=asas
aass=aass

在这个ini中,一些关键字是字段名,例如a是的关键字,也是一个字段名:我想删除,中的关键字若是字段名,也全部删除,删除的字段名下的关键字若是字段名也删除,依次下去,直到关键字不是字段名为止;
上面的ini若是我删除,那么和都删除了

dncsk 发表于 2014-7-17 13:41:39

楼主 太过急躁 没表达完整想要表达的意思 我感觉

ap112 发表于 2014-7-17 16:05:15

回复 2# dncsk

就是我的一个in文件,里面存在很多字段名,当然每个字段名下都有关键字和值;
由于ini特殊,这些关键字名称会和一些字段名相同;
假如我要删除一个字段名 A的所有数据,该字段名 A 下关键字 B 可能是另外一个字段名,我不仅想删除字段名 A 的数据, 还要删除 B ,若是 B 的关键字 C 也是字段名,也要删除C   , 就这样一直持续下去,直到我删除的字段名 X 数据,在 X 下面所有关键字 Y 等不是任何一个字段名。

afan 发表于 2014-7-17 17:16:41

ini* 函数是不区分大小写的。因此,一楼的示例使用“”及“”不合适。

ap112 发表于 2014-7-18 13:00:34

ini* 函数是不区分大小写的。因此,一楼的示例使用“”及“”不合适。
afan 发表于 2014-7-17 17:16 http://www.autoitx.com/images/common/back.gif

您好,我只是举一个例子,实际不是这样的,

afan 发表于 2014-7-18 16:02:41

_IniDeleteNested(@ScriptDir & '\1.ini', 'A')

Func _IniDeleteNested($fIni, $section)
        ;删除字段,同时删除嵌套的其它字段
        __CKIni($fIni, $section)
        IniDelete($fIni, $section)
EndFunc   ;==>_IniDeleteNested

Func __CKIni($fIni, $section)
        Local $a0 = IniReadSection($fIni, $section)
        If @error Then Return SetError(1)
        For $i = 1 To $a0
                __CKIni($fIni, $a0[$i])
                If Not @error Then IniDelete($fIni, $a0[$i])
        Next
EndFunc   ;==>__CKIni

likeping 发表于 2014-7-20 02:11:35

回复 6# afan

学习了
页: [1]
查看完整版本: ini 删除问题【解决】