PROGRESS BAR
Em um tópico passado me deram esse código:
Private Function AnaliseCombinatoria(Dezena As String) As String
Dim n1 As Integer, n2 As Integer, n3 As Integer, n4 As Integer, n5 As Integer
Dim n6 As Integer, n7 As Integer, n8 As Integer, n9 As Integer, n10 As Integer
Dim n11 As Integer, n12 As Integer, n13 As Integer, n14 As Integer, n15 As Integer
Dim strDezena() As String
DoEvents
strDezena() = Split(Dezena, [Ô]-[Ô])
For n1 = 0 To UBound(strDezena) - 1
For n2 = n1 + 1 To UBound(strDezena)
For n3 = n2 + 1 To UBound(strDezena)
For n4 = n3 + 1 To UBound(strDezena)
For n5 = n4 + 1 To UBound(strDezena)
For n6 = n5 + 1 To UBound(strDezena)
For n7 = n6 + 1 To UBound(strDezena)
For n8 = n7 + 1 To UBound(strDezena)
For n9 = n8 + 1 To UBound(strDezena)
For n10 = n9 + 1 To UBound(strDezena)
For n11 = n10 + 1 To UBound(strDezena)
For n12 = n11 + 1 To UBound(strDezena)
For n13 = n12 + 1 To UBound(strDezena)
For n14 = n13 + 1 To UBound(strDezena)
For n15 = n14 + 1 To UBound(strDezena)
List1.AddItem strDezena(n1) & [Ô] - [Ô] & strDezena(n2) & [Ô] - [Ô] & strDezena(n3) & [Ô] - [Ô] & strDezena(n4) & [Ô] - [Ô] & strDezena(n5) & [Ô] - [Ô] & _
strDezena(n6) & [Ô] - [Ô] & strDezena(n7) & [Ô] - [Ô] & strDezena(n8) & [Ô] - [Ô] & strDezena(n9) & [Ô] - [Ô] & strDezena(n10) & [Ô] - [Ô] & _
strDezena(n11) & [Ô] - [Ô] & strDezena(n12) & [Ô] - [Ô] & strDezena(n13) & [Ô] - [Ô] & strDezena(n14) & [Ô] - [Ô] & strDezena(n15)
Next n15: Next n14: Next n13: Next n12: Next n11
Next n10: Next n9: Next n8: Next n7: Next n6
Next n5: Next n4: Next n3: Next n2: Next n1
End Function
Private Sub Command1_Click()
AnaliseCombinatoria Text1.Text
End Sub
Preciso coloca um pregresso bar nele.
Private Function AnaliseCombinatoria(Dezena As String) As String
Dim n1 As Integer, n2 As Integer, n3 As Integer, n4 As Integer, n5 As Integer
Dim n6 As Integer, n7 As Integer, n8 As Integer, n9 As Integer, n10 As Integer
Dim n11 As Integer, n12 As Integer, n13 As Integer, n14 As Integer, n15 As Integer
Dim strDezena() As String
DoEvents
strDezena() = Split(Dezena, [Ô]-[Ô])
For n1 = 0 To UBound(strDezena) - 1
For n2 = n1 + 1 To UBound(strDezena)
For n3 = n2 + 1 To UBound(strDezena)
For n4 = n3 + 1 To UBound(strDezena)
For n5 = n4 + 1 To UBound(strDezena)
For n6 = n5 + 1 To UBound(strDezena)
For n7 = n6 + 1 To UBound(strDezena)
For n8 = n7 + 1 To UBound(strDezena)
For n9 = n8 + 1 To UBound(strDezena)
For n10 = n9 + 1 To UBound(strDezena)
For n11 = n10 + 1 To UBound(strDezena)
For n12 = n11 + 1 To UBound(strDezena)
For n13 = n12 + 1 To UBound(strDezena)
For n14 = n13 + 1 To UBound(strDezena)
For n15 = n14 + 1 To UBound(strDezena)
List1.AddItem strDezena(n1) & [Ô] - [Ô] & strDezena(n2) & [Ô] - [Ô] & strDezena(n3) & [Ô] - [Ô] & strDezena(n4) & [Ô] - [Ô] & strDezena(n5) & [Ô] - [Ô] & _
strDezena(n6) & [Ô] - [Ô] & strDezena(n7) & [Ô] - [Ô] & strDezena(n8) & [Ô] - [Ô] & strDezena(n9) & [Ô] - [Ô] & strDezena(n10) & [Ô] - [Ô] & _
strDezena(n11) & [Ô] - [Ô] & strDezena(n12) & [Ô] - [Ô] & strDezena(n13) & [Ô] - [Ô] & strDezena(n14) & [Ô] - [Ô] & strDezena(n15)
Next n15: Next n14: Next n13: Next n12: Next n11
Next n10: Next n9: Next n8: Next n7: Next n6
Next n5: Next n4: Next n3: Next n2: Next n1
End Function
Private Sub Command1_Click()
AnaliseCombinatoria Text1.Text
End Sub
Preciso coloca um pregresso bar nele.
coloque dentro do laço for n15 = n14, coloque um contador e pronto (c=c+1)
Não intendi so novato nisso ainda.
desculpe é mais complexo que isso o certo é fazer a analise combinatória para ver o total de combinações dividir este total por 100 e multiplicar pelo valor no laço. vai ser complexo viu
e se for no caso acima as dezenas são geradas tão rapido que a progressbar nem vai aparecer
e se for no caso acima as dezenas são geradas tão rapido que a progressbar nem vai aparecer
olha fiz alguns testes aqui, e em todos eles o progressbar é tão rapido que fica insignificante.
no meu pc quando mando fazer 25 pra 15 leva uma eternidade.
então faz o seguinte apenas pra teste, coloque um label sobre o listbox escreva [Ô]Gerando Combinações[Ô], e mude a propriedade visible para False.
no código coloque
Private Sub Command1_Click()
[txt-color=#e80000]label1.Visible = True[/txt-color]
AnaliseCombinatoria Text1.Text
[txt-color=#e80000]label1.Visible = False[/txt-color]
End Sub
no código coloque
Private Sub Command1_Click()
[txt-color=#e80000]label1.Visible = True[/txt-color]
AnaliseCombinatoria Text1.Text
[txt-color=#e80000]label1.Visible = False[/txt-color]
End Sub
Caro KELVINCD
Pela quantidade de Laços internos o ProgressBar fica inviável................
Talves um Cursor para avisar do processamento seria melhor............
Screen.MousePointer = vbHourglass
DoEvents
[ô]Seu código e processamento
Screen.MousePointer = vbDefault
Private Sub Command1_Click()
Screen.MousePointer = vbHourglass
AnaliseCombinatoria Text1.Text
Screen.MousePointer = vbDefault
End Sub
Boa Sorte
Pela quantidade de Laços internos o ProgressBar fica inviável................
Talves um Cursor para avisar do processamento seria melhor............
Screen.MousePointer = vbHourglass
DoEvents
[ô]Seu código e processamento
Screen.MousePointer = vbDefault
Private Sub Command1_Click()
Screen.MousePointer = vbHourglass
AnaliseCombinatoria Text1.Text
Screen.MousePointer = vbDefault
End Sub
Boa Sorte
Tópico encerrado , respostas não são mais permitidas