标题:请教读取ini文件的api函数的使用问题
取消只看楼主
ggyy66
Rank: 1
等 级:新手上路
帖 子:427
专家分:0
注 册:2007-8-14
结帖率:86.25%
已结贴  问题点数:20 回复次数:0 
请教读取ini文件的api函数的使用问题
请教读取ini文件的api函数的使用问题
以下是一个读取ini文件数据的函数,有几个问题请教一下
1.我的变量 strtmp 应该预留多少的字符呀,是应该全部填充空格呀,还是用 ascii码 0 来填充呢?,
关键是预留多少个字符,有没有规定,还是随便设?
2.如果用事先填充的是 null,即ascii码的0,是不是就不需要截尾了.
3.如果进行截尾,最好的实现方法是什么呢?以下用循环的方法行吗?
    'ascii码为0对应的为空字符
'    For i = 1 To Len(strtmp)
'        If Asc(Mid(strtmp, i, 1)) <> 0 Then
'            strTmp2 = strTmp2 + Mid(strtmp, i, 1)
'        End If
'    Next i

因为这个函数也是网上找的,所以一些地方不明白.当然了,这个函数需要事先声明API函数,我这里省略了.
Public Function GetIniKey(strSection As String, strKey As String) As String

    On Error GoTo errhandle
    Dim strtmp  As String
    Dim lngRet  As String
    Dim i      As Integer
    Dim strTmp2 As String
   
    '先将strtmp定义成1024个字符的长度,保证一定能装下返回的字串
    'strtmp = String$(1024, Chr(32))
    strtmp = String$(1024, 0)

    lngRet = GetPrivateProfileString(strSection, strKey, "", strtmp, Len(strtmp), strINI)
   
    'strtmp现在已经是返回的字串了,所以要进行截尾处理
    strtmp = Trim(strtmp)
    'strTmp2 = ""
   
    'ascii码为0对应的为空字符
'    For i = 1 To Len(strtmp)
'        If Asc(Mid(strtmp, i, 1)) <> 0 Then
'            strTmp2 = strTmp2 + Mid(strtmp, i, 1)
'        End If
'    Next i
   
    GetIniKey = strtmp
    GetIniKey = strtmp2
    Exit Function
errhandle:
    GetIniKey = ""

End Function
搜索更多相关主题的帖子: api ini 函数 文件 
2009-07-14 13:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-279513-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014477 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved