Oppure

Loading
19/09/07 18:59
iGuLy
Volevo chiedere se qualcuno mi può spiegare come randomizzare gli elementi di una array e poi farli visualizzare in una label.
La grandezza e gli elementi dell'array vengono definiti dall'utente.
Spero di essere stato chiaro.
aaa
19/09/07 19:31
gantonio
Puoi usare semplicemente la funzione Rnd ...

Di che tipo di array parli?

Dai maggiori dettagli ...
aaa
20/09/07 15:35
iGuLy
Io ho una textbox e il valore della textbox viene preso carattere per carattere e inserito nell'array.
Adesso io voglio randomizzare gli elementi di questo array(in questo caso i caratteri della textbox), e poi farli visualizzare in una label.
aaa
20/09/07 15:52
LuigiBiasi
Se ho capito, tu vuoi vedere in una label i singoli caratteri che hai messo nella textbox in maniera casuale giusto?
Penso che questo codice andra bene...
Aggiungi un timer, un bottone, una label e una textbox al form.
Dim c(100) As String
Dim i As Integer

Private Sub Command1_Click()
Timer1.Enabled = True
Timer1.Interval = 1000
End Sub

Private Sub Form_Load()
i = - 1

Timer1.Enabled = False
End Sub

Private Sub Text1_Change()
i = i + 1
c(i) = Right(Text1.Text, (Len(Text1.Text) - (Len(Text1.Text) - 1)))
End Sub

Private Sub Timer1_Timer()
Dim d As Integer
Randomize
d = Int((i - 0 + 1) * Rnd + 0)
Label1.Caption = c(d)
End Sub

Spero di esserti stato di aiuto,
ciao.
Ultima modifica effettuata da LuigiBiasi 20/09/07 16:08
aaa
20/09/07 15:57
gantonio
Praticamente vuoi visualizzare il contenuto della textbox "mischiato"?

Esempio, se nella textbox c'e'

ABCDE

vuoi visualizzare qualcosa come

DCEAB
aaa
20/09/07 16:10
gantonio
Qualcosa del genere

Private Sub Command1_Click()
    Dim C() As Byte
    Dim L As Long
    Dim K As Long
    Dim Ix1 As Long, Ix2 As Long
    Dim T As Byte
    
    Randomize Timer
    
    L = Len(Text1.Text)
    ReDim C(0 To L - 1)
    C = StrConv(Text1.Text, vbFromUnicode)
    
    For K = 1 To L * 2
        Ix1 = Int(Rnd * L)
        Ix2 = Int(Rnd * L)
        T = C(Ix1)
        C(Ix1) = C(Ix2)
        C(Ix2) = T
    Next K
    
    Label1.Caption = StrConv(C, vbUnicode)
End Sub


@LuigiBiase
Scusami, ma molti punti del tuo codice non sono chiari ... e mi sembra che non vada ...
aaa
20/09/07 16:36
LuigiBiasi
Ho capito male io.
Io ho capito che volesse visualizzare singolarmente i caratteri nella label, scritti prima nella text, a casaccio e non pensavo che volesse fare delle combinazioni con quei caratteri.
Scusate.
Ultima modifica effettuata da LuigiBiasi 20/09/07 16:40
aaa
20/09/07 17:37
iGuLy
Grazie a tutti e due, ma credo che ha me serva più il codice di gantonio.
Grazie
aaa