Problema de código simple!!

Tempo
07 de Febrero del 2004
Tengo un array de 5 posiciones. Y en esas cinco posiciones quiero meter aleatoriamente un numero del 1 al 4 cada segundo con un timer.
Mi problema es que con este codigo adjunto sólo me llena la posicion 0 dl array!! Q HAGO????

Private Sub timer_Timer()
Dim mas_peke As Integer
Dim mas_grande As Integer
Dim i As Integer
Dim anums(5)

mas_grande = 4
mas_peke = 0

timer.Enabled = True

For i = 0 To UBound(anums)
'while i < mas_grande si hago esto me salen los 5 de golpe y kiero cada segundo uno!!
timer.Enabled = True

Randomize
anums(i) = Int((mas_grande - mas_peke) * Rnd + mas_peke)

Print (i); (anums(i))

'i = i + 1

Next i
End Sub

Bartolom
07 de Febrero del 2004
Tu código tiene los siguientes errores:

Primero, el al timer debes llamarlo timer1 y no Timer, ya que esta es una palabra reservada.
No conviente declarar variables dentro del evento timer ya que a cada segundo las vuelve a sobreescribir.
El evento timer.enabled=true debe ser llamado fuera del evento timer
al utilizar la sentencia Fort dentro del evento Timer, haces que se escriba todo de una sola vez cada segundo y nunca se termina.
Asignarle valores a las variables más grande y más peke debe ser fuera derl evento timer.
Acá va el código corregido que hace lo que necesitas:
Primero, al timer tienes que llamarlo Timer 1 y su propiedad Iinterval debes setearla a 1000.

Acá va el código:
Dim mas_peke As Integer
Dim mas_grande As Integer
Dim i As Integer
Dim anums(5)

Private Sub Form_Load()
mas_grande = 4
mas_peke = 0
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
Randomize
anums(i) = Int((mas_grande - mas_peke) * Rnd + mas_peke)

Print (i); (anums(i))

i = i + 1
If i = 5 Then
Timer1.Enabled = False
Exit Sub
End If
End Sub