我想读取ini文件中字段的内容

goldli 2003-09-14 02:44:40
一个ini文件包括几个字段如
--------------------------------------------------------------------------
[xxxxxxxx]
xxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxx

[xxxxx]
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

[xxxxxxxxx]
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx
--------------------------------------------------------------------------
如何实现
...全文
101 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxcc 2003-09-14
  • 打赏
  • 举报
回复
假如我要读取,第三个字段即第三个[xxxxxxxxx]下面的所以值,怎么做


msgbox LoadIni(xxxxxxxxx,"")
hongsongboy 2003-09-14
  • 打赏
  • 举报
回复
Private Declare Function GetPrivateProfileString Lib "Kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, lpKeyName As Any, ByVal lpDefault As String, ByVal lpRetunedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib "Kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lplFileName As String) As Long
Private R As Long
Private entry As String
Private iniPath As String

Private Sub Form_Load()
iniPath$ = Qpath & "set.ini" 'Qpath 为当前程序路径

End Sub



Function GetFromINI(AppName As String, KeyName As String, FileName As String) As String
Dim RetStr As String
RetStr = String(255, Chr(0))
GetFromINI = Left(RetStr, GetPrivateProfileString(AppName, ByVal KeyName, "", RetStr, Len(RetStr), FileName))
End Function
'''''
Text2 = GetFromINI("dwbm", "1J", iniPath)'取出ini文件中字段的内容
R = WritePrivateProfileString("dwbm", "1J", Text2.Text, iniPath)'保存到ini文件中相应字段的内容
goldli 2003-09-14
  • 打赏
  • 举报
回复
假如我要读取,第三个字段即第三个[xxxxxxxxx]下面的所以值,怎么做
lxcc 2003-09-14
  • 打赏
  • 举报
回复
Public Declare Function GetPrivateProfileString Lib _
"kernel32" Alias "GetPrivateProfileStringA" _
(ByVal lpApplicationname As String, ByVal _
lpKeyName As String, ByVal lpDefault As _
String, ByVal lpReturnedString As String, _
ByVal nSize As Long, ByVal lpFileName As _
String) As Long

Public Function LoadIni(KeySection as string,KeyKey as string ) as string

Dim lngResult As Long
Dim strFileName
Dim strResult As String

strResult = Space(255)
strFileName = App.Path & "\sys.ini" 'Declare your ini file !

lngResult = GetPrivateProfileString(KeySection, _
KeyKey, strFileName, strResult, 255, _
strFileName)

If lngResult = 0 Then
Call MsgBox("An error has occurred while calling the API function", vbExclamation)
exit function
Else
KeyValue = Left(strResult, lstrlen(strResult))
End If
LoadIni=KeyValue
End Function
armu80830 2003-09-14
  • 打赏
  • 举报
回复
'读写INI的API函數
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
'自定义写入INI函數
Public Function WriteIni(ByVal section As String, ByVal key As String, ByVal value As String) As Boolean
Dim X As Long, Buff As String * 128, I As Integer
Buff = value + Chr(0)
X = WritePrivateProfileString(section, key, Buff, App.Path + "\DTDB.ini")
WriteIni = X
End Function

'自定义读取INI函數
Public Function ReadIni(ByVal section As String, ByVal key As String) As String
Dim X As Long, Buff As String * 128, I As Integer
X = GetPrivateProfileString(section, key, "", Buff, 128, App.Path + "\DTDB.ini")
I = InStr(Buff, Chr(0))
ReadIni = Trim(Left(Buff, I - 1))
End Function

下面是例子:
'从DTDB.ini中取得数据库参数
Dim DataBaseServer As String, DBUserName As String, PassWord As String, tCompanyName As String
If ReadIni("InitDB", "DataBaseServer") = "" Then
WriteIni "InitDB", "DataBaseServer", "DTSMS"
DataBaseServer = "DTSMS"
Else
DataBaseServer = ReadIni("InitDB", "DataBaseServer")
End If
If ReadIni("InitDB", "UserName") = "" Then
WriteIni "InitDB", "UserName", "BOXCATV"
DBUserName = "BOXCATV"
Else
DBUserName = ReadIni("InitDB", "UserName")
End If

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧