刚学读init文件,窗体一个Command按钮,点击他时显示ini文件中对应项的值。代码如下:窗体中
Private Sub Command1_Click()
Dim length
Dim lpFileName
Dim Temp As String * 255
lpFileName = App.Path & "\myIni.ini"
length = GetPrivateProfileString("System", "aa", "", Temp, Len(Temp), lpFileName)
MsgBox Left(Temp, length)
End Sub
模块中
Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" _
(ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, _
ByVal lpString As Any, _
ByVal lpFileName As String) As Long
Public 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
为什么运行时只显示一个OK对话框?
參考答案:Option Explicit
Public sIniFileDir As String 'ini文件的路径
Public sNeirong() As String
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
Public Function FlGetUserINI()
Dim lpOut As String * 128
Dim Ret As Long
Dim i As Integer
Dim sUser As String
Dim sKey As String
sIniFileDir = Trim(App.Path)
If Right(sIniFileDir, 1) <> "\" Then sIniFileDir = sIniFileDir & "\"
sIniFileDir = sIniFileDir & "HAS_SIM.INI"
For i = 0 To 1000
sKey = "KEY" & i + 1
Ret = GetPrivateProfileString("keshi", sKey, "", lpOut, 128, sIniFileDir)
sUser = FlLeftB(lpOut, Ret)
If sUser = "" Then
Exit Function
End If
ReDim Preserve sNeirong(i)
sNeirong(i) = sUser
Next
End Function
Public Function FlLeftB(p1 As String, p2 As Long) As String
FlLeftB = StrConv(LeftB(StrConv(p1, vbFromUnicode), p2), vbUnicode)
End Function