¿Cómo puedo hacer para que al darle clic a un comando se ponga al valor caption de cualquiera?

Saludos a todos... Quisiera saber si se puede programar algo para que desarrolle una actividad aleatoriamente... Por ejemplo: tengo un formulario con 9 command con su propiedad caption vaci.. ¿Cómo puedo hacer para que al darle clic a uno de ellos ponga valor al caption de cualquiera? Espero este bien explicada mi duda, espero sus respuestas.

1 respuesta

Respuesta
1
lo puedes hacer con la funcion rand() esto genera un numero aleatorio mas o menos asi
xcomand = 'thisform.command'+str(rand())+'.caption' && concateno el caption con el numero del random que me devuelve
&xcomand = 'El caption' &&esto ejecuta el comando de arriba y le pone como caption al command
ojala te sirva, me gustaría saber un poko mas del problema para poderte ayudar
Hola, gracias por contestar... Bueno esto no es un proyecto, es solamente una practica. Quiero aprender esto para proyectos futuros.
Bueno, te explicare nuevamente aver si ahora entiendo. Tengo nuevo command, llamados command1, command2,... etc. lo que quiero es que al darle clic, por decir algo, al command3 me escriba una A en cualquier otro command. Sintetizando: lo que necesito es elegir aleatoriamente un command para poner en el en la propiedad caption una A. Gracias espero tu respuesta pronto.
Bueno si quieres hacer eso, con las dos lineas de código que te puse anteriormente lo puedes hacer sin problema alguno.
xnum = iif(INT(RAND()+RAND()*RAND()/0.1),0,1) &&saca numeros aleatorios si es cero pone un 1
if xnum>3 &&tres porque son tres command
xn = 3
else
xn = xnum
endif
xejecutar = 'thisform.command'+alltr(str(xn))+'.caption'
&xejecutar = 'A' && esto ejecuta el texto que esta en la variable ejecutar y le pone al caption la letra A
ojala te sirva
Hola. Gracias por la respuesta pero la primer linea de comando no funciona... Me da un error que dice: Function argument value, type, or count is invalid... Que puedo hacer.?
Iif(INT(RAND()+RAND()*RAND()/0.1)>3,0,1) se me paso la parte donde se evalua el if
Esa es la linea que debes cambiar
Amigo, el numero que genera siempre es 1... Necesito que sea aleatorio. Gracias.
Amigo lo que pasa es que como dijiste eran solo 3 command pues se puso la condición con el iif pero si ejecutas sin el iif INT(RAND()+RAND()*RAND()/0.1) te darás cuenta que comienzan a variar los números

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas