Muy bien, en este punto ya sabes como crear, cambiar el color y la etiqueta de los círculo. Ahora viene la parte en la que les agregamos interacción asignándoles una acción a realizar cuando son pulsados (o presionados).
Para realizar esto en YoProgramo vamos a usar la función: asignar_accion(objeto, accion);
como en las funciones de asignación de color y etiqueta el objeto
es el identificador del objeto, que puede ser un círculo o un botón ya construidos, al cual queremos asignarle una acción. Al igual que en la etiqueta
, la accion
se escribe entre comillas sencillas (') y corresponde a la instrucción que se va a realizar al hacer clic sobre el objeto.
YoProgramo es un ambiente de programación sencillo y la función asignar_accion
solo te permite asignar una acción a círculos y botones, lo bueno es que está acción puede ser la ejecución de una función con lo que se pueden realizar muchas más acciones dentro del código de la función. Por otra parte, si la acción es más simple se puede realizar directamente la asignación de un valor a una variable.
En el siguiente programa puedes observar un conjunto de círculos con números, cuyas acciones asignadas son simplemente cambiar la etiqueta del círculo blanco, por el número marcado. Juega con los círculos e intenta agregarles otro tipo de acciones.
Quizá durante tus pruebas intentaste cambiar la etiqueta de un círculo dentro de una acción, pero en lugar de ponerle un número como en el ejemplo, intentaste poner una palabra, como Hola
, si lo hiciste y no le pusiste comillas sencillas alrededor de la palabra (por ejemplo: asignar_accion(c1,'asignar_etiqueta(c1, Hola)');
) habrás notado que el valor de la etiqueta se vuelve cero, esto se debe a que la función asignar_etiqueta
espera en su segundo parámetro un valor ya sea numérico, de cadena de texto o el nombre de una variable, en este caso está recibiendo Hola
lo que interpreta como una variable que de hecho no está definida y por eso le asigna el valor de 0
.
Ahora, si le agregaste las comillas a la palabra Hola
(por ejemplo: asignar_accion(bc1, 'asignar_etiqueta(btn, 'Hola')');
) entonces habrás notado un comportamiento diferente, en este caso el círculo no hace nada cuando se hace clic en él. Esto se debe a que la cadena de texto queda incompleta. El error viene en el valor del segundo argumento de la función, es decir en la parte: 'asignar_etiqueta(btn,'Hola')'
; ya que todo lo que esta entre comillas sencillas es una cadena 'asignar_etiqueta(c1,'
pero luego sigue la palabra Hola
que no esta ente comillas y por ultimo viene la cadena ')'
, con lo cual el programa no sabe lo que realmente quieres hacer y por esto no funciona. Si antes de asignar la acción escribes Hola:='Hola';
entonces asignar_accion(c1,'asignar_etiqueta(c1, Hola)');
funcionará bien.
Muy bien, si revisaste todos los bloques informativos correspondientes a los círculos
ya debes saber lo suficiente sobre círculos para realizar la mayoría de las actividades de YoProgramo del taller.