为什么 .ini 配置文件在写入时,只写入第一条,后面的都没写入?

llfguest 2003-08-19 06:55:15
我在 VB.net 中写配置文件时,需要连续写十多条配置信息,程序在运行时通过,而且我在单步调试时,程序也没有提示出错,但我在打开配置文件的时候,只能看到程序写入了第一条配置信息,后面的都没有写入,请问是什么原因?

部分代码如下:

Dim myinifile = "config.ini"
mypath = Application.StartupPath
inifile = mypath & "\" & myinifile
WritePrivateProfileString("start", "setstartprogram", setstartprogram, inifile)
WritePrivateProfileString("start", "setstartopentime", setstartopentime, inifile)
WritePrivateProfileString("start", "setstartclosetime", setstartclosetime, inifile)
WritePrivateProfileString("start", "setstartweekrule", setstartweekrule, inifile)
WritePrivateProfileString("start", "setstartweekstart", setstartweekstart, inifile)
WritePrivateProfileString("start", "setstartweekstop", setstartweekstop, inifile)
WritePrivateProfileString("settran", "settranstime", settranstime, inifile)
WritePrivateProfileString("setzl", "setzltime", setzltime, inifile)
WritePrivateProfileString("setzl", "setzldisplaynum", setzldisplaynum, inifile)
WritePrivateProfileString("setzl", "setzldeletedatanum", setzldeletedatanum, inifile)
WritePrivateProfileString("setzl", "setzldeletefilenum", setzldeletefilenum, inifile)
WritePrivateProfileString("setconvert", "setconverttime", setconverttime, inifile)
WritePrivateProfileString("setrecord", "setrecordtime", setrecordtime, inifile)
...全文
97 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
bing71 2003-09-02
  • 打赏
  • 举报
回复
建一个DATASET,然后DATASET.WRITEXML("文件名"),就可以了。
ZQY801105 2003-09-02
  • 打赏
  • 举报
回复
同意:hello-me的意见。

请问:echeng192,怎样实现用xml作为配置文件呢?这么先进的东东到哪儿才能买得到呢??
llfguest 2003-09-02
  • 打赏
  • 举报
回复
可不可以给段 XML 代码出来先,有读写功能的,简单一点就行
飞不动 2003-09-01
  • 打赏
  • 举报
回复
在.NET为什么不用XML格式的文件作为配置文件呢。
XML文件比ini文件好操作得多,有先进的东东不用
何苦呢?
llfguest 2003-09-01
  • 打赏
  • 举报
回复
我试了很多次,得出一个可能的结果是:VB.net 不支持中文目录,只要你将ini文件在纯英文的目录下操作,就可以,没有问题,但如果你的路径中有中文目录,那么,就会出现上述情况,这个问题我提出这么久,终于还是自己来找到问题的根源,哎,可怜,我只是个初学者,如果人不同意见,请指教!
ZQY801105 2003-08-26
  • 打赏
  • 举报
回复
我也与到了这个同样的问题,大家快来顶一下吧!
我是编写了一个操作Ini文件的类,与那位仁兄一样的情况。就是只能添加第一条配置信息!后面的添加语句不管用了!!!!
还请大家指点迷津!
yanwc 2003-08-25
  • 打赏
  • 举报
回复
应该是长文件名的原因,如果你将.INI文件放在C:\下,就不会出这种情况,但这个问题如何解决,不太清楚.
llfguest 2003-08-25
  • 打赏
  • 举报
回复
对啊,我自己到现在也看不出来错在哪里,既然第一条能写成功,那么变量 inifile 应该是没什么问题的,而且后面的变量都没有问题,真是莫名其妙,而且我把代码改写成 delphi 也是没有问题的,我真是搞不懂了
  • 打赏
  • 举报
回复
api定义在新建一个form 里了吗?
又不报错
真是奇怪阿
llfguest 2003-08-20
  • 打赏
  • 举报
回复
我在一个只有单个form的工程中试了一下上面的代码是可以的,但在原来的工程中,新建一个form 然后照抄上面的代码,就不行了,难道跟多个 form 会有影响吗,而且我前面的几个form 中都没有涉及到 ini 文件,不知道是什么原因?
llfguest 2003-08-20
  • 打赏
  • 举报
回复
没有啊,我都看过了,在单步调试时,都可以看到变量的值的
  • 打赏
  • 举报
回复
怎么会呢?
代码没问题啊
后面几个变量不是空值吧?
纯c读写ini配置文件 用c/c++读写ini配置文件有不少第三方的开源库,如iniparser、libini、rwini、UltraLightINIParser等,但都不理想,往往代码较大、功能较弱、 接口使用不方便。尤其在大小写处理、前后空格、各种注释、跨平台换行符支持、带引号字符串处理、无section操作、原格式保持等方面存在问题。 现将本人精心制作的ini读写程序源码奉献给大家,纯c编写,简洁好用。支持windows和linux。 主要特点: 1、支持;和#注释符号,支持行尾注释。 2、支持带引号'或"成对匹配的字符串,提取自动去引号。引号中可带其它引号或;#注释符。 3、支持无section或空section(名称为空)。 4、支持10、16、8进制数,0x开头为16进制数,0开头为8进制。 5、支持section、key或=号前后带空格。 6、支持\n、\r、\r\n或\n\r换行格式。 7、不区分section、key大小写,但写入以新串为准,并保持其大小写。 8、新增数据,若section存在则在该节最后一个有效数据后添加,否则在文件尾部添加。 9、支持指定key所在整行删除,即删除该键值,包括注释。 10、可自动跳过格式错误行,修改仍然保留。 11、修改保留原注释:包括整行注释、行尾注释(包括前面空格)。 12、修改保留原空行。以上三点主要是尽量保留原格式。 不足之处: 1、不支持单key多value(逗号分割),只能一次性提取后自行处理。 2、不支持同名重复section和key。(重复section可视为错误,重复key则可能造成分歧) 3、不能提取所有section或key名称。 使用只需两个文件inirw.h、inirw.c,另有测试程序和工程文件,支持windows和linux。

16,722

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧