se io da una SUB srivo 'MsgBox Pass' lui mi restituisce solo l' ultima combinazione.
Come posso farmele restituire tutte?
Ti vuoi fare restituire tutte le 1296 combinazioni in un solo MsgBox ???!
E' una cosa enorme ! Va be... puoi capirlo provandolo tu stesso.
Ho guardato il tuo codice e mi sono permesso di fare qualche modifica inserendo anche un modulo con la dichiarazione dell'array dinamico.
Il modulo:
codice:
Public Password() As String
Il tuo codice modificato:
codice:
'CopyRight by JabJoint
Private Sub Pass()
On Error Resume Next
Dim nT As Integer
Dim c As Long
Dim a1, a2, a3, a4 As String
a1 = "a"
a2 = "a"
a3 = "a"
a4 = "a"
nT = 5 'Solo le prime 5 lettere del alfabeto '25' tutte!
Open "C:\WINDOWS\DESKTOP\Password.txt" For Append As #1
For L1 = 0 To nT
av = Chr(97 + L1)
a1 = av
For L2 = 0 To nT
av = Chr(97 + L2)
a2 = av
For L3 = 0 To nT
av = Chr(97 + L3)
a3 = av
For L4 = 0 To nT
av = Chr(97 + L4)
a4 = av
ReDim Preserve Password(c)
Password(c) = a1 & a2 & a3 & a4
Print #1, Password
c = c + 1
Next L4
Next L3
Next L2
Next L1
Close #1
MsgBox "Totali combinazioni: " & CStr(c)
End Sub
Il richiamo della procedura con la tua MsgBox dopo aver premuto Command1:
codice:
Private Sub Command1_Click()
Dim StringaTot As String
Dim Cont As Double
Call Pass
For Cont = 0 To UBound(Password)
StringaTot = StringaTot & Password(Cont) & "-"
Next Cont
MsgBox StringaTot
End Sub
In questo modo vedi solamente una parte delle combinazioni, cioè solamente tutte quelle che sono entrate nei limiti di una variabile string (StringaTot)
Penso che le tue intenzioni non erano queste.
Chiariscimi cosa volevi fare...