码迷,mamicode.com
首页 > 其他好文 > 详细

VBS获取Ini配置文件一个节点下的所有字段的值

时间:2014-07-10 16:47:29      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:使用   文件   数据   os   问题   cti   


‘* 功能:使用VBS读取ini文件中指定节点下的所有值
‘* 输入参数:inipath :ini文件的地址
‘*           initypes :ini文件中包含在"["和"]"之间的值
‘* 返回值:找到的字段的值组成的array
‘* 编写人:  chenyb
‘* 编写日期:2008-12-26
‘* 其他说明:以下只是方法,具体问题具体修改

Function vbsGetIniFields(inipath,initypes)
 Const ForReading = 1 ‘定义常量
 ‘FSO对象,文本对象,下一行数据变量,字串搜索位置
 Dim objFSO,objTextFile,strNextLine,intLineFinder
 Dim state  ‘指定是否在匹配的initypes中是否找到字段
 Dim tmp    ‘临时存储字符串
 Dim typeList ‘分割字符串后的字串list
 Dim rsStr    ‘函数返回值
 Set objFSO = CreateObject("Scripting.FileSystemObject") ‘建立FSO对象
 Set objTextFile = objFSO.OpenTextFile(inipath, ForReading)‘打开文档
 Do Until objTextFile.AtEndOfStream   ‘遍历每一行
  strNextLine = objTextFile.ReadLine ‘读取一行数据
  ‘如果已经找到了initypes,又找到了"[]",那说明字段未找到
  If InStr(strNextLine, "[") <> 0 And InStr(strNextLine, "]") <> 0 Then
      If state = 1 Then
          Exit DO
      End if
      tmp = Trim(Mid(Trim(strNextLine),InStr(strNextLine, "[")+1,Len(initypes)))    
      if tmp = Trim(initypes) Then ‘找到了initypes  
          state = 1
          strNextLine = objTextFile.ReadLine
      End if
  End if
  
  If state = 1 Then  
   intLineFinder = InStr(strNextLine,"=") ‘搜索字符串中的"="
   If intLineFinder <> 0 Then ‘如果找到"="
       typeList = Split(strNextLine,"=") ‘分割字符串
       rsStr =rsStr & ",""" & typeList(1) & """" ‘赋值 
   End If
  End if
 Loop 
 objTextFile.Close ‘关闭文档
 Execute "vbsGetIniFields = Array(" & right(rsStr,Len(rsStr) - 1) & ")" ‘返回值
End Function
‘***********使用示例******************************
Dim t
t = vbsGetIniFields("公诉.ini","包括VBS")
MsgBox UBound(t)
MsgBox t(0)
MsgBox t(1)
‘*************************************************

VBS获取Ini配置文件一个节点下的所有字段的值,布布扣,bubuko.com

VBS获取Ini配置文件一个节点下的所有字段的值

标签:使用   文件   数据   os   问题   cti   

原文地址:http://www.cnblogs.com/jinjiangongzuoshi/p/3834840.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!