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 - random di 20 numeri senza ripetizioni
Forum - Visual Basic 6 - random di 20 numeri senza ripetizioni

Avatar
frabelfagor_95 (Normal User)
Newbie


Messaggi: 17
Iscritto: 05/01/2011

Segnala al moderatore
Postato alle 17:39
Giovedì, 03/02/2011
Ciao ragazzi!

Premetto che sono alle prime armi con il visual basic 6, e conosco solo le basi ma non quanto detto nell oggetto.

nella mia form mi ritrovo con:

1 command button
1 textbox

ho provato a inseririe questo codice nell command button, ma i numeri si ripetono sempre ! e io vorrei che nella textbox escano 20 numeri casuali e che quando escono tutti e 20 mi esca un msgbox "FINE".

nell command button ho inserito questo:

Codice sorgente - presumibilmente Plain Text

  1. Randomize
  2. Text1 = Int(Rnd * 20)



Qualcuno mi sa aiutare ?
Grazie molto
:k:

PM
Avatar
crash outside control (Normal User)
Expert


Messaggi: 217
Iscritto: 12/02/2008

Up
1
Down
V
Segnala al moderatore
Postato alle 14:21
Venerdì, 04/02/2011
Puoi mettere i valori random in un array di 20 elementi.
Ogni volta che devi inserire un nuovo numero lo confronti con quelli precedenti e vedi se già è uscito. Se già è uscito ripeti tutto finchè non capita uno nuovo.
Per inserirli nella TextBox, o li inserisci ogni volta che aggiungi un nuovo valore all'array, o li inserisci tutti alla fine.

PM
Avatar
Sal47 (Normal User)
Pro


Messaggi: 96
Iscritto: 05/02/2009

Up
-1
Down
V
Segnala al moderatore
Postato alle 7:52
Sabato, 05/02/2011
Ciao,
se può esserti di aiuto prova così:
----------------------------------
Option Explicit
Dim i, m As Integer
Dim tmp(20), num(20)

Private Sub Command1_Click()
Text1 = ""
Randomize Timer
i = 1
1: If i > 20 Then MsgBox "FINE": Exit Sub
num(i) = Int(Rnd * 20) + 1
If i = 1 Then
    tmp(i) = num(i): Text1 = Text1 & " " & num(i)
    i = i + 1
    GoTo 1
End If
For m = 1 To i - 1
    If num(i) = tmp(m) Then GoTo 1
Next m
tmp(i) = num(i): Text1 = Text1 & " " & num(i)
i = i + 1
GoTo 1
End Sub
-------------------------
Saluti
Sal47

OMG *_* - crash outside control - 06/02/11 01:52
Ti ringrazio molto, hai capito cosa voglio fare ma quello che vorrei, è che i numeri non vengano fuori tutti! ma uno alla volta ad ogni click. Grazie - frabelfagor_95 - 07/02/11 14:45
PM