请教:读微软标准配置文件的函数GetPrivateProfileString(Section, Key, DefaultValue, ReturnedString, nSize, FileInfo)怎么使用呀,请
我VB编的控件代码如下:
Private Declare Function GetPrivateProfileString Lib "Kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib "Kernel32" Alias "WritePrivateProfileStringA" (ByVal AppName As String, ByVal KeyName As String, ByVal keydefault As String, ByVal FileName As String) As Long
Public Function ReadINI(FileInfo As String, Section As String, Key As String, iniDefault As String) As String
'Îļþ¡¢Ö¡Â¼¨¹¡¢¼¨¹Öµ¡¢Ä¬ÈÏÖµ
On Error Resume Next
Dim DefaultValue As String
Dim ReturnedString As String
Dim nSize As Long
Dim Retval As Long
DefaultValue = Space$(254)
DefaultValue = iniDefault
ReturnedString = Space$(254)
nSize = 254
Retval = GetPrivateProfileString(Section, Key, DefaultValue, ReturnedString, nSize, FileInfo)
ReadINI = Trim(ReturnedString)
End Function
Public Function WriteINI(inifile As String, inisection As String, inikey As String, Info As String) As String
'дÈëINIÎļþ
'Îļþ¡¢Ö¡Â¼¨¹¡¢¼¨¹Öµ¡¢Ä¬ÈÏÖµ
On Error Resume Next
Dim Retval As Long
Retval = WritePrivateProfileString(inisection, inikey, Info, inifile)
myWriteINI = LTrim$(Str$(Retval))
End Function
配置文件如下:
[1]
a
[2]
b
[3]
c
[4]
d
NotNullCol=tkgpname||origname||destcode||typetxt||region_name
我在ASP中使用如下,
Set ri = server.CreateObject("ReadExcelIni.read")
returnVal = ri.ReadINI("temp","4","NotNullCol","")
' returnVal = ri.ReadINI("temp","NotNullCol","4","444")
response.write("returnVal="+returnVal+"<br>")
注:控件已经注册成功
怎么就是没有返回值呢
问题点数:100、回复次数:17Top
1 楼MeXP(秦汉风)回复于 2002-05-20 17:54:58 得分 0
继续关注你的问题,帮你upTop
2 楼MeXP(秦汉风)回复于 2002-05-20 18:13:42 得分 40
将readini中的Retval = GetPrivateProfileString(Section, Key, DefaultValue, ReturnedString, nSize, FileInfo)先注释掉
换成Retval="fdafda"
ReadINI = Retval
强行返回一个固定值,看看returnVal = ri.ReadINI("temp","4","NotNullCol","")的结果,如果正常,则是GetPrivateProfileString调用问题
ReadINI = Trim(ReturnedString)这句用来干什么
Top
3 楼MeXP(秦汉风)回复于 2002-05-21 00:16:39 得分 0
upTop
4 楼saucer(思归)回复于 2002-05-21 02:33:34 得分 40
assume "temp" is the ini file name in the current directory, try
returnVal = ri.ReadINI(Server.MapPath("temp"),"4","NotNullCol","")
Top
5 楼MeXP(秦汉风)回复于 2002-05-21 10:43:16 得分 0
不知解决了吗?
upTop
6 楼tripofdream(梦之旅)回复于 2002-05-21 11:02:49 得分 0
1.你程序中用的ApplicationName参数跟配置文件不符
2.你的配置文件不标准,KeyName的形式应该是
lpKeyName=xxxTop
7 楼zrb007(老兵)回复于 2002-05-21 11:03:37 得分 0
to mexp(秦汉风) : :( 还是没有搞定。
我试了Retval="fdafda"
ReadINI = Retval
ReadINI = Trim(ReturnedString)这句用来干什么? 我也不知道,是看网上的一个程序的
怎么还是不能返回值呢?
谢谢你的大力支持!
Top
8 楼zrb007(老兵)回复于 2002-05-21 11:09:12 得分 0
to mexp(秦汉风):
返回值总是 0 !
注:我是这样看返回值的
returnVal = ri.ReadINI("temp","4","name","444")
response.write("returnVal="+returnVal+"<br>")
Top
9 楼zrb007(老兵)回复于 2002-05-21 11:24:46 得分 0
To saucer(思归):
我试了你的,还是不行,看来不应该是路径的问题Top
10 楼MeXP(秦汉风)回复于 2002-05-21 11:32:06 得分 0
你的函数连字符串都不能带回,自然这句returnVal = ri.ReadINI("temp","4","name","444")出错
还有为什么返回的是returnstring
ReadINI = Trim(ReturnedString)Top
11 楼MeXP(秦汉风)回复于 2002-05-21 11:48:25 得分 0
我觉得应该返回Retval 吧
Retval = GetPrivateProfileString(Section, Key, DefaultValue, ReturnedString, nSize, FileInfo)
ReadINI = Trim(Retval)
Top
12 楼tripofdream(梦之旅)回复于 2002-05-21 12:58:15 得分 0
在
Retval = GetPrivateProfileString(Section, Key, DefaultValue, ReturnedString, nSize, FileInfo)
中,ReturnedString是一个输出参数,也就是从配置文件中读到的值,而Retval只返回这个函数运行成功与否.Top
13 楼tripofdream(梦之旅)回复于 2002-05-21 13:02:05 得分 0
你也可以返回Retval的值看看,如果返回0,说明取值失败,1说明成功Top
14 楼tripofdream(梦之旅)回复于 2002-05-21 13:29:16 得分 20
我已经测试过,组件没有错误,saucer(思归)是正确的,也就是说GetPrivateProfileString()函数中的FileInfo必须是完整路径(绝对路径)+文件名Top
15 楼MeXP(秦汉风)回复于 2002-05-21 13:37:05 得分 0
学到不少Top
16 楼zrb007(老兵)回复于 2002-05-21 14:04:28 得分 0
我再试试了,看看返回Retval值是多少了
谢谢大家热心帮助了Top
17 楼zrb007(老兵)回复于 2002-05-21 14:37:33 得分 0
终于搞定了,主要还是配置文件路径问题,必须是完整路径
再次感谢大家Top
相关问题
- GetPrivateProfileString不能用
- GetPrivateProfileString/Section/Sectionnames 怎么用?
- 关于GetPrivateProfileString()的问题
- 关于GetPrivateProfileString这个函数
- GetPrivateProfileString函数问题求解
- Properties类的getProperty(String key, String defaultValue) 中的defaultValue是什么意思?
- 调用GetPrivateProfileString总是返回0????,烦S了
- select * from (select * from fileinfo)有什么错?
- 怎样在VB中调用API(getprivateprofilestring)
- fileinfo这个软件哪有下载的?




