Vb6 可以单击“设置订单”按钮

Vb6 可以单击“设置订单”按钮,vb6,Vb6,我在一个表单上有三个按钮,希望根据由3位数字组成的不断变化的随机数来控制它们的点击顺序 只要随机数不变,我就可以控制点击顺序 由于代码现在为空,因此不会生成随机数 我只是将随机数改为test 我知道,当使用数组单击所查看的按钮时,需要的是一个有效的测试 如何动态关联数字在字符串中的位置以控制按钮的点击顺序? Private Sub btnAdd_Click() ck = 0 GetPos tbOne.Text = S1 End Sub Private Sub GetPos()

我在一个表单上有三个按钮,希望根据由3位数字组成的不断变化的随机数来控制它们的点击顺序
只要随机数不变,我就可以控制点击顺序
由于代码现在为空,因此不会生成随机数
我只是将随机数改为test
我知道,当使用数组单击所查看的按钮时,需要的是一个有效的测试

如何动态关联数字在字符串中的位置以控制按钮的点击顺序?

Private Sub btnAdd_Click()
  ck = 0
  GetPos
  tbOne.Text = S1
End Sub

Private Sub GetPos()
  Dim Y As Integer
  S1 = "132" 'Random Number

  For Y = 1 To Len(S1)
    pos = Mid(S1, Y, 1) 'Position of Value in S1 the Random Number
    lbOne.AddItem pos & vbNewLine
  Next
End Sub

Private Sub btnOne_Click()
  ck = ck + 1
  If Mid(S1, 1, 1) = "1" And ck = 3 Then
    btnOne.BackColor = vbYellow
  Else
  ck = 4

  If btnOne.BackColor = vbYellow Then
    Exit Sub
  End If
        
  btnOne.BackColor = vbRed

  If btnOne.BackColor <> vbYellow Then
    btnOne.Enabled = False
  End If
  End If
  End Sub

Private Sub btnTwo_Click()
  ck = ck + 1
  If Mid(S1, 2, 1) = "3" And ck = 1 Then
    btnTwo.BackColor = vbYellow
  Else
  ck = 4 ' Prevents other buttons from being Yellow

  If btnTwo.BackColor = vbYellow Then
    Exit Sub
  End If
   
  btnTwo.BackColor = vbRed
  If btnTwo.BackColor <> vbYellow Then
    btnTwo.Enabled = False
  End If
  End If
  End Sub

Private Sub btnThree_Click()
  ck = ck + 1
  If Mid(S1, 3, 1) = "2" And ck = 2 Then
    btnThree.BackColor = vbYellow
  Else
  ck = 4

  If btnThree.BackColor = vbYellow Then
    Exit Sub
  End If

  btnThree.BackColor = vbRed
  If btnThree.BackColor <> vbYellow Then
    btnThree.Enabled = False
  End If
  End If
  End Sub
Private Sub btnAdd_Click()
ck=0
GetPos
tbOne.Text=S1
端接头
私有子GetPos()
Dim Y作为整数
S1=“132”随机数
对于Y=1至Len(S1)
pos=随机数中S1值的中间(S1,Y,1)位置
lbOne.AddItem pos和vbNewLine
下一个
端接头
私有子BTONE_单击()
ck=ck+1
如果Mid(S1,1,1)=“1”且ck=3,则
btnOne.BackColor=vbYellow
其他的
ck=4
如果btnOne.BackColor=vbYellow,则
出口接头
如果结束
btnOne.BackColor=vbRed
如果btnOne.BackColor为黄色,则
btnOne.Enabled=False
如果结束
如果结束
端接头
专用子btnTwo_单击()
ck=ck+1
如果Mid(S1,2,1)=“3”且ck=1,则
btnTwo.BackColor=vbYellow
其他的
ck=4'防止其他按钮变为黄色
如果btnTwo.BackColor=vbYellow,则
出口接头
如果结束
btnTwo.BackColor=vbRed
如果btnTwo.BackColor为黄色,则
btnTwo.Enabled=False
如果结束
如果结束
端接头
私有子BTN树单击()
ck=ck+1
如果Mid(S1,3,1)=“2”且ck=2,则
btnThree.BackColor=vbYellow
其他的
ck=4
如果btnThree.BackColor=vbYellow,则
出口接头
如果结束
btnThree.BackColor=vbRed
如果btnThree.BackColor为黄色,则
btnThree.Enabled=False
如果结束
如果结束
端接头

此代码查找您需要的所有信息
我仍在尝试实现各个按钮单击事件中的值

Private Sub btnAdd_Click()
S1 = "132"
S2 = "321"
    FindPlace
    tbOne.Text = S1
End Sub

Private Sub FindPlace()

Dim Y As Integer
Dim i As Integer

tbOne.Text = S1

lbOne.Clear

For Y = 1 To Len(S2)
pos = Mid(S1, 4 - Y, 1)
S3 = Mid(S2, Y, 1)

    For i = 1 To Len(S1)
        If Mid(S1, i, 1) = S3 Then
            lbOne.AddItem "Press " & i & " the value " & pos & " is in Position " & Mid(S1, i, 1)
        End If
    Next
Next
End Sub

这似乎可以满足您的需要:

Private Sub btnOne_Click()
   ck = ck + 1
  
   If ck = Mid(S1, 1, 1) Then
      btnOne.BackColor = vbYellow
   Else
      btnOne.BackColor = vbRed
      btnOne.Enabled = False
   End If
End Sub

Private Sub btnTwo_Click()
   ck = ck + 1
  
   If ck = Mid(S1, 2, 1) Then
      btnTwo.BackColor = vbYellow
   Else
      btnTwo.BackColor = vbRed
      btnTwo.Enabled = False
   End If
End Sub

Private Sub btnThree_Click()
   ck = ck + 1
  
   If ck = Mid(S1, 3, 1) Then
      btnThree.BackColor = vbYellow
   Else
      btnThree.BackColor = vbRed
      btnThree.Enabled = False
   End If
End Sub

为什么这个问题被标记为VB.NET?我浪费时间读一个与我完全无关的问题。这些标签是用来告诉人们这个问题与他们有关。不要用它们来引诱别人问你的问题,否则别人可能不会看。@jmchilinney用语言的两种变体编写代码,我没有尝试软化和转换人,很抱歉你失去了2分钟看起来很有希望,我可能会尝试将制表符顺序设置为I值,如果制表符顺序,我会使按钮变为vbRed,否则变为vbYellow食物虽然我在Android Studio中这样做了,但目前没有这台机器。我在Else ck=4下面添加了这一点。如果其他两个是红色的,它可以防止最后一个值变为黄色,如果其他两个仍然试图打印James_Duh代码中的正确点击顺序