有個ChannelCableLoss.ini文件:
[section]
channel=36我想得到36這個值,用的是
Dim outStr     As String
Dim X as integer
outStr = Space(255)
X=GetPrivateProfileString("section","channel","",outstr,255,app.path&"ChannelCableLoss.ini")
結果X得出來的結果是2,怎麼會得出來的是這個字符串的長度呢?

解决方案 »

  1.   

    试试X=cint(GetPrivateProfileString("section","channel","",outstr,255,app.path&"ChannelCableLoss.ini"))
      

  2.   

    Dim buffer As String * 255, n As Long
    n = GetPrivateProfileString("section", "channel", "", buffer, 255, App.Path & "\ChannelCableLoss.ini")
    Text4.Text = Left(buffer, n)
      

  3.   

    【VB声明】
      Private Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long【别名】
      GetPrivateProfileIntA【说明】
      为初始化文件中指定的条目获取一个整数值 【返回值】
      Long,找到的条目的值;如指定的条目未找到,就返回默认值。如找到的数字不是一个合法的整数,函数会返回其中合法的一部分。如,对于“xyz=55zz”这个条目,函数返回55。这个函数也能理解采用标准C语言格式的十六进制数字:用0x作为一个十六进制数字的前缀——所以0x55ab等价于vb的& H55AB 【备注】
      在Windows NT中,有些初始化文件实际是在注册表中。可在注册表的下面这个项处找到这些文件的一个列表:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
      NT\CurrentVersion\IniFileMapping【参数表】
      lpApplicationName -  String,指定在其中查找条目的小节。注意这个字串是不区分大小写的  lpKeyName ------  String,欲获取的设置项或条目。这个支持不区分大小写  nDefault -------  Long,指定条目未找到时返回的默认值  lpFileName -----  String,初始化文件的名字。如果没有指定完整的路径名,windows就会在Windows目录中搜索文件
      

  4.   

    注意,如果取数值的话,应该是GetPrivateProfileInt,而不是GetPrivateProfileString
                                                ~~~~~                       ~~~~~~~~  
    楼主再去试一下
      

  5.   

    属于API函数没有选对
    读是分字符串和数值的
    写就只有字符串了
    呵呵
      

  6.   

    GetPrivateProfileString的返回值是取得字段的长度,字段的内容是outStr