LISTBOX COMPARAR SEQUENCIA LINHA POR LINHA
Raceman esquenta não colega, não entendi mal, nem levei pro outro lado, eu vezes também me expresso mal, abraço parceiro.
PS: gostei do código que você fez.
PS: gostei do código que você fez.
Pessoal, agradeço muito o apoio de vocês.
Porem minha necessidade e um pouco diferente
No caso dos codigos postados por vocês (o que agradeço muito) eles me retornam o seguinte:
01
01
01
09
08
01
09
msgbox 01 = 4
msgbox 09 = 2
msgbox 08 = 1
Ou seja ele esta retornando o total de vez que os números apareceram, e não e bem isso que procuro
eu preciso saber e quantas vezes os numeros vieram em sequência
no caso ae seria uma sequencia de 3 x o 01 pulou duas vezes e veio novamente depois mais um pulo
O que estou tentando faser e encontrar uma possibilidade do 01 (exemplo) aparecer novamente ja que na pratica vou usar sequências de milhares de numeros
Obrigado e desculpa qualquer coisa ae.
Porem minha necessidade e um pouco diferente
No caso dos codigos postados por vocês (o que agradeço muito) eles me retornam o seguinte:
01
01
01
09
08
01
09
msgbox 01 = 4
msgbox 09 = 2
msgbox 08 = 1
Ou seja ele esta retornando o total de vez que os números apareceram, e não e bem isso que procuro
eu preciso saber e quantas vezes os numeros vieram em sequência
no caso ae seria uma sequencia de 3 x o 01 pulou duas vezes e veio novamente depois mais um pulo
O que estou tentando faser e encontrar uma possibilidade do 01 (exemplo) aparecer novamente ja que na pratica vou usar sequências de milhares de numeros
Obrigado e desculpa qualquer coisa ae.
Entao meu amigo...
Agora sim, entendi sua duvida.
Em anexo está a solução.
Espero que você tente aprender e, não seja como muitos que copiam e colam o código.
Ai realmente tem que usar for aninhado, aparando quando nao tiver iguais....
Agora sim, entendi sua duvida.
Em anexo está a solução.
Espero que você tente aprender e, não seja como muitos que copiam e colam o código.
Ai realmente tem que usar for aninhado, aparando quando nao tiver iguais....
beleza
tive este resultado aqui na minha tentativa de resolver o problema:
Numero: 01 Seguidos: 3 Saltou: 0
Numero: 01 Seguidos: 1 Saltou: 2
Numero: 09 Seguidos: 1 Saltou: 3
Numero: 09 Seguidos: 3 Saltou: 2
Numero: 08 Seguidos: 1 Saltou: 4
Numero: 10 Seguidos: 1 Saltou: 9
usei estes valores:
List1.AddItem ([Ô]01[Ô])
List1.AddItem ([Ô]01[Ô])
List1.AddItem ([Ô]01[Ô])
List1.AddItem ([Ô]09[Ô])
List1.AddItem ([Ô]08[Ô])
List1.AddItem ([Ô]01[Ô])
List1.AddItem ([Ô]09[Ô])
List1.AddItem ([Ô]09[Ô])
List1.AddItem ([Ô]09[Ô])
List1.AddItem ([Ô]10[Ô])
usei arrays para fazer a rotina, poupa tempo em relação à listbox
coloque lá uma picturebox e teste aà se era isso que queria....
depois diga aà alguma coisa ............
tive este resultado aqui na minha tentativa de resolver o problema:
Numero: 01 Seguidos: 3 Saltou: 0
Numero: 01 Seguidos: 1 Saltou: 2
Numero: 09 Seguidos: 1 Saltou: 3
Numero: 09 Seguidos: 3 Saltou: 2
Numero: 08 Seguidos: 1 Saltou: 4
Numero: 10 Seguidos: 1 Saltou: 9
usei estes valores:
List1.AddItem ([Ô]01[Ô])
List1.AddItem ([Ô]01[Ô])
List1.AddItem ([Ô]01[Ô])
List1.AddItem ([Ô]09[Ô])
List1.AddItem ([Ô]08[Ô])
List1.AddItem ([Ô]01[Ô])
List1.AddItem ([Ô]09[Ô])
List1.AddItem ([Ô]09[Ô])
List1.AddItem ([Ô]09[Ô])
List1.AddItem ([Ô]10[Ô])
usei arrays para fazer a rotina, poupa tempo em relação à listbox
coloque lá uma picturebox e teste aà se era isso que queria....
Private Sub Command1_Click()
Dim i As Integer, i2 As Integer, i3 As Integer, iRepetidos As Integer, iSeguidos As Integer, iSaltou As Integer
Dim iNrReg As Integer [ô]numero de registos
Dim aNumerosTodos() As String, aNumerosUnicos() As String
iNrReg = List1.ListCount - 1
ReDim aNumerosUnicos(iNrReg) As String
ReDim aNumerosTodos(iNrReg) As String
[ô]***** copiar o list para os arrays
For i = 0 To List1.ListCount - 1
aNumerosUnicos(i) = List1.List(i)
aNumerosTodos(i) = List1.List(i)
Next [ô]i
[ô]***** apagar registos repetidos de um dos arrays
For i = 0 To iNrReg - 1
For i2 = i + 1 To iNrReg
If aNumerosUnicos(i) = aNumerosUnicos(i2) And aNumerosUnicos(i) <> [Ô][Ô] Then
aNumerosUnicos(i2) = [Ô][Ô]
iRepetidos = iRepetidos + 1
For i3 = i2 To iNrReg - 1
aNumerosUnicos(i3) = aNumerosUnicos(i3 + 1)
aNumerosUnicos(i3 + 1) = [Ô][Ô]
Next [ô]i3
i2 = i2 - 1
End If
Next [ô]i2
Next [ô]i
[ô]***** redimensionar array
ReDim Preserve aNumerosUnicos(UBound(aNumerosUnicos) - iRepetidos) As String
[ô]***** ver sequencia e saltos, LOL, escrever resultados na picturebox
For i = 0 To UBound(aNumerosUnicos)
iSaltou = 0
iSeguidos = 0
For i2 = 0 To UBound(aNumerosTodos)
If aNumerosUnicos(i) = aNumerosTodos(i2) Then
iSeguidos = iSeguidos + 1
If i2 < UBound(aNumerosTodos) Then
If aNumerosUnicos(i) <> aNumerosTodos(i2 + 1) Then
Me.Picture1.Print [Ô]Numero: [Ô] & aNumerosUnicos(i) & [Ô] Seguidos: [Ô] & iSeguidos & [Ô] Saltou: [Ô] & iSaltou
iSaltou = 0
End If
End If
If i2 = UBound(aNumerosTodos) Then Me.Picture1.Print [Ô]Numero: [Ô] & aNumerosUnicos(i) & [Ô] Seguidos: [Ô] & iSeguidos & [Ô] Saltou: [Ô] & iSaltou
Else
iSeguidos = 0
iSaltou = iSaltou + 1
End If
Next [ô]i
Next [ô]i
End Sub
depois diga aà alguma coisa ............
Obrigado galera, todos ajudaram pois aprendi muita coisa
Mais na pratica nenhum esta da forma q preciso, porém estão quase e so eu da uma fuçadinha
Resumindo todos merecem creditos.
Dae quem dos que me ajudaram responder primeiro eu dou os creditos e fecho o tópico
Obrigado a todos
Mais na pratica nenhum esta da forma q preciso, porém estão quase e so eu da uma fuçadinha
Resumindo todos merecem creditos.
Dae quem dos que me ajudaram responder primeiro eu dou os creditos e fecho o tópico
Obrigado a todos
Tópico encerrado , respostas não são mais permitidas