Eu estou fazendo um programa no VB6, e num determinado momento, numa parte específica do código, começou a dar loop infinito.
Eu fiz de tudo, mas não consegui descobrir o motivo.
Se puderem me dar uma força, aí está o código:
No Form_Load:
Dim número As Integer Dim quantidade As Integer Dim lugar As Integer
quantidade = Int(6 * Rnd) + 25
Regra Regra2
Randomize While quantidade > 0 lugar = Int(80 * Rnd) For z = 1 To 9 For y = 1 To 9 If casa(lugar) = Me.Controls("C" & z & "L" & y).Name Then If Me.Controls("C" & z & "L" & y).Enabled = True Then número = Int(9 * Rnd) + 1 Me.Controls("C" & z & "L" & y).Text = número Regra If erro1 = False Then Regra2 If erro2 = False Then Me.Controls("C" & z & "L" & y).Enabled = False quantidade = quantidade - 1 Else Me.Controls("C" & z & "L" & y).Text = "" End If Else Me.Controls("C" & z & "L" & y).Text = "" End If End If End If Next Next Wend [/codebox]
Regra()
[codebox] Public Sub Regra() For c = 1 To 9 For l = 1 To 9 For c2 = 1 To 9 For l2 = 1 To 9 If Me.Controls("C" & c & "L" & l).Name <> Me.Controls("C" & c2 & "L" & l2).Name Then If Me.Controls("C" & c & "L" & l).Text = Me.Controls("C" & c2 & "L" & l2).Text Then erro1 = True Exit Sub End If End If Next Next Next Next End Sub
Regra2()
Public Sub Regra2() Dim q1 As Integer Dim q2 As Integer Dim x As Integer
Posição
For q1 = 0 To 8 For q2 = 0 To 8 For c = 1 To 9 For l = 1 To 9 If quadrante(q1, q2) = Me.Controls("C" & c & "L" & l).Name Then For x = 0 To 8 If quadrante(q1, q2) <> quadrante(q1, x) Then For c2 = 1 To 9 For l2 = 1 To 9 If quadrante(q1, x) = Me.Controls("C" & c2 & "L" & l2).Name Then If Me.Controls("C" & c & "L" & l).Text = Me.Controls("C" & c2 & "L" & l2).Text Then erro2 = True Exit Sub End If End If Next Next End If Next End If Next Next Next Next End Sub [/codebox]
Se for necessário, eu mando o projeto completo por MP.
Pergunta
Darknnez
E aí.
Eu estou fazendo um programa no VB6, e num determinado momento, numa parte específica do código, começou a dar loop infinito.
Eu fiz de tudo, mas não consegui descobrir o motivo.
Se puderem me dar uma força, aí está o código:
No Form_Load:
Regra()
Public Sub Regra()
For c = 1 To 9
For l = 1 To 9
For c2 = 1 To 9
For l2 = 1 To 9
If Me.Controls("C" & c & "L" & l).Name <> Me.Controls("C" & c2 & "L" & l2).Name Then
If Me.Controls("C" & c & "L" & l).Text = Me.Controls("C" & c2 & "L" & l2).Text Then
erro1 = True
Exit Sub
End If
End If
Next
Next
Next
Next
End Sub
Regra2()
Se for necessário, eu mando o projeto completo por MP.
Valeu. =)
Link para o comentário
Compartilhar em outros sites
20 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.