以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  抽奖项目,需要列表循环  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=126991)

--  作者:qwz405
--  发布时间:2018/11/2 12:04:00
--  抽奖项目,需要列表循环
老师,您好。
我需要一个列表循环的功能,参考前人的项目,做出来的结果就是会跳1位,请老师帮忙。

计时器代码如下:

Dim max As Integer = Vars("num")        \'获得最大行数....这个值每次的循环开始后就不会变
Dim idx As Integer = Vars("seat")       \'获得传过来的随机数 or 每次循环自增1后的值

Dim lst As New List(of Integer)
For i As Integer = 1 To 5
    
    If idx < max Then
        lst.add(idx)
    Else
        lst.add(idx - max)
    End If
    
    idx = idx + 1
Next

If idx = 0 Then
    Vars("seat") = max - 3
ElseIf idx = 1 Then
    Vars("seat") = max - 2
ElseIf idx = 2 Then
    Vars("seat") = max - 1
Else       \'idx >= 3
    If idx < max + 3 Then
        Vars("seat") = idx - 3
    Else
        Vars("seat") = 0
    End If
End If


e.Form.Controls("Label1").text = Tables("表A").Rows(lst(0))("第一列")
e.Form.Controls("Label2").text = Tables("表A").Rows(lst(1))("第一列")
e.Form.Controls("Label3").text = Tables("表A").Rows(lst(2))("第一列")
e.Form.Controls("Label4").text = Tables("表A").Rows(lst(3))("第一列")
e.Form.Controls("Label5").text = Tables("表A").Rows(lst(4))("第一列")


需要的是:1 2 3 4 5  >> 2 3 4 5 6  >> 3 4 5 6 7...

现在的效果是:1 2 3 4 5 >> 3 4 5 6 7  >> 5 6 7 8 9 ...

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目抽奖2.foxdb


[此贴子已经被作者于2018/11/2 12:05:16编辑过]

--  作者:有点甜
--  发布时间:2018/11/2 13:26:00
--  

改成

 

        Vars("seat") = idx - 4