FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
random siempre me da el mismo valor
hola foro quiero tener un numero aleatorio para cambiar aleatoriamente el fondo de pantalla de mi proyecto, las imagenes de fondo tienen nombre numerico es decir 1.jpg, 2.jpg, 3.jpg, etc, el problema es que nunca cambia
siempre me da como resultado aleatorio el numero 1, alguien tiene idea de que este pasando ? este es mi codigo
saludos |
#2
|
||||
|
||||
Hola sabueso1010.
Probá de este modo:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
|||
|
|||
solucionado
gracias ecfisa con tu codigo funciono perfectamente
de hecho ya lo habia intentado con algo parecido a tu codigo pero me estaba faltando la sentencia RANDOMIZE, al parecer el random no funciona si no aplicas antes un randomize, pero con tu codigo ya funciona al 100%, gracias . |
#4
|
||||
|
||||
Hola sabueso1010.
Lo que sucede es que Random no genera números aleatorios sino pseudoaleatorios basados en una formula más o menos compleja que casi podríamos decir se asemeja a lo aleatorio. La función Randomize inicializa el valor del generador en que se basará la fórmula para generar la secuencia con el reloj del sistema. Por lo que cada vez que se ejecute generará una serie diferente. Si no inicializamos la 'semilla' o la inicializamos a un mismo valor, siempre obtenemos la misma secuencia. Lo podes verificar con este símple código:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#5
|
||||
|
||||
Cita:
La función Random() SI funciona, y de mil maravillas. El "defecto" es que lee, siempre, el mismo valor semilla con el cual genera el primer y los siguientes números pseudoaleatorios. ¿Poqué? Porque todo experimento o escenario de simulación debe tener como característica principal de poder repetirse a fin de comprobar y evaluar los resultados. Para pruebas, y simulaciones es necesario poder recrear los mismos escenarios. Cuando las pruebas finalizan y se da por válido el experimento; o para nuestro caso, en programación, para cuando el sistema sale de la etapa de desarrollo o mal llamado producción para ser comercializado es cuando entra en juego el procedimiento Randomize. Randomize lo que hace es regenerar un nuevo valor semilla, por lo general se obtiene y se calcula en función de la fecha y hora del sistema. De este modo, al menos en teoría, nunca deberías obtener el mismo valor semilla. Aquí hay que aclarar un punto muy importante: Sólo se debe invocar a Randomiza una sola vez en todo el programa; por lo general se estila y es conveniente hacerlo cuando se crea el form principal. Cita:
Siendo X0, léase X subíndice 0, el valor semilla y Xiplus1 el número i+1 a generar. El procedimiento se repite para Xi = Xiplus1. El que posee un generador de la hostia es el programa Arena, que "básicamente" lo que hace es concatenar el resultado de N generadores: X = Generador1 + Generador2 + ... + GeneradorN Saludos, |
#6
|
||||
|
||||
Hola Delphius.
Cita:
Pero como desconocía el grado de conocimiento sobre el tema de los posibles lectores y por tanto la dificultad que pudiera ofrecerles, me pareció que la apreciación "una formula mas o menos compleja" se ajustaba bién a cada caso. Ampliando un poco para el interesado, algunos enlaces sobre el tema: Método de Box-Muller Método de la transformada inversa Generador de números aleatoros Hardware para PC Un saludo.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Firebird, No siempre utiliza el mismo PLAN? | Kipow | SQL | 12 | 03-12-2015 17:35:22 |
Problemas con Rave Report, siempre el mismo | Paulao | Varios | 0 | 09-03-2011 16:38:32 |
Foco siempre en el mismo tedit | Viky | Varios | 2 | 14-06-2010 19:37:06 |
¿Como sumar un valor de un edit y reflejar incremento en el mismo? | The_Animal | Varios | 3 | 31-12-2007 02:12:48 |
Select Max siempre devuelve valor | FernanGil | Conexión con bases de datos | 3 | 06-10-2003 16:55:36 |
|