Rnd en Visual Basic .NET, ejercicio ke no saco.

Urien

Bueno el enunciado es el siguiente:

  1. Programa que cambia aleatoriamente de color de una frase tras pulsar un botón cambiar. El tiempo en el que se cambie será introducido a elección del programador: por el usuario o por código.

Bien, teniendo en cuenta ke para sacar numeros aleatorios usamos Rnd() y la semilla es Randomize() sin parametros porke por defecto coge el timer... ¿como puñetas asocio un entero a un drawing?, creo ke lo estoy enfocando mal pero no paso de hacer cabalas con:

Randomize()
Label1.BackColor = Rnd() * Label1.BackColor

y cosas similares y estupidas, evidentemente la conversion de tipos no funciona asike ya no se ke hacer. En internet veo muchisimos ejercicios de sacar numeros aleatorios y demas pero esto no se por donde cogerlo, a ver si me podeis dar una pistilla.

PD: no kiero la solución por favor.
Salu2 y gracias.

cabron

Bueno, lo primero no tengo ni idea de vb .net, vb solo he tocado el 6.0, así que a lo mejor no te sirve esto de ayuda, pero a lo mejor te puede valer para orientarte.

Si no recuero mal, en vb los colores se asignaban usando un valor hexadecimal tipo FFFAF0, representando los 3 valores para rojo, verde, y azul.

De ahí podemos sacar que para hacer un color aleatorio, necesitas un número entre 0 y 16.777.215 (16.777.215 es el número máximo que se puede conseguir con un valor hexadecimal de 6 dígitos).

Así que tendrías que sacar un número aleatorio entre 0 y 16.777.215 y asignarselo a la propiedad del color del botón.

Si no lo puedes hacer exactamente así, seguro que con alguna variante de esto te vale.

Soltrac

#2 has the key :P

Urien

Bueno al final no lo saqué, recurrí a poner varios colores en distintos case de un select-case de tal forma que evaluo el numero que saque de un rango del 1 al 10 y el que corresponda... ese se queda.

Lo se, ha sido chanchullero pero con la forma que me decias no he conseguido hacerlo, los colores van en plan Control.ForeColor = Color.Black, el propio Color es un array pero es inaccesible y ahí es donde queria hacer un random (tal que Color[Rnd()] o algo asi) pero tampoco lo conseguí.

En fin, resultado chapucerillo y waltrapero para salir del paso pero vamos... no estoy, profesionalmente hablando, nada contento.

Usuarios habituales

  • Urien
  • Soltrac
  • cabron