PDA

Visualizza la versione completa : perchè la variabile si resetta?


fisica
07-10-2002, 21:58
questo è il codice di una funzione



Public Function ricercaposizionale(carminimi As Integer, nminimo As Integer, ripetizioniminime, nmassimo)
Do Until nminimo > nmassimo //mi fermo quando il valore minimo è = al massimo
fun = convertibinario(nminimo) //converto in binario
numerobinario = convbinario.Text //inserisco in una variabile
While Len(numerobinario) < carminimi //se la lunghezza è minore dei caratteri minimi
numerobinario = 0 & numerobinario //aggiungo uno 0
Wend //e ripeto finchè la lunghezza è uguale
fun = quantevolte(Text2.Text, numerobinario) //conto il numero di volte che la scringa è contenuta in text2
nvolte = quantevolte2.Text //memorizzo in una variabile
MsgBox "numero volte" & nvolte
If nvolte > ripetizioniminime Then //se il numero è maggiore delle ripetizioni minime
MsgBox "inserito"
Text3.Text = Text3.Text & "numero: " & numerobinario & " ripetizioni: " & nvolte & vbCrLf //lo inserisco nella casella di testo text3
End If
nminimo = nminimo + 1 //aggiungo 1 al numero minimo
Loop //ripeto
End Function


la funzione esterna convertibinario salva il risultato nella casella di testo convbinario
la funzione esterna quantevolte salva il risultato nella casella di testo quantevolte2


In questo caso il valore di nminimo dovrebbe aumentare di 1 ad ogni ciclo, invece no, parte da 1 e rimane fisso sul 2 (il valore da 1 passa a 2 alla riga "nminimo = nminimo + 1" e ritorna a 1 alla riga "fun = convertibinario(nminimo)")

cosa non va?

grazie

ciao

Wild78
08-10-2002, 11:58
Scusami se oso, ma il tuo codice mi risulta un po' disordinato e antipatico... :)

Ho un po' di dubbi su quanto hai scritto, ad esempio convBinario ho intuito che e' un campo di testo, ma cosa c'e' dentro all'atto del load? Quando esegui la funzione ricercaPosizionale?

Loading