应用程序的配置文件"conf.ini"如下:
[OPTIONS]
Default Window=NewWindow
Flat=No[FILES]
隐藏及展示层.htm
Test.htm
eHelp.xml
myfunction.js我现在想对[FILES]参数项下面的内容进行读写,
想使用以下GetPrivateProfileString 函数去读数据.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但是GetPrivateProfileString取数据时的标准格式是
"[Section]
KeyName=KeyValue"
我在读的时候没有办法传入KeyName参数,那还有什么办法可以对上面的参数项进行读写操作呢!

解决方案 »

  1.   

    用一个别名代替 myFile=隐藏及展示层.htm;Test.htm;eHelp.xml;myfunction.js 读出来之后用split()分一下就可以了
      

  2.   

    conf.ini文件里的内容是不能动的,因为就用程序要调来,所以没有明白你说的意思,怎么取出来给它一个别名.
      

  3.   

    又不动你的"隐藏及展示层.htm Test.htm eHelp.xml myfunction.js " 这些内容
    只是格式改下方便调用.
    上面的"Flat"不就是key吗,下面的仿照着写
      

  4.   


    Private Declare Function GetPrivateProfileSection Lib "KERNEL32" Alias "GetPrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long'*************************************
       '目的:编历Ini文件中的某个主键
       
       '输入: FileName 文件名
       '      AppName  项目名   
       '返回:某个项目下的所有键及值
       
    '*************************************
    Public Function GetInfoSection(AppName As String, FileName As String) As String()
              Dim strReturn     As String * 32767
              Dim strTmp     As String
              Dim nStart     As Integer
              Dim nEnd       As Integer
              Dim i       As Integer
              Dim sArray()     As String
                
              Call GetPrivateProfileSection(AppName, strReturn, Len(strReturn), FileName)
                
              strTmp = strReturn
              i = 1
              Do While strTmp <> ""
                      nStart = nEnd + 1
                      nEnd = InStr(nStart, strReturn, vbNullChar)
                      strTmp = Mid$(strReturn, nStart, nEnd - nStart)
                      If Len(strTmp) > 0 Then
                              ReDim Preserve sArray(1 To i)
                              sArray(i) = strTmp
                              i = i + 1
                      End If
              Loop
              GetInfoSection = sArray
      End FunctionPrivate Sub Command1_Click()
       Dim A1
       
       A1 = GetInfoSection("FILES", "C:\3.txt")  
       '"C:\3.Txt" 为文件名.  "FILES" 为 [FILES] 中的内容.
       
       For i = 1 To UBound(A1)
          MsgBox A1(i)
       Next
       
    End Sub
      

  5.   

    文本文件,直接用OPEN打开并读取有关内容
      

  6.   

    对,像楼上说的那样当成没值的Section名字读来试试