Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Conversiones de tipos (https://www.clubdelphi.com/foros/showthread.php?t=6512)

andre 11-01-2004 15:23:08

Conversiones de tipos
 
Hola foro,

Necesito ayuda con esta sentencia:
Código:

round(random * 255);
Arroja el siguiente error:
Types of actual and formal var parameters must be identical

Muchas gracias.

__cadetill 11-01-2004 18:15:00

Bueno, exactamente no se por qué, pero si haces la asignación del resultado... compila sin problemas

Código:

var
  x:integer;
begin
x := Round(random * 255);
end;


andre 12-01-2004 12:50:12

Utilizo Delphi 7 Enterprise y me arroja el mismo error aún asignando a un entero, en un principio yo lo estaba asignando a un elemento de un arreglo de enteros, creo que debería ser lo mismo.

Realmente lo que necesito es generar un número aleatorio entre 0 y 255 así que lo resolvi con:

Código:

var
  x:integer;
begin
  x := Random(255);
end

De todas maneras, todavía no entiendo porque no compila con la sentencia anterior.

Muchas gracias.

mosorio 12-01-2004 13:06:39

Hola,
Debes utilizar la palabra reservada o la instrucción Randomize; para que pueda efectuar el random(255).

__cadetill 12-01-2004 13:44:34

Cita:

Empezado por mosorio
Hola,
Debes utilizar la palabra reservada o la instrucción Randomize; para que pueda efectuar el random(255).

Eso no lo puse porqué lo daba por hecho :o

roman 12-01-2004 17:19:52

Cita:

Empezado por mosorio
Hola,
Debes utilizar la palabra reservada o la instrucción Randomize; para que pueda efectuar el random(255).

Estrictamente hablando la función Randomize no es necesaria para poder ejecutar Random. Lo único es que sin Randomize siempre se obtendrá la misma secuencia aleatoria.

// Saludos

Al González 13-01-2004 06:06:00

¡Buen día a todos!

Cita:

Empezado por andre
Código:

round(random * 255);
...Arroja el siguiente error:
Types of actual and formal var parameters must be identical...no entiendo porque no compila con la sentencia anterior...

Estoy igual de intrigado. ¿Podrías detallarnos un poco más el código que hay antes y después de esa sentencia? ;)

Seguramente se trata de una llamada a una rutina que debe recibir un parámetro por variable de cierto tipo, pero se le está dando un argumento que es de otro tipo de dato.

Muchas gracias.

Al González :).

marcoszorrilla 13-01-2004 08:24:22

Si Random devuelve un entero, al multiplicarlo por otro entero 255, tendremos otro entero, no veo que hace la función Round, te podrías explicar un poco más que es lo que hace tu código.

Un Saludo.


La franja horaria es GMT +2. Ahora son las 17:52:43.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi