
求一个vb的GetPrivateProfileString读写ini实例
声明对不?PrivateDeclareFunctionGetPrivateProfileStringLib"kernel32"Alias"GetPrivateProfil...
声明对不?
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 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
如果对,用这个声明 展开
2个回答
展开全部
'INI文件操作函数
Private Declare Function GetPrivateProfileStringByKeyName& Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName$, ByVal lpszKey$, ByVal lpszDefault$, ByVal lpszReturnBuffer$, ByVal cchReturnBuffer&, ByVal lpszFile$)
Private Declare Function GetPrivateProfileStringKeys& Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName$, ByVal lpszKey&, ByVal lpszDefault$, ByVal lpszReturnBuffer$, ByVal cchReturnBuffer&, ByVal lpszFile$)
Private Declare Function GetPrivateProfileStringSections& Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName&, ByVal lpszKey&, ByVal lpszDefault$, ByVal lpszReturnBuffer$, ByVal cchReturnBuffer&, ByVal lpszFile$)
Private Declare Function WritePrivateProfileStringByKeyName& Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lplFileName As String)
Private Declare Function WritePrivateProfileStringToDeleteKey& Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As Long, ByVal lplFileName As String)
Private Declare Function WritePrivateProfileStringToDeleteSection& Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Long, ByVal lpString As Long, ByVal lplFileName As String)
'自定义读取INI函数
Public Function getIni(ByVal pfileName As String, ByVal psection As String, ByVal pkey As String) As String
Dim x As Long, Buff As String * 128, i%
x = GetPrivateProfileStringByKeyName(psection, pkey, "", Buff, 128, pfileName)
i = InStr(Buff, Chr(0))
getIni = Trim(Left(Buff, i - 1))
End Function
'自定义写入INI函数
Public Function WriteIni(ByVal psection As String, ByVal pkey As String, ByVal pvalue As String, ByVal filePath As String) As Boolean
Dim x As Long, Buff As String * 128, i As Integer
Buff = pvalue + Chr(0)
x = WritePrivateProfileStringByKeyName(psection, pkey, Buff, filePath)
WriteIni = x
End Function
Private Declare Function GetPrivateProfileStringByKeyName& Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName$, ByVal lpszKey$, ByVal lpszDefault$, ByVal lpszReturnBuffer$, ByVal cchReturnBuffer&, ByVal lpszFile$)
Private Declare Function GetPrivateProfileStringKeys& Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName$, ByVal lpszKey&, ByVal lpszDefault$, ByVal lpszReturnBuffer$, ByVal cchReturnBuffer&, ByVal lpszFile$)
Private Declare Function GetPrivateProfileStringSections& Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName&, ByVal lpszKey&, ByVal lpszDefault$, ByVal lpszReturnBuffer$, ByVal cchReturnBuffer&, ByVal lpszFile$)
Private Declare Function WritePrivateProfileStringByKeyName& Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lplFileName As String)
Private Declare Function WritePrivateProfileStringToDeleteKey& Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As Long, ByVal lplFileName As String)
Private Declare Function WritePrivateProfileStringToDeleteSection& Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Long, ByVal lpString As Long, ByVal lplFileName As String)
'自定义读取INI函数
Public Function getIni(ByVal pfileName As String, ByVal psection As String, ByVal pkey As String) As String
Dim x As Long, Buff As String * 128, i%
x = GetPrivateProfileStringByKeyName(psection, pkey, "", Buff, 128, pfileName)
i = InStr(Buff, Chr(0))
getIni = Trim(Left(Buff, i - 1))
End Function
'自定义写入INI函数
Public Function WriteIni(ByVal psection As String, ByVal pkey As String, ByVal pvalue As String, ByVal filePath As String) As Boolean
Dim x As Long, Buff As String * 128, i As Integer
Buff = pvalue + Chr(0)
x = WritePrivateProfileStringByKeyName(psection, pkey, Buff, filePath)
WriteIni = x
End Function
追问
我是一个vb初学者,麻烦说下如何调用你这函数,给个样本
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对 ,
ini片段
[1]
qq=987604896
[2]
qq=1532630330
[3]
qq=16792021
[4]
qq=24215831
Dim buff As String
dim qq()
For i = 1 To 4
buff = String(255, 0)
lng = GetPrivateProfileString(i, "qq", "qq", buff, 255, App.Path & "\Config.ini")
qq(i) = Int(buff)
next
ini片段
[1]
qq=987604896
[2]
qq=1532630330
[3]
qq=16792021
[4]
qq=24215831
Dim buff As String
dim qq()
For i = 1 To 4
buff = String(255, 0)
lng = GetPrivateProfileString(i, "qq", "qq", buff, 255, App.Path & "\Config.ini")
qq(i) = Int(buff)
next
更多追问追答
追问
qq(i)下标越界
追答
不可能吧,你dim qq()----> dim qq(5)试试
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询