我的目的是读取初始化文件中的特定的一行的字符,只是读特定的一行,其他的不读
比如说有一个这样的文件test.ini,里面的内容是[WindowCaption]
"测试"我现在只需要读取第二行里面的字符,其他的不用读取(第二行字符是"测试")我的目的就是读"测试"这个内容
请问这个功能要如何实现,想了好久都没想出来,请高手帮忙解决下,谢谢各位了!

解决方案 »

  1.   

    INI文件的读取方式就好...判断前边的KEY  取 VALUE
      

  2.   

    RetInt = GetPrivateProfileString("WindowCaption", "测试", "", RetStr, 50, App.Path & "\setting.ini")
        If RetInt > 0 Then
            yourStr = Val(RetStr)
        End If
      

  3.   

    请问有没有不用API的方法
    这个问题应该不必用到API吧。。
      

  4.   

    你这个是INI文件它的读取方式用的API 比较方便
      

  5.   

    VBToy(无证编程)兄,你的代码我测试了下,不行啊,老是返回空,不知道是怎么回事
      

  6.   

    RetInt = GetPrivateProfileString("WindowCaption", "测试", "", RetStr, 50, App.Path & "\setting.ini")
    我用msgbox 测试了下,这一句就返回0了
      

  7.   

    楼主的这个不是INI文件的格式, 不能用GetPrivateProfileString来读取的。写个函数试试:Function GetLineData(sFile As String, iLine As Long) As String
        Dim iFileNo As Long, iCount As Long, sData As String
        sData = ""
        iFileNo = FreeFile()
        On Error Resume Next
        Open sFile For Input As iFileNo
        If Err.Number = 0 Then
            iCount = 1
            Do While Not EOF(iFileNo) And iCount <= iLine
                Line Input #iFileNo, sData
            Loop
            Close #iFileNo
        End If
        On Error GoTo 0
        GetLineData = sData
    End FunctionPrivate Sub Command1_Click()
        Debug.Print GetLineData("c:\1.ini", 2)
    End Sub
      

  8.   

    扩展名为INI   还有什么文件啊?  不好意思  误导了...
      

  9.   

    上面的代码有处错误, 修改一下:        Do While Not EOF(iFileNo) And iCount <= iLine
                Line Input #iFileNo, sData
                iCount = iCount + 1
            Loop