如下代码是将text4,text5文本中的数据分别写到C:\program files\tra\new.ini目录下的2个项(NUMBER,PID)中,
    Dim Ret As String, NC As Long
    Ret = vbNullString
    WritePrivateProfileString "COUNTER", "NUMBER", Text4.Text, "C:\program files\tra\new.ini"
    WritePrivateProfileString "COUNTER", "PID", Text5.Text, "C:\program files\tra\new.ini"
    请问如何将这2项中的值(047,181295)分别读到程序中的text6,text7文本框中?new.ini如下
......[COUNTER]
NUMBER = 047 
PID = 181295......

解决方案 »

  1.   


    Option ExplicitPrivate 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
    Private Function GetIniStr(ByVal AppName As String, ByVal In_Key As String, _
                              ByVal IniFilePath As String) As String
        Dim GetStr As String
        On Error GoTo GetIniStrErr
        If Trim(In_Key) = "" Or Trim(AppName) = "" Then
            GoTo GetIniStrErr
        End If
        GetStr = VBA.String(256, 0)
        GetPrivateProfileString AppName, In_Key, "", GetStr, 256, IniFilePath
        GetStr = VBA.Replace(GetStr, VBA.Chr(0), "")
        If GetStr = "" Then
            GoTo GetIniStrErr
        Else
            GetIniStr = GetStr
            GetStr = ""
        End If
        Exit Function
        
    GetIniStrErr:
        Err.Clear
        GetIniStr = ""
        GetStr = ""
    End FunctionPrivate Sub Command1_Click()
        Text6.Text = GetIniStr("COUNTER", "NUMBER", "C:\Test.ini")
        Text7.Text = GetIniStr("COUNTER", "PID", "C:\Test.ini")
    End Sub
      

  2.   

    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 LongPublic Function iniReadKey(strFileName As String, strSection As String, strKey As String) As String
        Dim key As String * 255 '返回的键值,失败时返回字符串 "False"
        Dim c As Integer
        c = GetPrivateProfileString(strSection, strKey, "False", key, Len(key), strFileName)
        iniReadKey = Replace(key, Chr(0), "")
    End FunctionText6.Text = iniReadKey("C:\Test.ini", "COUNTER", "NUMBER")
    Text7.Text = iniReadKey("C:\Test.ini", "COUNTER",  "PID")
      

  3.   


    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
    Public gstrNumber As String
    Public gstrPassWord As String
    Public Function IniInformationGet(strPath As String) As Boolean
        Dim buffer$
        Dim rtn&
        Dim selectcmd As String
        Dim strNumber As String
        Dim strPassWord As String
        
        On Error GoTo SysErr
            
        If Dir(strPath, vbNormal) = "" Then
            MsgBox "文件" & strIniPath & "没有找?。", vbDefaultButton1 + vbOKCancel, SYSTEMNAME
            Exit Function
        End If    buffer = String(255, Space(1))
        rtn = GetPrivateProfileString("COUNTER", "NUMBER", "", buffer, Len(buffer) - 1, strPath)
        gstrNumber = Left$(Trim(buffer), InStr(Trim(buffer), vbNullChar) - 1)
        If gstrNumber = "" Then Exit Function
        
        buffer = String(255, Space(1))
        rtn = GetPrivateProfileString("COUNTER", "PID", "", buffer, Len(buffer) - 1, strPath)
        gstrPassWord = Left$(Trim(buffer), InStr(Trim(buffer), vbNullChar) - 1)
        If gstrPassWord = "" Then Exit Function
        
        IniInformationGet = True
        Exit FunctionSysErr:
        Select Case MsgBox(Err.Number & vbNewLine & Err.Description, vbRetryCancel + vbCritical, SYSTEMNAME)
            Case vbRetry
                Resume
            Case vbCancel
        End Select
    End FunctionPrivate Sub Form_Load()
       IniInformationGet "C:\program   files\tra\new.ini"
    End Sub