Ayuda con secuencia y for
Hola experto, muy buenas noches, mira actualmente tengo un programa que tiene que hacer una secuencia de medio paso (esto es en motor a pasos) la secuencia consiste en que en que me debe de mostrar en matriz 1,3,2,6,4,12,8,9 todo esto en una matriz de caja de texto...
Lo que yo hice fue irlo seleccionando con puro IF, y pues si se me hace un código algo extenso.. ¿Se podrá reducir ese código por medio de for? Y como seria??
A continuación te dejo mi código para que me entiendas...
Option Explicit
Dim bin(8) As Byte
Dim i, num As Byte
Dim cont, reg, reg1 As Integer
Private Sub cmd_arranque_Click()
tmr_secuencia = True
cont = 1
reg = 0
End Sub
Private Sub cmd_paro_Click()
tmr_secuencia.Enabled = False
lbl_sec = ""
For i = 0 To 3
txt_bin(i).Text = ""
shp_bin(i).BackColor = &H4000&
Next i
End Sub
Private Sub cmd_salir_Click()
End
End Sub
Private Sub Form_Load()
cont = 1
End Sub
Private Sub tmr_secuencia_Timer()
num = cont Or reg Or reg1
lbl_sec = num
For i = 0 To 3
bin(i) = num Mod 2
num = num \ 2
txt_bin(i) = bin(i)
If bin(i) = 1 Then
shp_bin(i).BackColor = &HFFFF&
Else
shp_bin(i).BackColor = &H8000&
End If
Next i
cont = cont * 2
reg = reg * 6
reg1 = reg1 * 5
If cont = 2 Then
cont = cont + 1
End If
If cont = 6 Then
cont = cont - 4
End If
If cont = 4 Then
cont = cont + 2
End If
If cont = 12 Then
cont = cont - 8
End If
If cont = 8 Then
cont = cont + 4
End If
If cont = 24 Then
cont = cont \ 3
End If
If cont = 16 Then
cont = cont - 7
End If
If cont = 18 Then
cont = 0
reg = 18
End If
If reg = 18 Then
reg = reg - 10
End If
If reg = 48 Then
reg = reg \ 4
End If
If reg = 72 Then
reg = reg - 68
End If
If reg = 24 Then
reg = reg \ 4
End If
If reg = 36 Then
reg = 0
reg1 = 36
End If
If reg1 = 36 Then
reg1 = reg1 - 34
End If
If reg1 = 10 Then
reg1 = reg1 - 7
End If
If reg1 = 15 Then
reg1 = reg1 - 14
End If
If reg1 = 5 Then
reg1 = 1
End If
If reg1 = 1 Then
reg1 = 0
cont = 1
End If
End Sub
Espero me puedas ayudar experto, te lo agradecería demasiado