Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Randomize
Forum - Visual Basic 6 - Randomize

Avatar
Roberto VB (Member)
Expert


Messaggi: 419
Iscritto: 29/01/2007

Segnala al moderatore
Postato alle 18:55
Martedė, 06/03/2007
Salve, generalmente per randomizzare dei numeri o lettere utilizzo il seguente codice:
Codice sorgente - presumibilmente Plain Text

  1. lblL1.Caption = Mid$("BCDFGHJKLMNPQRSTVWXZ", Int(Rnd * 20) + 1, 2)


Questo semplice codice quindi, randomizza tutte le lettere dell'alfabeto.
Ora mi chiedo: se io volessi randomizzare intere parole come per esempio "casa","albero","gelato", che codice devo utilizzare?

Ringrazio anticipatamente tutti coloro che mi daranno una risposta

PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 19:34
Martedė, 06/03/2007
in che senso?

PM Quote
Avatar
Roberto VB (Member)
Expert


Messaggi: 419
Iscritto: 29/01/2007

Segnala al moderatore
Postato alle 19:38
Martedė, 06/03/2007
con questo codice:
lblL1.Caption = Mid$("BCDFGHJKLMNPQRSTVWXZ", Int(Rnd * 20) + 1, 2)
mette in ordine casuale quelle lettere (BCDFGHJKLMNPQRSTVWXZ).
Vorrei sapere cosa dovrei fare per randomizzare intere parole, visto che nel codice precedente randomizza le singole lettere

PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 19:52
Martedė, 06/03/2007
be fai un ciclo lungo quanto la parola poi scegli a caso la lettera e la togli dalla lista e ripeti fino alla fine

PM Quote
Avatar
Hacker (Member)
Guru


Messaggi: 1014
Iscritto: 06/06/2006

Segnala al moderatore
Postato alle 19:24
Mercoledė, 07/03/2007
Forse cosė:

Dim parole

Private Sub Form_Load()
parole = Array("ciao", "lol", "miao", "bau")
Randomize
MsgBox parole(Rnd(3))

End Sub

intendevi questo pių o meno?

Ultima modifica effettuata da Hacker il 07/03/2007 alle 19:25
PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 20:41
Mercoledė, 07/03/2007
penso che intendesse pių un anagramma.
dim lunghezza as integer
dim stringainiziale as string
dim stringafinale as string
dim caratteretolto as integer
stringafinale = ""
stringainiziale = text1.text
for x = 1 to len(text1.text)
caratteretolto =rnd()*len(stringainiziale)+1
stringafinale = stringafinale & MID(stringainiziale,caratteretolto,1)
stringainiziale = MID(stringainiziale,1,caratteretolto-1) & MID(stringainiziale,caratteretolto+1)
next x
text1.text = stringafinale

Ultima modifica effettuata da P4p3r0g4 il 07/03/2007 alle 20:49
PM Quote
Avatar
Roberto VB (Member)
Expert


Messaggi: 419
Iscritto: 29/01/2007

Segnala al moderatore
Postato alle 7:06
Sabato, 10/03/2007
Testo quotato

Postato originariamente da Hacker:

Forse cosė:

Dim parole

Private Sub Form_Load()
parole = Array("ciao", "lol", "miao", "bau")
Randomize
MsgBox parole(Rnd(3))

End Sub

intendevi questo pių o meno?



Sisi, ti ringrazio, anche se la cosa strana č che randomizza solo le parole "ciao" e "lol":-|

PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 14:43
Sabato, 10/03/2007
prova a cambiare "rnd(3)" con "int(rnd()*4)+1"

asp potrebbe essere anche "int(rnd()*4)" dipende se l'array parte da 0 o da 1

Ultima modifica effettuata da P4p3r0g4 il 10/03/2007 alle 14:45
PM Quote
Avatar
Roberto VB (Member)
Expert


Messaggi: 419
Iscritto: 29/01/2007

Segnala al moderatore
Postato alle 15:50
Sabato, 10/03/2007
Ecco ora funziona, grazie mille per l'aiuto

PM Quote