我在VB6里定义了这样一个字符串
Private Function ReadINIFile(ByVal strFileName As String) As String
1  Dim strServerName As String * 255   '写在函数里
2  Call GetPrivateProfileSection("server", strServerName, 255, App.Path & "\" & strFileName)
3  ReadINIFile = strServerName
End Function
数字1对应的语句,这个strServerName是表示什么意思?
这个函数就是用来取ini文件里的一个字符串结构名,
在另外一个地方调用它.
   Dim ServerName As String
4  ServerName = ReadINIFile("setup.ini")
5  ServerName = Left(ServerName, 6)
我单步调式到语句4,假如从setup.ini文件里读到了字符串内容是"abcdef",发现显示得是"abcdef_______________________",很长一串,只能通过语句5这样处理掉,就是截取前面6个字符,有没有一种办法直接得到从setup.ini文件里的字符串,而把非有效字符去除掉.

解决方案 »

  1.   

    1  Dim strServerName As String * 255  '写在函数里 
    '对于用API读取的字符串,先要申请内存空间以保存数据. * 255 表示设置字符长度是255(即此字符占用255的空间.)我单步调式到语句4,假如从setup.ini文件里读到了字符串内容是"abcdef",发现显示得是"abcdef_______________________",很长一串,只能通过语句5这样处理掉,就是截取前面6个字符,有没有一种办法直接得到从setup.ini文件里的字符串,而把非有效字符去除掉. Dim ServerName As String 
    4  ServerName = Replace(ReadINIFile("setup.ini"), chr(0),"") '采用这种方式就行了.
      

  2.   

    1楼已经说得比较明白了.不过要是针对INI文件的读写,可以使用这个模块,比较方便,全封装了:http://www.m5home.com/bbs/dispbbs.asp?boardid=28&Id=452