ERRO EM FOR

PAYDANA 23/04/2013 20:52:17
#422400
Estou tentando fazer uma mistura destes números em 5 grupos mais estou tendo dificuldades com os For
Alguém pode me ajudar constatar o erro?

Aparentemente não tem nada errado mais quando coloco pra rodar da erro no List1.RemoveItem (0) e o resultado fica faltando alguns números

Obrigado!!!

Private Sub Command1_Click()
List1.AddItem [Ô]010203[Ô]
List1.AddItem [Ô]010204[Ô]
List1.AddItem [Ô]010205[Ô]
List1.AddItem [Ô]010304[Ô]
List1.AddItem [Ô]010305[Ô]
List1.AddItem [Ô]010405[Ô]
List1.AddItem [Ô]020304[Ô]
List1.AddItem [Ô]020305[Ô]
List1.AddItem [Ô]020405[Ô]
List1.AddItem [Ô]030405[Ô]

List2.AddItem [Ô]060708[Ô]
List2.AddItem [Ô]060709[Ô]
List2.AddItem [Ô]060710[Ô]
List2.AddItem [Ô]060809[Ô]
List2.AddItem [Ô]060810[Ô]
List2.AddItem [Ô]060910[Ô]
List2.AddItem [Ô]070809[Ô]
List2.AddItem [Ô]070810[Ô]
List2.AddItem [Ô]070910[Ô]
List2.AddItem [Ô]080910[Ô]

List3.AddItem [Ô]111213[Ô]
List3.AddItem [Ô]111214[Ô]
List3.AddItem [Ô]111215[Ô]
List3.AddItem [Ô]111314[Ô]
List3.AddItem [Ô]111315[Ô]
List3.AddItem [Ô]111415[Ô]
List3.AddItem [Ô]121314[Ô]
List3.AddItem [Ô]121315[Ô]
List3.AddItem [Ô]121415[Ô]
List3.AddItem [Ô]131415[Ô]

List4.AddItem [Ô]161718[Ô]
List4.AddItem [Ô]161719[Ô]
List4.AddItem [Ô]161720[Ô]
List4.AddItem [Ô]161819[Ô]
List4.AddItem [Ô]161820[Ô]
List4.AddItem [Ô]161920[Ô]
List4.AddItem [Ô]171819[Ô]
List4.AddItem [Ô]171820[Ô]
List4.AddItem [Ô]171920[Ô]
List4.AddItem [Ô]181920[Ô]

List5.AddItem [Ô]212223[Ô]
List5.AddItem [Ô]212224[Ô]
List5.AddItem [Ô]212225[Ô]
List5.AddItem [Ô]212324[Ô]
List5.AddItem [Ô]212325[Ô]
List5.AddItem [Ô]212425[Ô]
List5.AddItem [Ô]222324[Ô]
List5.AddItem [Ô]222325[Ô]
List5.AddItem [Ô]222425[Ô]
List5.AddItem [Ô]232425[Ô]

End Sub

Private Sub Command2_Click()
Dim X, Salva As String

Salva = App.Path & [Ô]\Gerado.txt[Ô]
If Dir(Salva) <> [Ô][Ô] Then Kill Salva
Open Salva For Append As #1

For a = 0 To List1.ListCount - 1
Item1 = List1.List(a)
For b = 0 To List2.ListCount - 1
item2 = List2.List(b)
For c = 0 To List3.ListCount - 1
item3 = List3.List(c)
For d = 0 To List4.ListCount - 1
item4 = List4.List(d)
For e = 0 To List5.ListCount - 1
item5 = List5.List(e)
X = Item1 & [Ô] [Ô] & item2 & [Ô] [Ô] & item3 & [Ô] [Ô] & item4 & [Ô] [Ô] & item5: Print #1, X
List1.RemoveItem (0)

Next e
Next d
Next c
Next b
Next a

End Sub
MARCELO.TREZE 23/04/2013 21:15:04
#422401
Resposta escolhida
bom eu não sei o porque do removeitem

mas é o seguinte vc exclui o item 0 do list1 que está no primeiro for, porém o removeitem esta dentro do ultimo for, isso sem considerar os outros items

vamos a lógica supondo que você possua apenas dois fors e dois list, e que o list1 possua 2 linhas e o list2 5 linhas

for a = 0 to list1.listcount - 1
for b = 0 to list2.listcount -1
list1.removeitem (0)
next b
next a


no exemplo acima quando o for b estiver no 3 ele ja terá excluido todas linhas do list1, o que causa o erro

poste uma imagem do que esta fazendo e o que deseja.
PAYDANA 23/04/2013 21:35:25
#422403
o erro então e so a posição do removeitem?

o q qro fazer e misturar todos os itens mesmo
PAYDANA 23/04/2013 22:08:40
#422405
assim por diante

010203 060708 111213 161718 212223
010203 060708 111213 161718 212224
010203 060708 111213 161718 212225
010203 060708 111213 161718 212324
010203 060708 111213 161718 212325
010203 060708 111213 161718 212425
010203 060708 111213 161718 222324
010203 060708 111213 161718 222325
010203 060708 111213 161718 222425
010203 060708 111213 161718 232425
010203 060708 111213 161719 212223
010203 060708 111213 161719 212224
010203 060708 111213 161719 212225
010203 060708 111213 161719 212324
010203 060708 111213 161719 212325
010203 060708 111213 161719 212425
010203 060708 111213 161719 222324
010203 060708 111213 161719 222325
010203 060708 111213 161719 222425
010203 060708 111213 161719 232425
010203 060708 111213 161720 212223
010203 060708 111213 161720 212224
MARCELO.TREZE 24/04/2013 08:51:02
#422420
é entendi sua necessidade e reparei que tentou aplicar uma analize combinatória que eu ja havia passado pra você, bom vamos analizar, a idéia é fazer todas as combinações possiveis usando estes 5 listbox , cada um preenchido com 10 sequencias.

humm vai ficar meio comprido, ou seja 10x10x10x10x10 = 100.000 cem mil combinações

eu fiz cem mil mas acredito que seja mais ainda

é isso mesmo que deseja


PAYDANA 24/04/2013 23:13:34
#422460
Desculpe a demora!
E isso mesmo. Porém preciso ver estes números... Ou seja fazer um codigo que os combine, no caso isso que tentei acima e não deu certo.
Obrigado
Tópico encerrado , respostas não são mais permitidas