Oppure

Loading
16/05/09 13:52
scusate il gioco di parole.......nel programma di p2p che sto' facendo creo una password per la cifratura.....la password la creo facendo un ciclo for tra le lettere dell'alfabeto ed i 10 numeri del sistema decimale.....ovvialmnte vengono presi i simboli in maniera randomica.....

il codice che uso e' questo messo all'interno di un timer.....

dim numerilettere as string
dim splitnumerilettere() as string
dim psw as string

numerilettere = "a,b,c,d,e,f,g,h,i,l,m,n,o,p,q,r,s,t,u,v,z,0,1,2,3,4,5,6,7,8,9"
splitnumerilettere = Split(numerilettere, ",")

If psw = "" Then
   For i = 1 To 5
       psw = psw & splitnumerilettere(Int(UBound(splitnumerilettere) * Rnd))
   Next i
End If


il problema curioso e' che mi genera sempre la stessa password
e la stessa cosa mi succede creando dei nickname, mi genera sempre la stessa combinazione di lettere e numeri......
non riesco a capire
16/05/09 14:49
Xaratroom
Devi usare randomize.
dim numerilettere as string
dim splitnumerilettere() as string
dim psw as string

numerilettere = "a,b,c,d,e,f,g,h,i,l,m,n,o,p,q,r,s,t,u,v,z,0,1,2,3,4,5,6,7,8,9"
splitnumerilettere = Split(numerilettere, ",")

Randomize()

If psw = "" Then
   For i = 1 To 5
       psw = psw & splitnumerilettere(Int(UBound(splitnumerilettere) * Rnd))
   Next i
End If
aaa
16/05/09 14:52
Louis
Ho provato il tuo codice, senza timer, e funziona egregiamente:
Private Sub Command1_Click()
    
    Dim numerilettere As String
    Dim splitnumerilettere() As String
    Dim psw As String
    Dim i
    
    numerilettere = "a,b,c,d,e,f,g,h,i,l,m,n,o,p,q,r,s,t,u,v,z,0,1,2,3,4,5,6,7,8,9"
    splitnumerilettere = Split(numerilettere, ",")
    
    If psw = "" Then
       For i = 1 To 5
           psw = psw & splitnumerilettere(Int(UBound(splitnumerilettere) * Rnd))
       Next i
    End If
    Text1.Text = psw

End Sub


Restituisce sempre 5 lettere/numeri differenti; è evidente che nella tua realtà progettuale dopo il primo ciclo c'é qualcosa che non va; controlla. Ciao.
aaa
16/05/09 14:56
GrG
Postato originariamente da Xaratroom:
Devi usare randomize.


Quoto, se ancora hai problemi facci sapere
aaa
16/05/09 15:09
e' prorpio questo i punto....anchio se lo provo separatamente mi funziona.....se io creo un nuovo progetto solo con questo codice mi da passwrd diverse ogni volta.....pero' all'interno del progetto mi da' questa anomalia.......

forse e' arrivato il momento di postare l'intero progetto ormai pronto per una prima alpha che ne dite?

16/05/09 15:12
Xaratroom
Ma hai provato a usare la funzione randomize ?
Ultima modifica effettuata da Xaratroom 16/05/09 15:13
aaa
16/05/09 15:35
si usando randomize funziona , ma non riesco a capire il perche'......
grazie mille dell'aiuto.....
16/05/09 15:36
theprogrammer
Postato originariamente da Louis:

Ho provato il tuo codice, senza timer, e funziona egregiamente:


No Louis ... non va ...

Deve essere usata la

Randomize

come gia' detto perche' la sequenza cambi.

Non e' importante che le pwd siano diverse ma che la sequenza sia diversa.

Inoltre, quel codice puo' essere ottimizzato.
aaa