如果statement为true,vb.net循环并赋值

时间:2014-12-22 23:52:47

标签: vb.net printing break

我正在vb.net工作并尝试组织我称之为用餐/主菜休息。  我看起来正确的代码,但它只是不起作用。 它应该找到主菜然后主要然后所有其他并按顺序打印但是 它按照点击的顺序打印结果,而不是按照我定义的顺序打印。 请记住,我使用vb6代码“powerpack”的引用来使用我更舒服的旧学校打印代码。 我已经分配了一些公共共享变量:

Public Shared item(25) As String
Public Shared bar(25) As String
Public Shared price(25) As Integer
Public Shared barprice(25) As Integer
Public Shared EntreeBreak(25) As Boolean
Public Shared MainBreak(25) As Boolean
Public Shared Print_Items(25) As String
Public Shared Print_price(25) As Integer

然后我创建了一个全局类,我称之为公共共享子,我调用的是

Dim i2 As Integer
        i = 1
        i2 = 1

        Do Until i = 26
            If item(i) <> "" Then
                If EntreeBreak(i) = True And i2 < 26 Then
                    Print_Items(i2) = item(i)
                    Print_price(i2) = price(i)
                    i2 = i2 + 1
                ElseIf MainBreak(i) = True And i2 < 26 Then
                    Print_Items(i2) = item(i)
                    Print_price(i2) = price(i)
                    i2 = i2 + 1
                ElseIf EntreeBreak(i) = False And MainBreak(i) = False And i2 < 26 Then
                    Print_Items(i2) = item(i)
                    Print_price(i2) = price(i)
                    i2 = i2 + 1
                End If
            End If
            i = i + 1
        Loop

我只是找不到我做错了什么 它应该找到主菜然后主要然后除了 它按照点击的顺序打印结果,而不是按照我定义的顺序打印。

1 个答案:

答案 0 :(得分:0)

您只是按顺序从1到26循环遍历项目 我假设物品混合了主菜,主菜和其他所有物品,所以也许你需要做的是循环通过项目三次,首先提取主菜,然后是主菜,然后是其他所有。 话虽如此,我会鼓励你使用更好的数据结构,可能是有序的字典和餐类/结构或其他东西。如上所述,你应该从0到25循环,或者如果它是一个字典或一个列表,只需为每个人做一个。