标题:想显示一个数组的内容,但提示缺少数组,大家帮忙分析下,谢谢。
只看楼主
wcwycp
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2012-12-21
结帖率:75%
已结贴  问题点数:20 回复次数:3 
想显示一个数组的内容,但提示缺少数组,大家帮忙分析下,谢谢。
VB如何读取数组里面的内容啊?是自义生成的一组数组。

Public Const SFEP_UFPDATA_SIZE = (498)
Public Type SFEP_USER_FPDATA
    rbData(SFEP_UFPDATA_SIZE - 1) As Byte
End Type



Dim stRegtem As SFEP_USER_FPDATA
Dim i As Byte

    If nEnrollCount = 3 Then
        lblStatus = "": lblStatus.Refresh
        nRet = SFEP_GetTemplateForRegister(stTemplates(0), stRegTem)

        If nRet <> RES_OK Then
            lblStatus = "Failed in get template for enroll!": lblStatus.Refresh
        Else
            nRet = SFEP_Enroll(stRegTem, dwID, bFingerNum, bManager)
'-----------------------------------------------------------------------------
            For i = LBound(stRegTem) To UBound(stRegTem)    ‘出现错误的地方
            Text1.Text = Text1.Text & Chr(10) & Str(stRegTem(i))
            'MsgBox stRegtem(i)
            Next
'-----------------------------------------------------------------------------
            If nRet <> RES_OK Then
                If nRet = ERR_DUPLICATED Then
                    lblStatus = "Duplicate!" + vbCrLf + "ID=" + Str(dwID) + ", FN=" + Str(bFingerNum)
                Else
                    lblStatus = "Failed Enroll!" + vbCrLf + "ERROR CODE = " + Str(nRet)
                End If
            Else
                lblStatus = "Success!!!!!"
            End If
        End If
    End If


显示编译错误,缺少数组,请大家帮忙看下是什么原因啊,谢谢。

如果不加FOT循环是可以正常执行的,谢谢。
搜索更多相关主题的帖子: 如何 Failed 
2013-08-10 15:42
yklstudent
Rank: 2
等 级:论坛游民
帖 子:16
专家分:64
注 册:2011-2-9
得分:7 
i是byte型变量 你循环值已经大于byte最大值 所以要报错的
2013-08-10 17:30
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
得分:7 
stRegtem 根本就不是一个数组,只是一个自定义变量,虽然自定义变量包含数组,但stRegtem 本身只是一个单一变量。
2013-08-10 22:35
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:7 
3楼说的对,你  stRegtem 的定义是:
Dim stRegtem As SFEP_USER_FPDATA
这里定义的是一个单一变量。虽然它指向一个自定义类型,而这个自定义类型包含一个 数组 。

            For i = LBound(stRegTem) To UBound(stRegTem)    ‘出现错误的地方

你需要访问 这个变量里的数组,就需要使用 . 进行引用。stRegtem.rbData
这个数组的大小,是一个常量规定的,那这段代码就可以直接用 常量来表示,不建议再用 函数去取最大下标。
            for i=0 to SFEP_UFPDATA_SIZE-1
最小下标,你在常量规定时,就以规定了下标是从 0 开始的,所以也可以不用去用函数去最小下标。

授人于鱼,不如授人于渔
早已停用QQ了
2013-08-11 11:39



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




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

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