Dim s As String * 256
dim tmp as bollean
p = "cool"
GetPrivateProfileString "number", "text", "", s, 256, "c:\test.ini"
'得到s = "cool"
tmp = s like p为什么得到 false,而不是true,如何解决了?'test.ini文件如下
[number]
text=cool

解决方案 »

  1.   

    GetPrivateProfileString "number", "text", "", s, 256, "c:\test.ini"
    '得到s = "cool"得到s后,用left去掉多余的字符没有,像这样:
    s=left(s,instr(1,s,chr(0))-1)
      

  2.   

    '读配置文件
      Dim RNode As String '小节名称
      Dim RKey As String
      Const ValueLen = 20 '默认取值长度
      Dim RResult As Long '返回执行结果
      Dim RValue As String '关键字值
      
      CmdReadIni.Enabled = False
      DoEvents
      If Trim(TxtNodeRead.Text) = "" Then
        MsgBox "小节名称未输入"
        CmdReadIni.Enabled = True
        Exit Sub
      End If
      If Trim(TxtKeyRead.Text) = "" Then
        MsgBox "关键字名称未输入"
        CmdReadIni.Enabled = True
        Exit Sub
      End If
      
      RValue = Space(ValueLen)
      RNode = Trim(TxtNodeRead.Text)
      RKey = Trim(TxtKeyRead.Text)
      RResult = GetPrivateProfileString(RNode, RKey, _
        "", RValue, ValueLen, App.Path & "\" & TxtFileName & ".Ini")
      TxtValRead.Text = Trim(RValue)
      DoEvents
      CmdReadIni.Enabled = True
    '写配置文件
      Dim WNode As String '小节名称
      Dim WKey As String '关键字
      Dim WValue As String '关键字值
      Dim WResult As Long '返回执行结果
      
      CmdWriteIni.Enabled = False
      DoEvents
      If Trim(TxtNodeWrite.Text) = "" Then
        MsgBox "小节名称未输入"
        CmdWriteIni.Enabled = True
        Exit Sub
      End If
      If Trim(TxtKeyWrite.Text) = "" Then
        MsgBox "关键字名称未输入"
        CmdWriteIni.Enabled = True
        Exit Sub
      End If
      If Trim(TxtValWrite.Text) = "" Then
        MsgBox "关键字值未输入"
        CmdWriteIni.Enabled = True
        Exit Sub
      End If
      
      WNode = Trim(TxtNodeWrite.Text)
      WKey = Trim(TxtKeyWrite.Text)
      WValue = Trim(TxtValWrite.Text)
      
      WResult = WritePrivateProfileString(WNode, WKey, _
        WValue, App.Path & "\" & TxtFileName & ".Ini")
      '清空写界面
      TxtNodeWrite.Text = ""
      TxtKeyWrite.Text = ""
      TxtValWrite.Text = ""
      DoEvents
      CmdWriteIni.Enabled = True