递归火山软件开发平台
标题:
@创世魂 给代码更新 合并 到官方代码
[打印本页]
作者:
server
时间:
2024-4-8 20:06
标题:
@创世魂 给代码更新 合并 到官方代码
刚好用到,而自身又不支持,我就给改了改。你把这个代码 合并进去,给加个参数 : 是否多字节
测试了,没问题。
<火山程序 类型 = "通常" 版本 = 1 />
类 配置项 <公开 折叠>
{
方法 test
{
变量 fileini <类型 = 文本型>
fileini = 取特定目录 (特定目录类型.系统桌面) + "cg.ini"
变量 index1 <类型 = 整数 值 = 0>
变量 index2 <类型 = 整数 值 = 0>
计次循环 (3)
{
index2 = 0
计次循环 (3)
{
配置项.写 (fileini, "aaa" + 到文本 (index1), "name" + 到文本 (index2), "val" + 到文本 (index2))
index2 = index2 + 1
}
index1 = index1 + 1
}
index1 = 0
计次循环 (3)
{
index2 = 0
计次循环 (3)
{
调试输出 ("aaa" + 到文本 (index1), "name" + 到文本 (index2), 配置项.读 (fileini, "aaa" + 到文本 (index1), "name" + 到文本 (index2)))
index2 = index2 + 1
}
index1 = index1 + 1
}
调试输出 (配置项.取节名 (fileini))
}
方法 读 <公开 静态 类型 = 文本型 注释 = "读取并返回所指定配置文件中指定项目的文本内容" 折叠>
参数 配置文件名 <类型 = 文本型 注释 = "指定配置文件的名称,通常以"ini"作为文件名后缀.">
参数 节名称 <类型 = 文本型 注释 = "指定欲读入配置项所处节的名称">
参数 配置项名称 <类型 = 文本型 注释 = "指定欲读入配置项在其节中的名称">
参数 默认值 <类型 = 文本型 注释 = "如果所指定配置项不存在,将返回此默认值文本." @默认值 = "">
{
变量 结果变量 <静态 类型 = 字节集类>
如果 (文本是否为空 (配置文件名) == 假 && 文本是否为空 (节名称) == 假 && 文本是否为空 (配置项名称) == 假)
{
结果变量.分配字节集 (10240, 真)
@ GetPrivateProfileStringA (GetMbsText (@<节名称>.GetText (), CVolMem (), NULL), GetMbsText (@<配置项名称>.GetText (), CVolMem (), NULL), GetMbsText (@<默认值>.GetText (), CVolMem (), NULL), (LPSTR)@<结果变量>.GetPtr (), @<结果变量>.GetSize (), GetMbsText (@<配置文件名>.GetText (), CVolMem (), NULL));
}
返回 (多字节到文本 (结果变量))
}
方法 写 <公开 静态 类型 = 逻辑型 注释 = " 将指定文本内容写入指定配置项中或者删除指定的配置项或节," 注释 = "如果指定配置文件不存在,将会自动创建." 返回值注释 = "返回是否成功"
折叠 折叠2 @禁止流程检查 = 真>
参数 配置文件名 <类型 = 文本型 注释 = "指定配置文件的名称,通常以"ini"作为文件名后缀.">
参数 节名称 <类型 = 文本型 注释 = "指定欲写入配置项所处节的名称">
参数 配置项名称 <类型 = 文本型 注释 = "指定欲写入配置项在其节中的名称.如果为空对象,则删除指定节及其下的所有配置项." @默认值 = 空对象>
参数 欲写入值 <类型 = 文本型 注释 = "指定欲写入到指定配置项中的文本,如果为空对象,则删除所指定配置项." @默认值 = 空对象>
{
@ return WritePrivateProfileStringA (GetMbsText (@<节名称>.GetText (), CVolMem (), NULL), (@<配置项名称>.IsNullObject () ? NULL : GetMbsText (@<配置项名称>.GetText (), CVolMem (), NULL)), (@<欲写入值>.IsNullObject () ? NULL : GetMbsText (@<欲写入值>.GetText (), CVolMem (), NULL)), GetMbsText (@<配置文件名>.GetText (), CVolMem (), NULL));
}
方法 取节名 <公开 静态 类型 = 文本数组类 注释 = "返回指定配置文件中所有已有节名的文本数组" 折叠>
参数 配置文件名 <类型 = 文本型 注释 = "指定配置文件的名称,通常以"ini"作为文件名后缀.">
{
变量 结果变量 <类型 = 文本数组类>
变量 节名 <类型 = 字节集类>
变量 节名组 <类型 = 字节集数组类>
节名.分配字节集 (256 * 1024, 真)
@ GetPrivateProfileSectionNamesA ((LPSTR)@<节名>.GetPtr (), @<节名>.GetSize (), GetMbsText (@<配置文件名>.GetText (), CVolMem (), NULL));
节名.删除字节集尾部数据 (节名.寻找字节集 (创建字节集 (0, 0), ))
分割字节集 (节名, 创建字节集 (0), 节名组, )
节名组.枚举循环 ()
{
结果变量.加入成员 (多字节到文本 (节名组.取枚举值 ()))
}
返回 (结果变量)
}
#
}
复制代码
作者:
a759077146
时间:
2024-4-8 23:18
:噜阿噜
作者:
server
时间:
2024-4-9 13:06
配置项 还有其他函数,暂时用不上,不准备搞起了。
那位火友有兴趣可以搞一搞。
欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/)
Powered by Discuz! X3.4