Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1
    Utente di HTML.it L'avatar di Luis33
    Registrato dal
    May 2003
    Messaggi
    975

    Subscript out of range: '[number: 36.6552320122719]'

    Ciao, perchè ogni tanto questa funzione:
    codice:
    Function genera_pwd()
    
    	Dim i, x
    	Dim chars(36)
    	Dim pwd(8)
    	
    	x = 0 
    	'a-z
    	for i = 97 to 122
    		chars(x) = chr(i)
    		x = x + 1
    	next
    	'0-9
    	for i = 48 to 57
    		chars(x) = chr(i)
    		x = x + 1
    	next
    	password = "" 
    	For i = 1 to 8
    		Randomize
    		password = password & chars(Int(UBound(chars) - LBound(chars) + 1) * Rnd + LBound(chars))
    	next
    	genera_pwd = password
    end Function
    mi restituisce quest'errore?:
    Microsoft VBScript runtime error '800a0009'

    Subscript out of range: '[number: 36.6552320122719]'
    Che significa? Si può risolvere?
    ... Sono graditi codes, esempi pratici, suggerimenti, consigli e critiche...
    "Ai posteri l'ardua sentenza..."
    Tante grazie
    Saluti
    Luis 33

  2. #2
    dimensioni gli array con un numero di elementi inferiore a quello richiesto dai cicli!!!!!

  3. #3
    Utente di HTML.it L'avatar di Luis33
    Registrato dal
    May 2003
    Messaggi
    975
    Grazie e sarebbe?
    ... Sono graditi codes, esempi pratici, suggerimenti, consigli e critiche...
    "Ai posteri l'ardua sentenza..."
    Tante grazie
    Saluti
    Luis 33

  4. #4
    o meglio, non esiste l'elemento che richiedi nell'ultimo ciclo!!!

  5. #5
    prova con :

    codice:
    Function genera_pwd()
    
    	Dim i, x
    	Dim chars(36)
    	Dim pwd(8)
    	
    	x = 0 
    	'a-z
    	for i = 97 to 122
    		chars(x) = chr(i)
    		x = x + 1
    	next
    	'0-9
    	for i = 48 to 57
    		chars(x) = chr(i)
    		x = x + 1
    	next
    	password = "" 
    	For i = 1 to 8
    		Randomize
    		password = password & chars(Int((UBound(chars) - LBound(chars) + 1) * Rnd + LBound(chars)))
    	next
    	genera_pwd = password
    end Function

  6. #6
    Originariamente inviato da Luis33
    Grazie e sarebbe?
    In pratica hai dimensionato l'array
    Dim chars(36)
    a 36...ma il ciclo la utilizza per valori molto piu alti....
    imposta la dimensione massima dell'array almeno a 200
    http://www.firesoftweb.it - Servizi gratuiti per il tuo sito web: forum, guestbook, contatori visite...

  7. #7
    dado....

    non può ... altrimenti nel ciclo finale potrebbero tornare dei valori vuoti visto che gli altri due cicli riempiono solo alcuni elementi dell'array!!!!

  8. #8
    togli il +1 da

    password = password & chars(Int(UBound(chars) - LBound(chars) + 1) * Rnd + LBound(chars))

  9. #9
    Non ci avevo fatto caso...
    Ma il codice che hai scritto tu ha ancora l'array dimensionata a 36... non può funzionare il primo ciclo!
    Non è meglio usare 2 array?
    http://www.firesoftweb.it - Servizi gratuiti per il tuo sito web: forum, guestbook, contatori visite...

  10. #10
    no, dovrebbe andar bene, l'errore è nell'ultimo ciclo ... se ci fai caso in alcune condizioni potrebbe venir fuori un numero con la virgole e quindi, ad esempio richiamare dall'array l'elemnto array(36,545454545) che è inesistente ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.