El objetivo de este apartado es ver cómo son de similares la herramienta Revolution respecto a MetaCard. Desarrollamos aquí un ejemplo paralelo a lo hecho con MetaCard, así introducimos los elementos propios de Revolution y vemos que podemos aprovechar lo aprendido con aquella. El planteamiento que nos ocupa es obtener una versión en fichero del contenidos de los tutoriales de Revolution, así los podrá consultar tranquilamente tomando café o cómo desee.
Manos a la obra: desde el Help del menú de la barra de herramientas tiene acceso a Tutorials y desde esta pila puede abir el Getting Started y el Independent Study. Con el "Application Overview" (si no está visible, muéstrelo usando View|Application Overview) y asegúrese que la opción View|Revolution UI Stacks In Lists. Localize las entradas correspondientes a revtutorialsstart.rev y a revtutorialindep.rev
Si examina el contenido de una tarjeta observará que existe un grupo "main", que contiene dos campos de texto: "main" y "name". Estos son. respectivamente, la explicación de un paso y el título del mismo. Después existe una barra de separación entre ellos, pero que no nos aporta información y la barra de la parte inferior de la tarjeta, que tampoco aporta mucho más para nuestros propósitos. Esto se hace en dos pasos, así que vamos allá sin mirar atras:
Vamos a aprovechar para adelantar algo nuevo: esta vez dejaremos que el usuario trabaje poco escribiendo el nombre de la pila. Para que lo pueda escoger a golpe de ratón o de teclado (si habilitamos la propiedad Can Receive Keyboard Focus se puede llegar a él con el tabulador y desplegarlo con las teclas del cursor. Cuando se decida por una pila, pulse la barra espaciadora y listo. El código hace uso de la función openStacks para actualizar los contenidos del botón, justo en el momento en que se pulsa.
# # # on mouseDown put the openStacks into me end mouseDown
Si ya tenemos una pila escogida podemos empezar. Es necesario ver cómo acceder al contenido del botón anterior. Las pruebas cortas, como siempre, desde la "Message Box" pruebe a ejecutar:
put the number of cards of stack (the label of btn "pila a volcar")
¿A que le gusta? Pues nada, recorreremos la pila, acumulando lo contenido en los campos indicados de cada tarjeta y, al final, le preguntaremos al usuario dónde lo quiere. Allí lo dejaremos y terminamos:
# # Botón Avant (en TXT) # local contingutTutorial on mouseUp set cursor to busy put empty into contingutTutorial repeat with i = 1 to the number of cards of stack (the label of btn "pila a volcar") put i & ".-" &&\ the fld "name" of group "main" of card i of\ stack (the label of btn "pila a volcar") & return &\ the fld "main" of group "main" of card i of\ stack (the label of btn "pila a volcar") & return &\ return & return after contingutTutorial end repeat ask file "Tria un fitxer per guardar el tutorial" if it is not empty then put contingutTutorial into URL("file:" & it) end mouseUp
Pero si nos ponemos, nos ponemos: vamos a retocar la salida para que tenga formato HTML. Bueno, la verdad es que no es muy conforme con las normas de accesibildad, pero eso exige más código y no es el momento. Aprovechamos para poner nuestro nombre (los créditos), la fecha y un poco de maquillaje. Los cambios son mínimos: un poco de htmlText por aquí, alguna etiqueta más de HTML y ya está. Mi propuesta es esta:
# # Botón Avant (en HTML) # local contingutTutorial on mouseUp set cursor to busy # put "put the number of cards of stack" && (the label of btn "pila a volcar") # put the number of cards of stack (the label of btn "pila a volcar") put "<!DOCTYPE HTML PUBLIC " & quote & "-//IETF//DTD HTML//EN" & quote &\ ">" & return &\ "<html>" & return &\ " <head>" & return &\ " <title>" & the label of stack (the label of btn "pila a volcar") & "</title>" & return &\ " </head>" & return &\ " <body>" & return &\ " <h1>" & the label of stack (the label of btn "pila a volcar") & "</h1>" & return \ into contingutTutorial repeat with i = 1 to the number of cards of stack (the label of btn "pila a volcar") put "<div>" &return &\ "<h2>" & i & ".-" &&\ the fld "name" of group "main" of card i of \ stack (the label of btn "pila a volcar") & "</h2> " &\ return &\ the htmlText of fld "main" of group "main" of\ card i of stack (the label of btn "pila a volcar") &\ return & "</div>" &\ return & return after contingutTutorial end repeat put "<hr>" & return & "<p>" & the long date & "; " & the long time & "</p>" &\ return &\ "<address><a href=" & quote & "mailto:magusti@disca.upv.es" & quote &\ ">M. Agustí</a></address>" &\ return &\ " </body>" & return &\ "</html>" & return after contingutTutorial ask file "Tria un fitxer per guardar el tutorial" if it is not empty then put contingutTutorial into URL("file:" & it) end mouseUp
Revolution es similar a MetaCard: lo aprendido para el segundo, siempre ese de aplicación para el primero.