我用的writeprivateprofilesection创建的段名,然后用getprivateprofilesection读取ini中的内容,但是只能读取到第一行的内容,第二行、第三行都读取不到。
查找了好多。说是数组结尾有\0作为结束符,所以数组不能继续往下读取,既然这样,用vb6.0该怎么去解决这个问题,进行将所有的内容读取出来呢。VBiniVisual Basic 6.0
查找了好多。说是数组结尾有\0作为结束符,所以数组不能继续往下读取,既然这样,用vb6.0该怎么去解决这个问题,进行将所有的内容读取出来呢。VBiniVisual Basic 6.0
dim data(500) as byte
getprivateprofilesection "section",data(500),1000,app.path & "\日志.ini"
可是为什么系统报错啊,是不是没有为data分配空间啊求解
GetPrivateProfileSection "section",data(0),500,app.path & "\日志.ini"
http://download.csdn.net/detail/supermanking/5100921
dim datetime as string
dim data() as byte
datetime=DTPicker1.value
GetPrivateProfileSection datetime,data(0),500,app.path & "\日志.ini"
text1.text=data
然后系统提示下标越界。
Dim i As Long, n As Long, ret As Long, bytData(1024) As Byte, strTemp As String, strItem() As Stringn = UBound(bytData)
ret = GetPrivateProfileSection("section", bytData(0), n, app.path & "\日志.ini")
strTemp = StrConv(bytData, vbUnicode)strItem = Split(Left(strTemp, ret - 1), Chr(0))For i = 0 To UBound(strItem)
Debug.Print strItem(i)
Next iEnd Sub
你既然改为动态分配的数组,就必须实例化:
Redim data(500)
writeprivateprofilestring datetime,null,null,app.path & "\日志.ini"
可是为啥我用的时候,系统总是提示null未定义之类的错误呢。跪求了。。
Private Sub Command1_Click()
Dim i As Long, n As Long, ret As Long, bytData(1024) As Byte, strTemp As String, strItem() As String
n = UBound(bytData)‘获得数组的上限值
ret = GetPrivateProfileSection("section", bytData(0), n, app.path & "\日志.ini")’ret得到的是get函数得到的数据,如123的话,那么ret就是4,还有最后的\0(null)符
strTemp = StrConv(bytData, vbUnicode)‘将bytdata按照vbunicode转换成内存中的形式,为的是方便后面split的操作
strItem = Split(Left(strTemp, ret - 1), Chr(0))’left从strTEMP左边取19个字符,然后按照chr(0)分
For i = 0 To UBound(strItem)
Debug.Print strItem(i)
Next i
End Sub