FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
funcion RANDOM ... funciona bien ?!!!!!
Hola a todos .. perdon si suena a pavada .. pero estoy observando un comportamiento raro con dicha funcion.. justamente NO random ...
tengo vector de 2 DOS elementos , la cuestion es que siempre me seleccionaba el primero (a la sexta vez ya comence a sospechar que no era muy normal..) el bucle era el siguiente y siempre salia seleccionado el numero 1.. while (i1= 0) do begin i1:= Random(length(vec)+1);//entre 0 y 3 porque tengo 2 op end; le agregue la condicion que siguiera si se seleccionaba el 1 y llego a seleccionar el 2 a la TERCERA VEZ que lo intenta .. y siempre en la tercera vez !!! while (i1= 0) or (i1= 1 ) do begin i1:= Random(length(vec)+1); end; Luego ya en estado de desesperacion agregue otro numero para ver que resultado me daba while (i1= 0) or (i1= 1 ) do begin i1:= Random(length(vec)+1); i2:=Random(100); inc(ii); end; y las 10 veces que lo probe , antes de decidirme a pedir auxilio aqui .. me da .. 0 y 59 al primer intento de random 2 y 72 al segundo intento de random y sale del while... y SIEMPRE ME DA LOS MISMOS VALORES !... en el mismo ORDEN ! alquien tiene idea que estoy haciendo mal o que puede pasar ... GRACIAS !!! |
#2
|
|||
|
|||
Hola,
random te da numeros pseudoaleatorios (es imposible en un ordenador actual dar numeros aleatorios completos). Tienes que usar la funcion randomize antes de usar el random, la cual pone la 'semilla' de numeros en funcion de la hora del reloj. Un saludo. |
#3
|
||||
|
||||
Por favor, ingel, recuerda poner el código fuente entre etiquetas [code ] tu código [/code ] para que sea más cómodo leerlo.
Por cierto, en tu programa, al principio, pon la instrucción randomize. Edito, ya te lo había informado coso.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#4
|
|||
|
|||
Ya lo habia puesto..
Graicas a ambos por su respuesta ... les cuento que ya tenia puesto el Randomize en el FormShow del Form... salvo que haya que ponerlo en otro lugar o de otra forma ...
CAsimiro ... te juro que cada vez que escribo codigo pienso en poner las etiquetas,, pero jamas las recuerdo , ... soy pariente de Dori .. la de buscando a Nemo .. pero prometo anotarmelo en el teclado ... aca va una prueba de paso ... les muestro el ramdomize.... gracias !! Código:
procedure TFDesigPeritos.FormShow(Sender: TObject); begin Randomize; fVeces.setfocus; end; |
#5
|
||||
|
||||
No hace falta que lo recuerdes, cuando estás escribiendo un mensaje tienes el icono justo arriba , selecciones tu código y pulsas en el icono '#', ese es el de code, tienes el de php, delphi, sql, etc...
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#6
|
||||
|
||||
Cita:
Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
DB2 9.7 en Linux con dbExpress para Delphi 2007. Funciona bien ? | rolandoj | Conexión con bases de datos | 0 | 26-01-2010 14:57:02 |
ayudenme porfis delphi no funciona bien | jazmin | OOP | 6 | 11-01-2010 06:08:21 |
No funciona bien el QrImage en el QReport | AGAG4 | Impresión | 11 | 29-10-2008 17:16:56 |
Función Random ??? | BlueSteel | Varios | 26 | 04-07-2008 21:42:13 |
QRImage no funciona bien | eljinete | Impresión | 4 | 16-12-2005 02:02:05 |
|