首先,声明两个API函数WritePrivateProfileString和GetPrivateProfileString,一下是代码:Private Sub WriteToIni(ByVal Filename As String, ByVal Section As String, ByVal Key As String, ByVal Value As String) Dim buff As String * 128 buff = Value + Chr(0) WritePrivateProfileString Section, Key, buff, Filename End Sub Private Function ReadFromIni(ByVal Filename As String,ByVal Section As String, ByVal Key As String) As String Dim i As Long Dim buff As String * 128 GetPrivateProfileString Section, Key, "", buff, 128, Filename i = InStr(buff, Chr(0)) ReadFromIni = Trim(Left(buff, i - 1)) End Function 应用举例: 一、写INI文件 Dim Counter As Long For Counter=1 To 4 Call WriteToIni(App.Path & "\Options.ini", "Test", "Name" & Counter, "Value" & Counter) Next Counter 运行后Options.ini内容如下: [Test] Name1=Value1 Name2=Value2 Name3=Value3 Name4=Value4 二、读INI文件 Dim Counter As Long Dim Value(3) As String For Counter=1 To 4 Value(Counter-1)=ReadFromIni(App.Path & "\Options.ini", "Test", "Name" & Counter) Next Counter
http://www.china-askpro.com/msg10/qa40.shtml WritePrivateProfileString VB声明 Declare Function WritePrivateProfileString& Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As String, ByVal lpFileName As String) 说明 在初始化文件指定小节内设置一个字串 返回值 Long,非零表示成功,零表示失败。会设置GetLastError 参数表 参数 类型及说明 lpApplicationName String,要在其中写入新字串的小节名称。这个字串不区分大小写 lpKeyName Any,要设置的项名或条目名。这个字串不区分大小写。用vbNullString可删除这个小节的所有设置项 lpString String,指定为这个项写入的字串值。用vbNullString表示删除这个项现有的字串 lpFileName String,初始化文件的名字。如果没有指定完整路径名,则windows会在windows目录查找文件。如果文件没有找到,则函数会创建它 其他 在vb的api文本查看器里复制的声明如下: 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
Dim buff As String * 128
buff = Value + Chr(0)
WritePrivateProfileString Section, Key, buff, Filename
End Sub
Private Function ReadFromIni(ByVal Filename As String,ByVal Section As String, ByVal Key As String) As String
Dim i As Long
Dim buff As String * 128
GetPrivateProfileString Section, Key, "", buff, 128, Filename
i = InStr(buff, Chr(0))
ReadFromIni = Trim(Left(buff, i - 1))
End Function
应用举例:
一、写INI文件
Dim Counter As Long
For Counter=1 To 4
Call WriteToIni(App.Path & "\Options.ini", "Test", "Name" & Counter, "Value" & Counter)
Next Counter
运行后Options.ini内容如下:
[Test]
Name1=Value1
Name2=Value2
Name3=Value3
Name4=Value4
二、读INI文件
Dim Counter As Long
Dim Value(3) As String
For Counter=1 To 4
Value(Counter-1)=ReadFromIni(App.Path & "\Options.ini", "Test", "Name" & Counter)
Next Counter
WritePrivateProfileString VB声明
Declare Function WritePrivateProfileString& Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As String, ByVal lpFileName As String)
说明
在初始化文件指定小节内设置一个字串
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
lpApplicationName String,要在其中写入新字串的小节名称。这个字串不区分大小写
lpKeyName Any,要设置的项名或条目名。这个字串不区分大小写。用vbNullString可删除这个小节的所有设置项
lpString String,指定为这个项写入的字串值。用vbNullString表示删除这个项现有的字串
lpFileName String,初始化文件的名字。如果没有指定完整路径名,则windows会在windows目录查找文件。如果文件没有找到,则函数会创建它
其他
在vb的api文本查看器里复制的声明如下:
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