求助啊!!vb.net中关于INI文件读取的问题

[复制链接]
查看11 | 回复4 | 2021-1-27 06:48:25 | 显示全部楼层 |阅读模式
编写了一个INI文件的读写程序,button2能够成功的写文件,button1却无法正确读取ini文件的内容。
总是返回“错误”,在网上查了很多资料,都是这种格式写的,都说可以正常运行,我的为什么不行啊?
向各位大侠讨教一下!!!
PublicClassForm1
PrivateDeclareFunctionGetPrivateProfileStringLib"kernel32"_
Alias"GetPrivateProfileStringA"(_
ByVallpApplicationNameAsString,_
ByVallpKeyNameAsString,_
ByVallpDefaultAsString,_
ByVallpReturnedStringAsString,_
ByValnSizeAsLong,_
ByVallpFileNameAsString)AsLong
PrivateDeclareFunctionWritePrivateProfileStringLib"kernel32"_
Alias"WritePrivateProfileStringA"(_
ByVallpApplicationNameAsString,ByVallpKeyNameAsString,_
ByVallpStringAsString,ByVallpFileNameAsString)AsLong
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimaAsLong
DimsAsNewString(Chr(0),256)
a=GetPrivateProfileString("MASTER","Name","错误",s,Len(s),"c:\test.ini")
TextBox1.Text=Microsoft.VisualBasic.Left(s,InStr(s,Chr(0))-1)
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
WritePrivateProfileString("MASTER","Name","正确","c:\test.ini")
WritePrivateProfileString("MASTER","age","26","c:\test.ini")
EndSub
EndClass

分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:48:25 | 显示全部楼层
项目->属性->设置
设置好名称类型值后。
使用My.Settings.
丢弃ini文件吧
回复

使用道具 举报

千问 | 2021-1-27 06:48:25 | 显示全部楼层
PrivateDeclareFunctionGetPrivateProfileStringLib"kernel32"_
Alias"GetPrivateProfileStringA"(_
ByVallpApplicationNameAsString,_
ByVallpKeyNameAsString,_
ByVallpDefaultAsString,_
ByVallpReturnedStringAsString,_
ByValnSizeAsLong,_
ByVallpFileNameAsString)AsLong

其中的lpReturnedString需要用到引用类型的StringBuilder吧。
我用C#写过可以给你参考一下

//////WindowsAPI读取Windowsini配置文件
///
///配置文件节
///配置关键字
///默认值
///读取值
///大小
///配置文件名
///
[System.Runtime.InteropServices.DllImport("kernel32")]
publicstaticexternlongGetPrivateProfileString(stringlpApplicationName,stringlpKeyName,stringlpDefault,System.Text.StringBuilderlpReturnedString,intnSize,stringlpFileName);

///
///WindowsAPI写Windowsini配置文件
///
///配置文件节
///配置关键字
///大小
///配置文件名
///
[System.Runtime.InteropServices.DllImport("kernel32")]
publicstaticexternlongWritePrivateProfileString(stringlpApplicationName,stringlpKeyName,stringlpString,stringlpFileName);

//////读取配置文件
///
///配置文件节
///配置关键字
///配置文件名
///
publicstaticstringReadConfig(stringAppName,stringKeyName,stringFileName){
StringBuildersb=newStringBuilder(255);
GetPrivateProfileString(AppName,KeyName,"",sb,sb.Capacity,FileName);
if(sb==null)return"";
returnsb.ToString();
}
回复

使用道具 举报

千问 | 2021-1-27 06:48:25 | 显示全部楼层
用my.settings的话怎么实现数组的存储呢,比如我要存储128个数据,如何实现呢?
回复

使用道具 举报

千问 | 2021-1-27 06:48:25 | 显示全部楼层
数据多用XML吧
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行