Abarcar el Contenido A Través de Múltiples CDROMs Para abarcar el contenido a través de múltiples CD’s, debes crear una a aplicación por separado para cada CD. Si esta no es una opción para tu proyecto, y no hay forma de que puedas ajustar tu proyecto a un solo CD, deberías considerar la distribución de tu proyecto proyecto en un DVD.
Abrir un Archivo .DOC de Microsoft Word Para abrir un Documento de Word usando AutoPlay Media Studio, utiliza la Acción Rápida “Open Document” para llamar al documento. Usa el botón Browse que está junto a “Document to Open” para seleccionar el archivo .DOC que quieras quieras abrir. Recuerda que tienes que asignarle una Acción Rápida a algún objeto, así que primeramente tienes que crear uno (normalmente un botón). Nota: AutoPlay Media Studio no cuenta con un objeto Word. Para abrir un documento
Word en la computadora del usuario, éste debe tener un programa capaz de abrir el documento (por ejemplo Microsoft Word o Microsoft Word Viewer). Consejo: AutoPlay Media Studio 7 contiene el objeto RichText que puede ser usado
para mostrar texto con formato.
Abrir un Archivo HTML en una Ventana Desplegable En AutoPlay Media Studio es posible abrir un documento HTML en el Explorador por defecto del usuario. Para lograr esto, por favor dirígete al tema “Abrir un Sitio Web en un Explorador Externo” .
Abrir un Archivo PDF Adobe Acrobat Para abrir un Archivo PDF en Adobe Acrobat usando AutoPlay Media Studio, utiliza la Acción Rápida “Open Document” para llamar al documento. Usa el botón Browse que está junto a “Document to Open” para seleccionar el archivo PDF que quieras abrir. Recuerda que tienes que asignarle una Acción Rápida a algún objeto, así que primeramente tienes que crear uno (normalmente un botón).
1
Nota: AutoPlay Media Studio no cuenta con un objeto PDF. Para abrir un documento
PDF en la computadora del usuario, éste debe tener un programa capaz de abrir el documento (por ejemplo Adobe Acrobat Reader).
Abrir un Archivo PPT/PPS de PowerPoint Para abrir una presentación PowerPoint usando AutoPlay Media Studio, utiliza la Acción Rápida “Open Document” para llamar al documento. Usa el botón Browse que está junto a “Document to Open” para seleccionar el archivo PPT/PPS que quieras abrir. Recuerda que tienes que asignarle una Acción Rápida a algún objeto, así que primeramente tienes que crear uno (normalmente un botón). Nota: AutoPlay Media Studio no cuenta con un objeto PowerPoint. Para abrir una
presentación PowerPoint en la computadora del usuario, éste debe tener un programa capaz de abrir la presentación (por ejemplo Microsoft PowerPoint).
Abrir un Archivo QuickTime MOV Para abrir una película QuickTime usando AutoPlay Media Studio, utiliza la Acción Rápida “Open Document” para llamar al documento. Usa el botón Browse que está junto a “Document to Open” para seleccionar el archivo .MOV que quieras quieras abrir. Recuerda que tienes que asignarle una Acción Rápida a algún objeto, así que primeramente tienes que crear uno (normalmente un botón). Nota: AutoPlay Media Studio no cuenta con un objeto QuickTime. Para abrir un
documento QuickTime en la computadora del usuario, éste debe tener un programa capaz de abrir la película (por ejemplo Apple QuickTime). Además, date cuenta que no utilizamos la Acción Rápida “Play Multimedia”. La Acción Rápida “Play Multimedia” es sólo para tipos de archivo multimedia que pueden ser reproducidos en el interior de AutoPlay Media Studio.
Abrir un Sitio Web en un Explorador Externo AutoPlay Media Studio contiene una Acción Rápida incorporada la cual abre un sitio web en el explorador por defecto del usuario: View Website. Esto es útil, por ejemplo, si quieres tener un botón etiquetado como “Company Website” para abrir el sitio web de tu compañía en el explorador por defecto del usuario Para lograr esto, utiliza la Acción Rápida “View Website”: 1. Crea un objeto de Botón.
2
2. Haz doble click en el objeto de Botón, elige la pestaña Quick Action (Acción Rápida) y luego elige View Website como Action to run (Acción a ejecutarse). 3. En el campo Web site, escribe la dirección web de tu compañía. 4. Haz click en OK.
Ajustar el Control de Volumen en Tiempo de Ejecución A manera de ejemplo, crearemos un proyecto con dos botones: un botón que incremente el volumen y otro botón que lo disminuya. 1. Inserta el siguiente código en el evento On Click del botón que incrementa el volumen: audio_channel = CHANNEL_USER1; CHANNEL_USER1; Audio.SetVolume(audio_channel, Audio.GetVolume(audio_channel)+20); 2. Inserta el siguiente código en el evento On Click del botón que disminuye el volumen: audio_channel = CHANNEL_USER1; CHANNEL_USER1; Audio.SetVolume(audio_channel, Audio.GetVolume(audio_channel)-20);
Ajustar el Nivel del Volumen Ajustar el volumen de un canal de audio es útil cuando tú quieres, por ejemplo, no tener música impertinente escuchándose en tu proyecto. Para lograr esto en AutoPlay Media Studio, utiliza la acción Audio.SetVolume. Como un ejemplo, tocaremos un soundtrack como música de fondo y fijaremos el volumen con un máximo de 25%: 1. Inserta el siguiente código en el evento “On Show” de tu página: Audio.Load(CHANNEL_BACKGROUND, "your_audio_here.ogg", true, true); Audio.Load(CHANNEL_BACKGROUND, Audio.SetVolume(CHANNEL_BACKGROUND, Audio.SetVolume(CHANNEL _BACKGROUND, 63); -- fija el e l nivel de volumen en un 25% de 255
3
Ajustar los Atributos de Archivo para Más de un Archivo AutoPlay Media Studio tiene una acción File.SetAttributes File.SetAttributes para para ajustar los atributos de un archivo. Si quieres ajustar los atributos de muchos archivos a la vez, necesitas ejecutar esa acción múltiples veces. Una manera fácil de hacer esto es almacenar la lista de archivos en una tabla, y luego orbitar a través de esa tabla utilizando un bucle for . Cada paso a través del bucle ajustará los atributos para cada uno de los archivos. Una forma sencilla de crear una tabla llena de rutas de archivo es usar la acción File.Find . La acción File.Find regresa una tabla conteniendo una lista de todos los archivos que concuerden con un patrón específico. Como ejemplo, ajustaremos todos los archivos .exe en la carpeta raíz de la unidad C a sólo lectura: 1. Inserta el siguiente script dentro de un evento de tu proyecto: files_to_change = File.Find("C:\\", "*.exe"); -- orbita a través de los archivos para pasarlos a tabla -- y ajusta los atributos de cada archive uno a la vez for index, filename in files_to_change do File.SetAttributes(filename,{ReadOnly=true}); end
Ajustar los Efectos de Transición de Página AutoPlay Media Studio incluye un par de transiciones de página. En lugar de simplemente saltar de una página a la siguiente, y hacer que una página desaparezca y la siguiente aparezca, estas transiciones hacen que una página salte un poco más emocionante. Para lograr esto, utiliza las transiciones de página: 1. En el panel Propiedades de la página, cambia el campo Transition de None a la transición que desees (Dissolve, Slide o Wipe). Ahora, al utilizar una Acción page jump o una page navigate desde esa página, la transición tra nsición que seleccionaste sel eccionaste será utilizada.
4
La transición no afecta a algunos objetos, tales como web, listbox, etc. Para utilizar las transiciones en páginas conteniendo estos objetos, haz lo siguiente: 1. Toma una captura de pantalla de la página completamente renderizada que quieras hacerle la transición. 2. Inserta esta captura de pantalla como una gran imagen hacia la página a la que quieras que se haga la transición. 3. Ajusta la visibilidad de todos los objetos a false, y la visibilidad de la imagen a true. 4. En el evento On Show de esta página, muestra todos los objetos, y oculta la imagen.
Alternar la Música de Fondo a On/Off Es posible en AutoPlay Media Studio tener música de fondo reproduciéndose en tu aplicación. En AutoPlay Media Studio esto se logra usando la Acción Rápida Play/Pause Background Music: 1. Crea un botón. 2. Elige Play/Pause Background Music como la Acción Rápida para el botón.
Añadir una Contraseña de Protección Hay muchos casos donde se le requerirá al usuario introducir información que no debe estar visible en la pantalla, tal como una contraseña. En AutoPlay Media Studio se consigue esto usando una acción ac ción Dialog.PasswordInput.
5
Como un ejemplo, se le requerirá al usuario una contraseña al iniciar un programa, y se comparará con un valor almacenado (en consecuencia se limita el acceso al programa sólo a aquellos que conocen la contraseña). Para lograr esto: 1. Inserta el siguiente script en el evento “On Show” de la página: -- La contraseña “correcta” real_password = "password"; -- Pedir al usuario que escriba la contraseña user_password = Dialog.PasswordInput("Password", "Por favor introduce la contraseña: ", MB_ICONQUESTION); -- Comparar si la contraseña del usuario es la contraseña “correcta”. -- Si el usuario proporciona una contraseña errónea, salir del programa. if real_password ~= user_password then Application.Exit(); end Este script hace que aparezca un cuadro de diálogo requiriendo la contraseña. Cualquier cosa que el usuario escriba en este cuadro de diálogo aparecerá como ******. Si la contraseña correcta es escrita, el programa se abrirá normalmente. Si la contraseña escrita no es la correcta, el programa se cerrará. Alternativamente, tú puedes tener una “lista” de contraseñas válidas. Para lograr esto, almacena tus contraseñas válidas en una tabla: 1. Inserta el siguiente script en el evento “On Show” de tu página: --Suponer que el usuario escribió una contraseña incorrecta correct_password = false; -- La contraseña “correcta” real_passwords = {"password", "password2", "3rdPassword"}; -- Pedir al usuario que escriba la contraseña user_password = Dialog.PasswordInput("Password", " Por favor introduce la contraseña: ", MB_ICONQUESTION); -- Comparar la contraseña del usuario con la contraseña “correcta”. for j in real_passwords do if real_passwords[j] == user_password then correct_password = true; end end --Si la contraseña no es la correcta, salir if not correct_password then
6
Application.Exit(); end Consejo: Como una pequeña variación de esta técnica, puedes almacenar tu lista de
contraseñas en un archivo de texto, y cuando tu aplicación esté abierta, llena una tabla con el contenido de ese archivo de texto. Un ejemplo para pasar un archivo de texto a una tabla lo puedes ver en: “¿Cómo leer líneas específicas de un archivo de texto?”.
Añadir un Hipervínculo o un Hotspot a un Objeto Añadir un hipervínculo a un proyecto es útil si deseas que un usuario al hacer click en una parte de tu proyecto pueda obtener más información. Esto se logra en Autoplay Media Studio usando el evento “On Click” de un objeto. Ejemplo 1:
Como un ejemplo, asumamos que quieres saltar a la Página 2 cuando el usuario hace click sobre la frase “Continue…” dentro de un Paragraph Object. Para el propósito de este ejemplo, asumiremos también que tú tienes el siguiente párrafo en tu proyecto:
1. Utiliza un Hotspot Object y colócalo sobre la frase “Continue…” en tu Paragraph Object 2. En la ficha “Quick Action” del Hotspot Object, elige “Show Page” como Action to run, luego elige “Specific Page” en Page to show, y elige “Page 2” en Page name.
Ejemplo 2:
Para obtener efectos “mouseover” (el texto cambia de color cuando tú posicionas el ratón encima de la palabra “Continue…”) no utilices un Hotspot, en vez de esto utiliza un segundo Paragraph Object que contenga sólo el texto que el “mouseover” debería cambiar: 1. Crea un Paragraph Object que contenga solamente la palabra “Continue…” 2. Coloca ese objeto exactamente sobre la frase “Continue…” en tu párrafo más grande.
7
Consejo: Usa las flechas del teclado para posicionar exactamente tu segundo Paragraph Object. 3. Selecciona el color que quieras para el “mouseover”. En la ficha Quick Action de este Paragraph Object elige “Show Page” en Action to run; elige “Specific Page” en Page to show, y elige “Page 2” en Page name. También puedes hacer que al posicionar el ratón sobre un objeto de párrafo párra fo cambie de dibujo el cursor del ratón; para ello ve a la ficha “Attributes” y selecciona “Hand” en Cursor y listo.
Ejemplo 3:
Para incluir hipervínculos en un archivo de texto sin utilizar un Hotspot Object o un Paragraph Object, incrusta un archivo HTML en tu proyecto usando un Web Object. Cuando el usuario hace click sobre un enlace en este archivo incrustado, tu proyecto puede ejecutar cualquier acción que elijas: 1. Crea un Web object y cárgale el archivo HTML deseado. 2. Ve a “¿Cómo interactuar con Web objects incrustados?” para establecer la navegación en tu proyecto, y para un ejemplo de un simple archivo HTML. Nota: Esta es la mejor manera de incluir hipervínculos si tu texto no es estático con
relación a la página. Mientras que un Paragraph Object o un Hotspot Object son estacionarios, los vínculos dentro de un archivo HTML se mueven dinámicamente basados en el tamaño del Web object en tiempo de ejecución.
Aplicar Cambios a Múltiples Objetos Con frecuencia es útil poder cambiar las propiedades de varios objetos a la vez. Para lograr esto en AutoPlay Media Studio: 1. 2. 3. 4.
Selecciona el primer objeto. Mantén oprimida la techa Ctrl de tu telado. Selecciona los demás objetos que desees. Suelta ahora la tecla Ctrl.
Cualquiera de las propiedades que estén disponibles para todos los objetos que seleccionaste, estarán visibles en el Panel Propiedades (Properties Pane). Ahora puedes hacer los cambios que requieras. Consejo: Cuando selecciones múltiples objetos, el mantener oprimida la tecla Shift de
tu teclado tiene las mismas funciones que mantener oprimida la tecla Ctrl.
8
Auto-Guardar Auto-Guardar Mi Proyecto Los apagones de luz o “congelamientos” de las computadoras son inevitables, incluso pareciera que esto ocurre a propósito en el peor momento posible. AutoPlay Media Studio tiene una opción incorporada para grabar tu proyecto en un intervalo de tiempo que tú elijas. Para habilitar esta opción: 1. Ve al menú Edit > Preferences. 2. Haz click en Document. 3. Habilita la característica Auto Save y elige el intervalo de tiempo para el autoguardado. 4. Haz click en OK.
Bloquear Objetos En AutoPlay Media Studio es posible bloquear tus objetos a la página de modo que no puedan ser s er movidos a ninguna posición o ser editados al hacer doble click cli ck sobre ellos. El bloquear tus objetos los hace aparecer como si fueran parte del fondo. Si haces doble click sobre un objeto bloqueado, la ventana Page Properties será mostrada. Nota: Aunque un objeto esté bloqueado, aún puedes editarlo desde el panel
Propiedades. Para bloquear un objeto: 1. Selecciona el objeto deseado. 2. Haz click derecho sobre el objeto. 3. Elige Lock. Para desbloquear un objeto: 1. Selecciona el objeto deseado. 2. Haz click derecho sobre el objeto. 3. Deshabilita Lock.
Caducar mi Aplicación Después de Treinta Días Para hacer que tu Aplicación expire después de treinta días, almacena en el registro la fecha en que el programa fue ejecutado por primera vez, y cada vez consecutiva que el programa es corrido, corri do, compara el registro re gistro con la fecha de expiración expirac ión (30 días después de que tu programa por primera vez se instaló) Para lograr esto:
9
1. Inserta el siguiente código dentro del evento On Startup de tu proyecto: -- Inicializar variables days_left = 30; date_installed = Application.LoadValue("My Application ", "Date Installed"); time_limit = 30; --la duración del periodo de prueba, en días -- Convertir el valor de la cadena a número date_installed = String.ToNumber(date_installed); -- Fue date_installed 0 (inexistente)? if date_installed == 0 then -- El valor fue inexistente, créalo Application.SaveValue("My Application", "Date Installed", System.GetDate(DATE_FMT_JULIAN)); else -- Actualizar días que quedan days_left = (date_installed + time_limit) - System.GetDate(DATE_FMT_JULIAN); end -- Hay días remanentes? if days_left < 1 then -- No hay días remanentes, alertar al usuario y salir. Dialog.Message("Fin del Periodo de Prueba", "Este software ha expirado"); Application.Exit(); else -- Aún quedan días, alertar al usuario cuántos Dialog.Message("Periodo de Prueba", "Te quedan "..days_left.." días en tu periodo de prueba."); end
Caducar mi Aplicación después de Cierta Fecha Para hacer que tu aplicación expire después de cierta fecha, fija una variable en tu programa para la fecha de vencimiento, y cada vez que el programa sea corrido, compara la fecha actual contra ese valor. Si tu programa ha expirado, se cerrará. Para lograr esto: 1. Inserta el siguiente código dentro del evento On Startup de tu proyecto: --Inserta tu fecha de expiración aquí, con formato YYYYMMDD --(sin espacios, guiones, abreviaturas, etc., sólo usa números) --Abajo está la fecha 12 de Diciembre de 2003 Expiration_Date = "20031212" --Obtén la fecha del sistema en formato ISO
10
--Fecha = YYYY-MM-DD Date = System.GetDate(DATE_FMT_ISO); --Quita los guiones en la fecha del formato ISO --para reflejar el formato de nuestra fecha de expiración --Fecha == YYYYMMDD Date = String.Replace(Date, "-", "", false); --comprobar si la aplicación ha expirado if Date > Expiration_Date then --La aplicación ha expirado Dialog.Message ("Aplicación Vencida!", "Tu copia de esta aplicación ha expirado! Este programa se cerrará ahora."); Application.Exit(); end Al intentar abrir tu aplicación, se desplegará un mensaje de diálogo como el siguiente:
Caducar mi Aplicación Después de Cierto Número de Ejecuciones Para hacer que tu aplicación expire después de cierto número de ejecuciones, almacena un valor en el registro la primera vez que el programa es corrido, y lo incrementa cada vez consecutiva que el programa es corrido. Entonces, cada vez que el programa se ejecuta, verifica el valor almacenado. Para lograr esto: 1. Inserta el siguiente código dentro del evento On Startup de tu Proyecto: -- Fija el número de veces permitido times_allowed = 30; -- Recupera el número de veces que se ha corrido y convierte el valor en número times_run = Application.LoadValue("Mi Aplicación", "Ha Sido Corrida"); times_run = String.ToNumber(times_run);
11
-- Calcula el número permitido de veces que quedan para poder correrlo times_remaining = (times_allowed - times_run) -- Verifica si esta es la primera vez que la aplicación ha sido corrida -- Guarda el valor del nuevo número de veces que se ha corrido if times_run == 0 then Application.SaveValue("Mi Aplicación", "Ha Sido Corrida ", "1"); else Application.SaveValue("Mi Aplicación", "Ha Sido Corrida ", (times_run + 1)); end -- Verifica si la aplicación ha sido corrida más veces que las permitidas if times_run > times_allowed then Dialog.Message("Fin del Periodo de Prueba", "Este software ha expirado"); Application.Exit(); else Dialog.Message("Periodo de Prueba", "Puedes ejecutar este Programa "..times_remaining.." veces más."); end
Cambiar el Icono de la Aplicación Para cambiar el icono que tu aplicación usa: 1. 2. 3. 4.
Haz click en el menu Project > Settings Activa la casilla “Custon Icon” en Options. Haz click en “Browse” y elige el icono que quieras usar. Haz click en OK.
Nota: Cualquier otro icono personalizado que tú elijas debe estar en el formato .ICO (que es el estándar de Windows)
Cambiar el Tamaño de Página En AutoPlay Media Studio, el tamaño predeterminado de un proyecto es de 630 pixeles de ancho por 425 pixeles de alto. Si tu proyecto requiere diferentes dimensiones, cambia el tamaño de la ventana en el cuadro de diálogo Project Settings: 1. Ve al menú Project > Settings. 2. Cambia el tamaño de la ventana en “Width” y “Height” a los valores que quieras, y haz click en OK.
12
Cambiar el Texto de la Barra de Título Para cambiar el texto que aparece en la barra de título de tu aplicación: 1. Ve al menú Project > Settings. 2. Escribe el título de tu elección en el área de Window Title. 3. Haz click en OK.
Cargar y Mostrar un Archivo de Texto Para desplegar una gran cantidad de texto en tu página, utiliza la acción TextFile.ReadToString y muestra los resultados en un objeto de párrafo. Para lograr esto en AutoPlay Media Studio: 1. Elige el menú Object > Paragraph. 2. Inserta el siguiente código dentro de cualquier evento en tu aplicación: text = TextFile.ReadToString("AutoPlay\\Docs\\large_text.txt"); Paragraph.SetText("Paragraph1", text); Nota: Acuérdate de añadir un archivo con extensión .txt en la carpeta Docs de
Autoplay. Este archivo de texto debe ser grande y tiene que llevar por nombre large_text.
Cerrar Mi Aplicación Inmediatamente Normalmente para cerrar tu aplicación, deberías usar la acción Application.Exit(). Sin embargo, si necesitas que tu aplicación termine inmediatamente, en vez de usar Application.Exit(), usa el siguiente código: Window.Close(Application.GetWndHandle(), CLOSEWND_TERMINATE); CLOSEWND_TERMINATE);
Comparar Dos Strings (Cadenas) Las comparaciones de String son ejecutadas de la misma forma que las comparaciones de números. A manera de ejemplo, crearemos dos Springs, y ejecutaremos una acción basada en sus contenidos: 1. Crear dos variables conteniendo strings:
13
String1 = "Soy String1"; String2 = "Soy String2"; 2. Comparar las dos strings: if String1 == String2 then --las dos strings son iguales else -- las dos strings no son iguales if String1 > String2 then --String1 es alfabéticamente más grande que String2 elseif String1 < String2 then --String1 es alfabéticamente más pequeña que String2 end end Nota: Si quieres comparar las longitudes de las dos strings, debes usar la acción
String.Length: if String.Length(String1) == String.Length(String2) then --las dos strings tienen la misma longitud end Consejo: Para ejecutar la comparación de dos strings en un caso no sensible, usa una
acción String.CompareNoCase.
Copiar un Archivo o una Fuente en el Disco Duro Con frecuencia es útil copiar un archivo desde el CD-ROM (o desde otro medio) a la computadora del usuario. En AutoPlay Media Studio, esto se logra con una acción File.Copy. A manera de ejemplo, cargaremos una fuente específica dentro de la computadora del usuario: --obtener el directorio de destino (en este caso, donde las fuentes están almacenadas) fonts_dir = Shell.GetFolder(SHF_FONTS); --copiar el archivo desde tu CD al directorio de fuentes del usuario File.Copy(_SourceFolder .. "\\my_font.ttf", fonts_dir..\\"my_font.ttf", false, true, false, true, nil); --registrar la fuente en Windows System.RegisterFont(fonts_dir .. "\\myfont.ttf", "My Font Name", true);
14
Crear un Botón que Cierre la Aplicación En AutoPlay Media Studio, para crear un botón que cierre la aplicación haz lo siguiente: 1. Ve al menú Object > Button y selecciona un archive de botón para usar. 2. Haz doble click en el botón que acabas de incorporar, luego haz click en la ficha Quick Action. 3. Selecciona Exit/Close en Action to run. 4. Haz click en OK.
Crear un CD de Modo-Mixto Los CD’s pueden ser creados en modo mixto, es decir, CD’s que contienen tanto aplicaciones para usarse en una computadora como pistas de música para usarse en un reproductor estándar de CD’s. Los CD’s de modo mixto son frecuencia usados para crear un CD de audio “enriquecido” el cual se reproduce normalmente en un reproductor regular de CD y presenta contenido multimedia adicional cuando es colocado en el CD-ROM de una computadora. Hay tres tipos básicos de CD’s de Modo-Mixto:
Datos en Pista 1 Descripción: Este tipo de CD de modo mixto coloca la pista de datos como la primer pista de música en el disco. Pros: El CD es grabado como ROM Modo 1, por ello puede ser reproducido prácticamente en cualquier unidad de CD-ROM. Contras: Algunos reproductores de CD intentarán reproducir la pista datos. La mayoría de los reproductores nuevos pasarán por alto la pista debido a que está listada como “datos” en la tabla de contenidos del CD, pero algunos reproductores intentarán reproducir la pista de datos como audio, dando como resultado un sonido ruidoso (como el “chillido” de un fax). Este método es usado típicamente sólo en situaciones donde sea improbable que el CD vaya a ser reproducido en un reproductor de CD de audio.
15
Pre-Gap / Track-Zero Descripción: Este tipo de CD de modo mixto oculta la pista de datos en la pausa antes de que la pista 1 comience. Pros: Los reproductores de CD más viejos normalmente no intentan reproducir la pista de datos. Contras: Si el usuario rebobina el CD hasta la pista de datos, los datos pueden ser reproducidos como audio, dando como resultado un ruido desconcertante. Este tipo de CD no se amolda en el estándar oficial y puede ser no-compatible con algunos reproductores o sistemas operativos.
CD Extra o CD Enriquecido Descripción: Este tipo de CD de modo mixto contiene dos sesiones (disco multi-sesión). La primera sesión contiene más de 98 pistas de audio, y la segunda sesión contiene la pista de datos. Los reproductores de CD de audio sólo pueden “ver” la primera sesión, y por ello no reproducirán la pista de datos. La mayoría de las unidades de CD-ROM pueden “ver” ambas sesiones, y cargarán tu aplicación AutoPlay. Pros: Incluso los reproductores de CD más viejos no reproducirán la pista de datos, así que los oídos y bocinas del usuario están seguras de daño. Este formato es el más compatible tanto para reproductores de CD stand-alone como para unidades de CD-ROM. Contras: Los CD´s enriquecidos no se pueden reproducir en reproductores Photo CD. Se requiere una unidad de CD-ROM que pueda leer discos multi-sesión.
16
Conclusión Nuestra Sugerencia: Te sugerimos que utilices el tipo “CD Enriquecido”, debido a que cuenta con mayor compatibilidad. Comúnmente cualquier CD-ROM creado para Windows 95 o superior soporta este formato. Los archivos de datos serán reconocidos en el Explorador de Windows como si no hubiera pistas de audio, ya que el Explorador de Windows normalmente sólo puede ver la última sesión en un disco multi-sesión. Por otra parte, los reproductores de audio normalmente sólo ven la primer sesión en un disco multi-sesión. Por esto, los reproductores de audio de CD-ROM y los stand-alone pueden reproducir las pistas de audio. Quemar un CD Enriquecido (CD Extra) con Nero: Para quemar un CD Enriquecido con Nero Burning ROM (6.0 o superior): 1. Selecciona “CD Extra” e ingresa tu configuración deseada. 2. Agrega tus pistas de audio arrastrando tus archivos de audio a la ventana de la pista . 3. Agrega tus archivos de datos arrastrándolos a la carpeta de la estructura de la ventana.
Crear un CD-ROM Navegador de Windows En AutoPlay Media Studio se puede abrir una carpeta de la computadora del usuario, ya sea dentro de tu proyecto, o en una ventana externa (lo mismo que al hacer doble click sobre una carpeta de tu escritorio). Es posible abrir una carpeta en vista para explorar (de la misma forma que usando el Explorador de Windows)
Abrir una carpeta dentro de tu proyecto: 1. Crea un Web Object, y nómbralo Web1. 2. Llama la acción Web.LoadURL: Web.LoadURL("Web1", "C:\\"); Nota: Si el usuario no tiene el Explorador de Internet 4.0 o superior como su explorador
predeterminado, la vista de la carpeta será en HTML, y no basada en Windows.
17
Abrir una carpeta en una ventana externa: 1. Llama la acción File.Open: File.Open("C:\\", "", SW_SHOWNORMAL);
Abrir una carpeta en una ventana del Explorador: 1. Llama la acción File.ExploreFolder: File.ExploreFolder("C:\\", SW_SHOWNORMAL); Consejo: Si tu proyecto está siendo corrido desde la unidad de CD-ROM del usuario y
deseas explorar el CD-ROM desde tu aplicación en Autoplay, utiliza _SourceFolder como la ruta para explorar/abrir.
Crear un Explorador de Archivos En AutoPlay Media Studio es posible tener una lista de archivos que el usuario pueda abrir haciendo click sobre ellos. A manera de ejemplo, crearemos una listbox con dos opciones de película en ella. El usuario hará click en uno de los archivos y clickeará un botón para abrir el archivo. 1. Crear un objeto listbox 2. Agregar los nombres de la película en la columna Item Text y la ruta de las películas en la columna Item Data. 3. Crear un botón. 4. En el evento On Click de la ficha Script del botón, añade el siguiente script: selected = ListBox.GetSelected("ListBox1"); file = ListBox.GetItemData("ListBox1", selected[1]); File.Open(file, "", SW_SHOWNORMAL) Nota: Si tienes habilitada la opción de Multiple Selection en tu listbox, el ejemplo de
arriba sólo abrirá el primer archivo seleccionado Consejo: Quizás podrías añadir algo para prevenir errores que puedan ocurrir. Uno de
esos errores sería si el usuario hace click en la listbox pero no selecciona nada. El script de arriba comenzaría bien, pero la línea 2 fallaría porque selected[1] sería nulo. Puedes usar una declaración “if” para que revise en busca de valores nulos:
18
if (selected) then -- Hay por lo menos un item seleccionado, ponga sus acciones aquí end
De este modo, no ocurre nada a menos que algo sea seleccionado (los errores nulos asociados son prevenidos).
Crear un Mapa de Imagen Los mapas de imagen son usados para hacer varias localizaciones dentro de una imagen “hot” o clikeable. Para lograr esto en AutoPlay Media Studio: 1. Crea una imagen en un editor de imágenes externo. En tu proyecto utiliza un Hotspot object para cada área clickeable:
2. Agrega una acción para cada Hotspot object en el evento On Click para lograr la tarea deseada. Por ejemplo, para abrir un Explorador Web, usa la acción: File.OpenURL("http://www.indigorose.com/", SW_SHOWNORMAL);
Consejo: Al pasar el ratón en alguno de los botones de la izquierda se puede visualizar
alguna imagen en el área de la derecha que permita al usuario darse una idea del contenido de cada opción.
Crear un Unico Archivo Ejecutable Una vez que hayas terminado la creación de tu aplicación, AutoPlay Media Studio ofrece la opción de publicar tu proyecto en un simple ejecutable. Cuando el usuario corre este archivo, con ello extrae el contenido a un directorio temporal y lanza tu aplicación. Cuando tu aplicación es cerrada, el directorio temporal y su contenido son borrados. Para convertir tu proyecto en un archivo ejecutable:
19
1. 2. 3. 4. 5.
Ve al menú Publish > Build. Selecciona Web/Email executable. Haz click en Next. Introduce la ruta y el nombre de archivo deseados. Haz click en Build.
Nota: El seleccionar la opción “Encrypt data segment” no afecta la manera en la que el
usuario corre tu programa. Más bien esta opción de encriptado genera una contraseña al azar previniendo que el usuario quiera descomprimir el archivo ejecutable y así evitar que tenga acceso a los archivos de tu proyecto.
Crear una Aplicación Multilenguaje Para crear un proyecto que soporte más de un lenguaje, crea un proyecto para cada lenguaje que desees que soporte, y un proyecto maestro para decidir cual proyecto lanzar. En tu proyecto maestro, usa una acción System.GetDefaultLangID para determinar cuál es el lenguaje predeterminado del usuario, y así lanzar el archivo del proyecto apropiado. Otra posibilidad es determinar el lenguaje ID en el evento On Preload y entonces saltar a una página en particular o incluso presentarle opciones disponibles que lo redirijan a la sección apropiada de una sola aplicación.
Crear una Función Callback Personalizada Habrá ocasiones en las que querrás personalizar la manera en que la información es desplegada a tus usuarios cuando ciertas acciones son ejecutadas. Para hacer esto, tendrás que crear una función callback personalizada. Para ver un ejemplo de una función callback personalizada, favor de ver el tema Ejemplos de Ejemplos de Funciones Callback .
Crear una Tabla de Contenidos (Un Indice) Una forma de navegar a través de una aplicación con multi-páginas es utilizar una página de Tabla de Contenidos. En AutoPlay Media Studio esto se logra creando una página al principio de tu proyecto e incorporando un objeto navegante (por ejemplo un botón) para cada página hacia donde quieras dirigirte.
20
A manera de ejemplo, crearemos un proyecto con tres páginas (una página para la Tabla de Contenidos, y dos páginas con el contenido) donde la Página 1 es la Tabla de Contenidos, y las Páginas 2 y 3 son las páginas con el contenido: Para la primer página: 1. Crea dos botones. 2. En la pestaña Quick Action del primer botón, elige Show Page como action to run, elige Specific Page y Page 1 como Properties. 3. En la pestaña Quick Action del segundo botón, elige Show Page como action to run, elige Specific Page y Page 2 como Properties. Nota: Es posible que quieras crear un botón de regreso en cada una de tus páginas de
contenido para volver a la Tabla de Contenidos. Esto de logra exactamente de la misma manera descrita arriba. Simplemente tienes que especificar cuál página deseas que se muestre en las opciones de Show Page de la pestaña Quick action.
Crear una Ventana que no sea Rectangular Si una ventana rectangular normal es inapropiada para tu proyecto, es posible crear una ventana de forma personalizada. Para lograr esto en AutoPlay Media Studio primero crea una máscara de transparencia con un editor de imágenes externo (por ejemplo con CorelDraw o Illustrator). 1. Para crear una máscara de transparencia, crea una imagen que tenga las mismas dimensiones de tu proyecto. 2. Ahora dibuja la forma de la ventana que quieras. Lo que desees que esté visible hazlo blanco, lo que desees que esté oculto hazlo negro:
3. Guarda tu imagen como archivo ar chivo png.
21
4. Una vez que la máscara ha sido creada, abre un proyecto en blanco en AutoPlay, luego abre el Menú Project > Settings. Click en la pestaña Appearance, habilita la casilla Custom Mask, luego haz click en Browse y selecciona tu imagen. Ahora en tiempo de ejecución, tu proyecto tomará la forma de tu máscara. Consejo: Si la imagen de tu máscara de transparencia no tiene las mismas dimensiones
que la ventana de tu aplicación, puedes habilitar la opción “Fit to window” en el cuadro de diálogo Project Settings para ajustar el ancho y el alto de la imagen de tu máscara a las dimensiones de tu ventana.
Desplegar Texto y/o Imágenes con Eventos MouseOver (Ratón Encima) La mayoría de los objetos en AutoPlay Media Studio tienen dos eventos útiles para efectos mouseover: On Enter y On Leave. A manera de ejemplo, crearemos un botón que con mouseover (ratón encima) desplegará una imagen, y con mouseout (ratón fuera) ocultará la imagen: 1. Crea un objecto de imagen. 2. Fija su estado visible por defecto como false. Para hacer esto haz doble click sobre la imagen para abrir sus propiedades, luego selecciona la pestaña Attributes y desactiva la opción “Visible”. 3. Ahora crea un objeto de botón. 4. En el evento On Enter del botón, introduce el siguiente script: Image.SetVisible("Image1", true); 5. En el evento On Leave del botón, introduce el siguiente script: Image.SetVisible("Image1", false); Nota: Cuando el ratón del usuario esté sobre el botón, el objeto de imagen aparecerá.
Cuando el ratón del usuario abandone el botón, el objeto de imagen desaparecerá. Consejo: Para hacer que aparezca texto en un mouseover, sigue los pasos anteriores,
pero con un Objeto de Párrafo en lugar l ugar de un Objeto de Imagen. Además debes sustituir susti tuir Image.SetVisible por Paragraph.SetVisible.
Desplegar un Diálogo Guardar Como (Save As) Un cuadro de diálogo Guardar Como es con frecuencia presentado para permitir al usuario que seleccione una ubicación para guardar un archivo. Para desplegar un cuadro de Diálogo Guardar Como usando AutoPlay Media Studio:
22
1. Crea una acción Dialog.FileBrowse. Establece la propiedad FileOpen como false: file=Dialog.FileBrowse(false, "Save As", "c:\\", "All Files (*.*)|*.*|", "", "", false, true); Nota: El archivo es una tabla. En el ejemplo de arriba, la selección de archivos
múltiples no está permitida. Para acceder a la ruta devuelta por la acción FileBrowse, utiliza file[1] como una variable. Esto obtiene el valor desde la primera posición de la tabla. 2. Si estás usando el diálogo Guardar Como para copiar un archivo desde tu CD a el sistema del usuario, debes usar un comando File.Copy después de que el diálogo Guardar Como ha sido desplegado File.Copy("c:\\example.exe", file[1], false, false, false, false, nil);
Detectar Cuál Sistema Operativo está siendo Utilizado AutoPlay Media Studio incluye una acción para detectar qué Sistema Operativo está corriendo: 1. Agrega el siguiente script a cualquier evento en tu aplicación para almacenar la versión del Sistema Operativo del usuario en una variable OS_Name: OS_Name = "OS Name: " .. System.GetOSName(); Nota: AutoPlay tiene otra función integrada: System.GetOsVersionInfo(), la cual
regresa información de la versión del Sistema Operativo del usuario en una tabla.
Detectar qué versión de Internet Explorer está Instalada Para detectar la versión de Internet Explorer que está instalada en el sistema del usuario: 1. Habilita la dependencia Internet Explorer Nota: Si quieres detectar la versión de Internet Explorer, pero no requieres que el
usuario la tenga instalada, fija la versión requerida en 0.0.0.0 2. Inserta el siguiente Script en el evento On Show de la primer página: if _InternetExplorerVer == "0.0.0.0" then Dialog.Message("Internet Explorer", "Internet Explorer is not installed"); else
23
Dialog.Message("Internet Explorer", "la versión Internet Explorer" .. _InternetExplorerVer .. " está instalada en este sistema"); end Nota: El script anterior desplegará un cuadro de diálogo en tiempo de ejecución
mostrando la versión del Internet Explorer que la computadora del usuario tenga instalada.
Detectar el Final de una Película Flash En AutoPlay Media Studio es posible detectar el momento en que una película Flash finalizó usando un FSCommand. Esto es útil si, por ejemplo, quieres navegar a otra página una vez que tu película Flash ha terminado. Para lograr esto: 1. En Macromedia Flash: Crea una película Flash la cual contenga un FSCommand en el fotograma final de la línea de tiempo: fscommand("quit", ""); 2. Inserta el siguiente código dentro del evento On FSCommand de tu objeto Flash if e_FSCommand == "quit" then -- Cualquier script que pongas aquí, se ejecutará cuando tu película Flash termine. end
Detectar si el Acceso a Internet está Disponible Si tu aplicación va a utilizar Internet en algún sentido, puedes verificar y asegurarte que el usuario tiene acceso a Internet antes de continuar, y si no es así, advertir al usuario para que se conecte. Para lograr esto en AutoPlay Media Studio: 1. Introduce el siguiente script dentro de un evento en tu aplicación: connected = HTTP.TestConnection("http://www.indigorose.com", 20, 80, nil, nil); if connected then --Insert your internet related action here else Dialog.Message("Error de Internet", "No estás conectado a Internet. Esta aplicación se cerrará");
24
Application.Exit(); end Este script verifica si el usuario está conectado a Internet. Si después de de 20 segundos segundos el programa no puede encontrar una conexión de Internet válida, lo notifica al usuario y sale de la aplicación.
Determinar cuando la Reproducción de un Video ha Finalizado En AutoPlay Media Studio, es posible ejecutar una acción una vez que tu video ha completado su reproducción. Algunos usos para esto incluyen redirigir al usuario a tu sitio Web después de que el video terminó, o redirigirlo a otro video. Para lanzar tu sitio Web cuando un video ha finalizado, coloca el siguiente Script en el evento On Finish del Video Object: File.OpenURL("http://www.indigorose.com/", SW_SHOWNORMAL);
Determinar el Lenguaje del Sistema Operativo En AutoPlay Media Studio, para determinar el lenguaje del Sistema Operativo del usuario y almacenarlo en una variable user_language: user_language = System.GetDefaultLangID; Nota: user_language es una tabla, y puede hacerse referencia a ella con user_language.Primary y user_language.Secondary
Determinar la Cantidad de Espacio Libre en una Unidad Cuando se instala software en el Sistema del usuario, es útil asegurarse que se tiene suficiente espacio libre en su disco duro para alojar dicho software. Para lograr esto en AutoPlay Media Studio: 1. Inserta el siguiente código dentro de cualquier evento de tu aplicación:
25
--espacio requerido, en megabytes space_required = 253 --obtener el espacio libre del sistema del usuario (en este caso de la unidad C) space_available = Drive.GetFreeSpace("C:"); --comparar el espacio libre disponible con el espacio libre requerido if space_required > space_available then Dialog.Message("","Necesitas "..(space_required - space_available).." MB más"); else Dialog.Message("","Tienes "..(space_available - space_required).." MB más que los necesarios"); end Nota: La variable space_required debes fijarla tú. 253 es un número arbitrario.
Determinar la Letra de la Unidad del Disco Duro Primario Para determinar cuál es el disco duro principal del usuario en AutoPlay Media Studio, utiliza la acción Drive.Enumerate, y toma nota de la primera unidad fija (es decir, el disco duro principal). Introduce el siguiente código dentro de cualquier evento en tu aplicación: -- Obtener una lista de todas las unidades en el sistema del usuario drives = Drive.Enumerate(); -- Ir directo a la lista for j in drives do -- Obtener el tipo de unidad type = Drive.GetType(drives[j]); -- Verificar si el tipo de unidad es fija if type == 3 then -- Es fija, registra la letra de la unidad y abandona el script first_hdd = drives[j]; break; end end -- Resultado de salida para el usuario Dialog.Message("", "El disco duro principal del usuario es "..first_hdd);
26
Determinar si una Red (LAN) está Presente En AutoPlay Media Studio, para determinar si un usuario está conectado a una LAN: 1. Inserta el siguiente código dentro de cualquier evento en tu aplicación: lan = System.GetLANInfo(); lan_exist = true; for j in lan do if lan[j] == "Unknown" then lan_exist = false; end end if lan_exist then Dialog.Message("", "Estás conectado a una LAN"); else Dialog.Message("", "No estás conectado a una LAN"); end Nota: Este ejemplo trabaja en Windows 98 Primera Edición, Windows 98 Segunda
Edición, Windows 2000 y Windows XP. Windows 95 y Windows NT no se adaptan a este modelo. Para detectar una conexión LAN en todos los sistemas operativos, primero detecta el sistema operativo del usuario e introduce un Script de detección adecuado.
Dimensionar mi Aplicación a Medidas de Pantalla Particulares La forma más fácil de asegurar que tu proyecto se reproduzca en cualquier computadora es diseñarlo al más bajo común denominador. Cada sistema de computadora capaz de correr un archivo generado en e n AutoPlay puede soportar una resolución r esolución de 640x480. Nuestro tamaño de proyecto por defecto es compatible con una resolución de 640x480. Si deseas tener un proyecto que abarque la pantalla completa del usuario, no importando su resolución, la forma más fácil es diseñar un proyecto separado para cada resolución. También crear un proyecto “maestro” que determine la resolución del usuario (System.GetDisplayInfo), y tenerlo para lanzar la aplicación al tamaño apropiado. Si estas dos opciones son inaceptables, AutoPlay incluye acciones para redimensionar y reposicionar objetos de tu página. Del mismo modo, como en la versión 7, los objetos y la ventana de tu aplicación pueden ser redimensionables, y cada vez que la ventana es redimensionada el evento del proyecto On Size es detonado.
27
Duplicar Objetos Para duplicar un Objeto en AutoPlay Media Studio: 1. Selecciona el objeto deseado (haciendo click izquierdo sobre él una vez). 2. Ve al menú Edit > Duplicate. (También puedes presionar Ctrl+D si prefieres usar el teclado.) Nota: Esto duplica el objeto, incluyendo todas las propiedades configuradas y todos los
scripts de los eventos. Todas las referencias del objeto duplicado son absolutas, no relativas Para duplicar un objeto usando referencias relativas, usa “this” en lugar del nombre del objeto en todos los scripts. Como ejemplo, crearemos un objeto de botón que con ratón encima cambia su texto a “ratón”, y con el ratón fuera cambia su texto a “gato”: 1. Inserta el siguiente código dentro del evento On Enter de tu botón: Button.SetText(this, "Ratón"); 2. Inserta el siguiente código dentro del evento On Leave de tu botón: Button.SetText(this, "Gato"); Nota: Cuando este objeto es duplicado, el texto del nuevo objeto cambiará, y dejará el
texto original intacto.
Ejecutar Adobe Acrobat Reader Directamente desde el CD-ROM Esto es mucho más fácil que simplemente requerir a los usuarios que instales el Adobe Acrobat Reader ellos mismos desde el sitio web de Adobe. Puedes entonces simplemente utilizar una acción File.Open para ver el archivo PDF. Si requieres otra opción, por favor lee la siguiente información, pero debes estar al tanto que Indigo Rose no puede proporcionarte más asistencia o guía legal sobre los detalles de implementación. 1. Instala Acrobat Reader (4.0 o superior) en una PC sin Acrobat. 2. Arrastra la carpeta \Acrobat x.x\ y todo su contenido dentro de tu carpeta de distribución. (CD_ROOT) *Este directorio es normalmente encontrado en c:\program files\adobe\ directory. Nota: La carpeta “Acrobat x.x” no es 100% compatible con algunos de los estándares
nombrados ISO, y por ello puedes tener la necesidad de renombrar algunos de tus archivos o carpetas.
28
3. Crea la carpeta "instalador" en la carpeta "Acrobat x.x", y copia el instalador Adobe Acrobat ahí. Las cláusulas de licencia para el Reader requieren que incluyas: - El instalador Acrobat Reader, exactamente como es proporcionado por Adobe. - El Acuerdo de Licencia Electrónico de Usuario Final del Acrobat Reader. (Este es un archivo .TXT que Reader instala en \Acrobat x.x\Reader\) - Derechos de Autor y otras noticias del propietario incluidas en Acrobat Reader. (Asumiendo que copias todos los archivos en la carpeta \Acrobat x.x\Reader\ tendrás todo lo necesario, excepto el instalador Acrobat Reader). 4. Utiliza la siguiente acción para abrir tu documento PDF usando el lector en tu CD: path_short = File.GetShortName(_SourceFolder); File.Run("Acrobat 5.0\\Reader\\AcroRd32.exe", path_short .. "\\AutoPlay\\Docs\\luabook1.pdf", "", SW_SHOWNORMAL, false); Nota: El acrobat reader no es instalado en el sistema del usuario, sino que es ejecutado
desde tu CD.
Ejecutar en Modo Full Screen (Kiosk) AutoPlay Media Studio tiene una opción para correr tu aplicación en modo full screen (pantalla completa). Este modo no cambia de tamaño tu proyecto a full screen, sino que más bien llena el espacio circundante con un color de fondo de tu elección. Para habilitar esta opción: 1. 2. 3. 4.
Elige el menú Project > Settings. En la pestaña “Appearance” selecciona la opción de Estilo Kiosk. Selecciona tu color de fondo deseado. Haz click en OK.
Ejecutar mi Aplicación Sólo Una Vez Para correr tu aplicación sólo una vez (por ejemplo, la primera vez que el usuario inserta tu CD-ROM, y no otra vez) coloca el siguiente código en el evento On Startup de tu proyecto: --recupera o regresa el valor del registro. Si la clave no existe, result = "" result = Application.LoadValue("Application_Name", "First_Time"); --si no hubo una clave, el programa nunca ha sido corrido if result == "" then Application.SaveValue("Application_Name", "First_Time", "yes");
29
Dialog.Message("Mensaje", "Esta es la primera vez que este programa se ha corrido"); else Application.Exit(); end También puedes utilizar Window.Close(Application.GetWndHandle(), CLOSEWND_TERMINATE) en lugar de Application.Exit(). Esto cerrará la ventana antes de que la ventana misma aparezca (es decir, el usuario no verá nada).
Consejo:
Ejecutar un Archivo Ejecutable AutoPlay Media Studio incluye una Quick Action (Acción Rápida) para lanzar un archivo ejecutable. Esto es útil, por ejemplo, cuando creas una sección de entrada para tu instalador. Cuando el usuario hace click sobre un objeto etiquetado como “Instalar”, tu aplicación lanza tu programa de instalación. Esto se logra en AutoPlay Media Studio usando la Acción Rápida “Run Program”. Puedes especificar sólo un archivo a ejecutarse así como los argumentos de la línea de comandos y la carpeta de trabajo.
Ejecutar un Programa y Esperar a que éste Finalice Al utilizar AutoPlay Media Studio, puedes lanzar un archivo ejecutable, y tener tu aplicación esperando hasta que el archivo ejecutable termine. Como ejemplo, correremos el ejecutable ejemplo.exe, y tendremos la aplicación esperando hasta que ejemplo.exe finalice. Esto se logra utilizando la acción File.Run, y ajustando la propiedad WaitForReturn a true: File.Run("c:\\ejemplo.exe", "", "", SW_SHOWNORMAL, SW_SHOWNORMAL, true); Nota: Esta acción lanza ejemplo.exe y espera hasta que ejemplo.exe ha terminado.
Ejecutar una Aplicación después de un Reinicio del Sistema A manera de ejemplo, crearemos una aplicación con dos botones: Instalar Acrobat, e Instalar Aplicacion101. El programa de instalación de Acrobat requerirá que el usuario reinicie su computadora una vez que la instalación se complete. Para asegurar que la aplicación sea lanzada cuando el usuario reinicia su sistema, añade el siguiente código en el evento On Click del botón “Instalar Acrobat”:
30
reboot = Application.LoadValue("Settings", "Reboot"); if reboot == "" then Shell.CreateShortcut(Shell.GetFolder(SHF_STARTUP_COMMON), Shell.CreateShortcut(Shell.GetFolder(SHF_STARTUP_C OMMON), "Temporary Shortcut", "Autorun.exe", "", "", "Autorun.exe", 0, SW_SHOWNORMAL); Application.SaveValue("Settings", "Reboot", "done"); else Shell.DeleteShortcut(Shell.GetFolder(SHF_STARTUP_COMMON), Shell.DeleteShortcut(Shell.GetFolder(SHF_STARTUP_C OMMON), "Temporary Shortcut"); Application.SaveValue("Settings", "Reboot", ""); end Nota: Este script agrega un atajo temporal a la carpeta de arranque de Windows.
Cuando tu aplicación es ejecutada después de un reinicio, el atajo temporal es eliminado.
Eliminar Archivos Sin Uso de Mi Proyecto Durante el desarrollo de una aplicación, inevitablemente son incluidos en tu distribución archivos que al final están sin uso, y por ello están ocupando un precioso espacio. Para que lo entiendas mejor, durante la creación de tu proyecto creas objetos tales como botones, párrafos, etiquetas, etc., pero es muy probable que no te agrade cómo va quedando el proyecto y borras algunos objetos. Sin embargo, aunque los has eliminado y ya no están visibles en tu página, éstos permanecen en la memoria del proyecto y siguen ocupando espacio en disco duro (consumiendo ese espacio). En AutoPlay Media Studio, estos archivos pueden ser removidos automáticamente: 1. Elige el menú Tools > Optimize Resources. 2. Selecciona las carpetas del proyecto que quieras limpiar. 3. Haz click en OK. Esto busca a fondo todos los archivos en tu proyecto que están sin uso y te muestra la opción de eliminarlos. Consejo: Habilita la opción Confirm deletion para asegurarte que nada se borre sin tu
conocimiento.
Escribir Texto a un Archivo Cuando se escribe información a un archivo de texto, hay dos opciones: el texto puede ser añadido al final del archivo de texto, o la información actual en el archivo de texto puede ser sobre-escrita. En AutoPlay Media Studio esto se logra cambiando el valor Append a false en cualquier acción que escriba al archivo.
31
A manera de ejemplo, escribiremos "la de da de da" a un archivo de texto, sobrescribiendo su contenido. Esto es logrado con la siguiente acción: TextFile.WriteFromString("c:\text.txt", "la de da de da", false);
Hacer que la Información Persista a lo Largo de las Sesiones Con frecuencia es agradable añadir un toque personal a tu Proyecto, tal como saludar al usuario por su nombre cuando tu aplicación se inicia. Como ejemplo, crearemos una aplicación que sugiera o invite al usuario a poner su nombre la primera vez que es ejecutada, y almacene estos datos en el registro. Cada subsecuente vez que la aplicación sea corrida, le dará la bienvenida al usuario con el nombre que él había introducido: 1. Coloca el siguiente código en el evento On Startup o en el evento On Preload de tu proyecto: -- Carga el último nombre utilizado por el usuario user = Application.LoadValue("Information", "Name"); -- había un nombre de usuario ya almacenado? if user == "" then -- No! Advierte al usuario que ponga su nombre. nombre. user = "Usuario Desconocido"; user = Dialog.Input("Información Requerida", "Por favor introduce tu nombre completo:", "", MB_ICONQUESTION); Application.SaveValue("Information", "Name", user); end -- Devuelve un mensaje de bienvenida Dialog.Message("Bienvenido", "Hola "..user..", bienvenido a mi aplicación"); Nota: Este ejemplo incita al usuario a introducir su nombre completo la primera vez que
ejecute tu aplicación, y almacena ese valor en el registro. Cada subsecuente vez que el usuario ejecute tu aplicación un mensaje aparecerá de pronto en la pantalla saludándolo por su nombre.
Hacer un Explorador de Documentos A manera de ejemplo, crearemos una aplicación en la cual el usuario tenga que seleccionar una carpeta de su unidad, y luego llenar un objeto ListBox con todos los archivos *.doc dentro de ese directorio. El usuario hace click en un archivo del objeto ListBox, y clickea el botón “Open” para abrir el documento.
32
1. Crea un proyecto con un objeto objet o ListBox, y dos objetos de botón. 2. Etiqueta el botón 1 como "Cargar" y el botón 2 como "Abrir". 3. Inserta el siguiente código dentro del evento On Click del botón 1: --Deshabilitar la actualización de la ListBox ListBox.SetUpdate("ListBox1", false); --Obtener la carpeta a explorar deseada folder = Dialog.FolderBrowse("Open Folder", "C:\\"); --llenar una tabla con todos los archivos .doc file = File.Find(folder, "*.doc", false, false, nil); --hacer lo siguiente para cada archivo: for j,file_path in file do --añadir el item a la ListBox, con el nombre visible y la ruta como datos ListBox.AddItem("ListBox1", String.SplitPath(file_path).Filename, file_path); end --permitir que la ListBox muestre el contenido actualizado ListBox.SetUpdate("ListBox1", true); 4. Inserta el siguiente código dentro del evento On Click del botón 2: selected = ListBox.GetSelected("ListBox1"); for j,k in selected do File.Open(ListBox.GetItemData("ListBox1", k),"", SW_SHOWNORMAL); end
Hacer un Explorador de Imágenes A manera de ejemplo, crearemos una aplicación en la que el usuario tenga que seleccionar una carpeta de su unidad, y luego llene un objeto ListBox con todos los archivos *.png y *.jpg dentro de ese directorio. El usuario hace click sobre un archivo en el objeto ListBox y enseguida hace click en el botón “Abrir” para cargar la imagen seleccionada dentro del objeto de Imagen. 1. Crea un proyecto con dos objetos de Botón, un objeto ListBox y un objeto de Imagen. 2. Etiqueta el Button1 como "Cargar" y el Button2 como "Abrir". 3. Inserta el siguiente código dentro del evento On Click del Button1: --deshabilitar actualización de ListBox ListBox.SetUpdate("ListBox1", false); --obtener la carpeta a explorar deseada folder = Dialog.FolderBrowse("Open Folder", "C:\\");
33
--llenar las tablas con todos los archivos .jpg y .png file_jpg = File.Find(folder, "*.jpg", false, false, nil); file_png = File.Find(folder, "*.png", false, false, nil); images = {file_jpg, file_png}; --hacer lo siguiente para cada archivo: for k in images do -- da vueltas a través de los distintos tipos de imagen for j,file_path in images[k] do -- da vueltas a través de cada archivo de imagen --añade el item a la listbox, con el nombre visible y la ruta como datos ListBox.AddItem("ListBox1", String.SplitPath(file_path).Filename, file_path); end end --Permitir que la listbox muestre el contenido actualizado ListBox.SetUpdate("ListBox1", true); 4. Inserta el siguiente código dentro del evento On Click del Button2: selected = ListBox.GetSelected("ListBox1"); for j,k in selected do Image.Load("Image1", ListBox.GetItemData("ListBox1", k)); end
Hacer un Explorador de Imágenes Miniatura La idea detrás de una imagen miniatura es presentarle al usuario una pequeña imagen que cuando sea clickeada lo enlace a una imagen más grande. Para lograr esto en AutoPlay Media Studio, crea un objeto de imagen con la imagen que desees usar para la miniatura, y cámbiala de tamaño a la dimensión deseada. Ahora crea una acción que la vincule a la imagen más grande cuando c uando la miniatura sea clickeada.
Ejemplo 1 1. Crea un proyecto con dos páginas. En la primera página (Page1) estará tu miniatura, en tu segunda página (Page2) estará tu imagen más grande. 2. En cada página de tu proyecto, crea un objeto de imagen el cual cargue la imagen deseada. 3. Crea una acción en el evento On Click de tu imagen miniatura que haga saltar a la segunda página de tu proyecto (la que contiene la imagen más grande): Page.Jump("Page2"); 3. En tu segunda página, podrías incluir un botón de retorno que haga saltar atrás hacia la primer página. Usa la siguiente acción para el evento On Click de este botón:
34
Page.Jump("Page1"); Nota: Si deseas tener más de una miniatura, crea una nueva página por cada imagen, y
luego agrega sus miniaturas a la primer página. Enseguida agrega acciones para abrir cada página cuando determinada miniatura sea clickeada.
Ejemplo 2 1. Crea un proyecto de una página. 2. Crea dos objetos de imagen en esta página: Image1 e Image2. La Image1 será la imagen miniatura, la Image2 será tu imagen grande. Dales el tamaño adecuado a las dos imágenes. 3. Fija la propiedad visible de Image2 a false. 4. Crea una acción On Click para la Image1 que muestre la Image2 cuando sea clickeada: Image.SetVisible("Image2", true); 5. Crea una acción para la Image2 que la oculte cuando ésta sea clickeada (usa el evento On Click): Image.SetVisible("Image2", false); Nota: Si deseas puedes incluir más imágenes, por cada imagen haz una miniatura y una
grande. Para ver detalles y scripts de este ejemplo revisa el archivo de proyecto “Hacer un Explorador de Imágenes Miniatura 2” que está en la carpeta “Ejemplos”.
Hacer un Menú Desplegable Para crear un menú desplegable en AutoPlay Media Studio: 1. Crea un proyecto con seis objetos label, y organízalos como sigue:
35
2. Inserta el siguiente código dentro del evento On Click de la Label1: if visible then Label.SetVisible("Label2", false); Label.SetVisible("Label3", false); Label.SetVisible("Label4", false); Label.SetVisible("Label5", false); Label.SetVisible("Label6", false); visible = false; else Label.SetVisible("Label2", true); Label.SetVisible("Label3", true); Label.SetVisible("Label4", true); Label.SetVisible("Label5", true); Label.SetVisible("Label6", true); visible = true; end 3. Inserta el siguiente código dentro de tus Funciones Globales: visible = false;
Hacer un Proyector de Diapositivas Consejo: AutoPlay Media Studio 7 ahora contiene un Objeto SlideShow que también
puede ser utilizado para esta funcionalidad. El propósito de un proyector de diapositivas es mostrar imágenes a una velocidad predeterminada. En AutoPlay Media Studio, esto se logra creando un proyecto con una página por cada imagen que desees mostrar. 1. Para cada página en tu proyecto, crea un objeto de imagen conteniendo la imagen apropiada. 2. Crea la siguiente acción en el evento On Show de cada página en tu proyecto: Page.StartTimer(5000); --iniciar el cronómetro una vez cada 5 segundos. 3. Crea la siguiente acción en el evento On Timer de cada página de tu proyecto: Page.Navigate(PAGE_NEXT); La única página que no tiene esta acción es la última, porque no hay más páginas a donde saltar. 4. Crea la siguiente acción en el evento On Show de de tu última página:
36
Page.StopTimer(); --detener el cronómetro Nota: Los eventos On Timer y On Show se pueden localizar haciendo click derecho en
un espacio en blanco de la página y luego eligiendo Actions.
Hacer un Proyector de Diapositivas con Audio Consejo: AutoPlay Media Studio 7 ahora contiene un Objeto SlideShow que también
puede ser utilizado para esta funcionalidad. A manera de ejemplo, crearemos un proyector de diapositivas con voz superpuesta para cada imagen. Este proyecto requerirá un archivo de audio por cada imagen, y una página en tu proyecto por cada imagen que quieras mostrar. En cada página, crea un objeto de imagen el cual cargue la imagen deseada. 1. Crea una página en tu proyecto por cada archivo de imagen que desees mostrar. En este ejemplo, tendremos tres imágenes, y tres archivos de audio. 2. En cada página de tu proyecto, crea un objeto de imagen el cual cargue la imagen deseada. 3. Crea variables globales: -- seguirá la pista de los archivos de audio audio_count = 1; --carga los archivos de audio deseados dentro de una tabla audio = { "Autoplay\\Audio\\audio_file1.ogg", "Autoplay\\Audio\\audio_file2.ogg", "Autoplay\\Audio\\audio_file3.ogg" }; 4. Crea la siguiente acción en el evento On Show de cada página: Audio.Load(CHANNEL_USER1, Audio.Load(CHANNEL_ USER1, audio[audio_count], true, false); 5. Crea el siguiente script en el evento On Audio de cada página (excepto en tu última página): Input.SetText("Input1", e_State); if e_State == "Finish" then audio_count = audio_count + 1; Page.Navigate(PAGE_NEXT); end Nota: Cuando sea corrida, esta aplicación cargará la primer página y reproducirá el
archivo de audio. Cuando ese archivo de audio se complete, la aplicación brincará a la próxima página, y lanzará el archivo de audio. Esto continúa hasta la última página. Cada imagen es mostrada mientras dure el archivo de audio.
37
Consejo: Si quieres tener música de fondo escuchándose en tu aplicación, inserta el
siguiente código dentro del evento On Show de la primer página (así cargarás la música de fondo dentro de un canal diferente del que utiliza la música superpuesta): Audio.Load(CHANNEL_BACKGROUND, "AutoPlay\\Audio\\background.ogg, true, true); Audio.SetVolume(CHANNEL_BACKGROUND, (255 * 0.25)); --sets the volume to 25%
Hacer una Aplicación Básica Cuestionario/Test A manera de ejemplo, crearemos un test de dos páginas, y una tercera página para mostrar los resultados: 1. Crea un proyecto con tres páginas. 2. Inserta el siguiente código en Global Functions: --Cada una de las siguientes tablas contiene una pregunta y 4 respuestas: Q_01 = {Question="¿Cuántas patas tiene un perro de tres patas?", A1="Una", A2="Dos", A3="Cuatro", ACorrect="Tres"}; Q_02 = {Question="¿Cuántas patas tiene un gato de una pata?", A1="Tres", A2="Dos", A3="Cuatro", ACorrect="Una"}; Correct={Q1="",Q2=""}; 3. En la Página 1, crea un objeto de párrafo, párrafo, y cuatro objetos de botón. botón. 4. En el evento On Preload de la Página 1, inserta el código siguiente: Paragraph.SetText("Paragraph2", Q_01.Question); Button.SetText("Button1", Q_01.A2); Button.SetText("Button2", Q_01.A1); Button.SetText("Button3", Q_01.ACorrect); Button.SetText("Button4", Q_01.A3); 5. Inserta el siguiente código dentro del evento On Click del del Botón 1: Correct.Q1 = "Incorrecta"; Page.Navigate(PAGE_NEXT); 6. Inserta el siguiente código dentro del evento On Click del Botón 2: Correct.Q1 = "Incorrecta"; Page.Navigate(PAGE_NEXT); 7. Inserta el siguiente código dentro del evento On Click del Botón 3: Correct.Q1 = "Correcta"; Page.Navigate(PAGE_NEXT);
38
8. Inserta el siguiente código dentro del evento On Click del Botón 4: Correct.Q1 = "Incorrecta"; Page.Navigate(PAGE_NEXT); 9. En la Página 2, crea un objeto de párrafo, párrafo, y 4 objetos de botón. botón. 10. En el evento On Preload de la Página 2, inserta el código siguiente: Paragraph.SetText("Paragraph2", Q_02.Question); Button.SetText("Button1", Q_02.A3); Button.SetText("Button2", Q_02.A2); Button.SetText("Button3", Q_02.A1); Button.SetText("Button4", Q_02.ACorrect); 11. Inserta el siguiente código dentro del evento On Click del Botón 1: Correct.Q2 = "Incorrecta"; Page.Navigate(PAGE_NEXT); 12. Inserta el siguiente código dentro del evento On Click del Botón 2: Correct.Q2 = "Incorrecta"; Page.Navigate(PAGE_NEXT); 13. Inserta el siguiente código dentro del evento On Click del Botón 3: Correct.Q2 = "Incorrecta"; Page.Navigate(PAGE_NEXT); 14. Inserta el siguiente código dentro del evento On Click del Botón 4: Correct.Q2 = "Correcta"; Page.Navigate(PAGE_NEXT); 15. Crea un objeto de párrafo en la última página de tu proyecto. 16. Inserta el siguiente código dentro del evento On Preload de la última página: string_correct=""; correct = 0; possible = 0; for j,k in Correct do possible = possible + 1; if k == "Correcta" then correct = correct + 1; end end Paragraph.SetText("Paragraph2", "Pregunta 1: " .. Correct.Q1 .. "\r\n" ..
39
"Pregunta 2: " .. Correct.Q2 .. "\r\n" .. "Respondiste correctamente " .. correct .. " de " .. possible .. " posibles preguntas para una calificación de " .. ((correct/possible)*100) .. "%." );
Hacer una Imagen Semi-Transparente Semi-Transparente En AutoPlay Media Studio es posible hacer que un objeto de Imagen sea translúcido o "transparente". Esto se logra bajando el valor configurado de la Opacidad (Opacity) en el panel Propiedades 1. Crea un objeto de Imagen. 2. En el panel Propiedades, cambia la configuración de opacidad a la opacidad deseada.
Nota: El número de opacidad es un porcentaje. Un valor de 100 hace al objeto
totalmente visible, mientras que un valor de 0 lo hace invisible.
Heredar las Propiedades de Página A manera de ejemplo, asumamos que estás creando un proyecto de tres páginas, y quieres usar el mismo fondo para cada una de tus tres páginas. La mejor manera de hacer esto es establecer que en la página 2 y la página 3 se herede el fondo de la página 1. De modo que si cambias el fondo de la página 1, los fondos de las páginas 2 y 3 como consecuencia cambiarán. Para lograr esto en AutoPlay Media Studio: 1. Crea un proyecto con tres páginas. 2. Añade un fondo a la Página 1 (un color sólido, un gradiente o una imagen). Note: La Página 1 puede tener un color sólido, un gradiente o una imagen como fondo.
3. Ve a la Página 2.
40
4. En el panel Propiedades, cambia la propiedad Inherit Background de Page2 a Page1.
5. Ahora ve a la Página 3. 6. En el panel Propiedades, cambia la propiedad Inherit Background de Page3 a Page1.
Nota: También puedes heredar objetos desde una página en tu proyecto. Para heredar
todos los objetos de la Página 1, fija la categoría Inherit Objects del Panel Propiedades (en tu página deseada) a la Page1.
41
Imprimir un Archivo Para imprimir un archivo desde tu aplicación, utiliza la acción rápida “Print Document”. Haz click en el botón “Browse” del campo “Document to print” para seleccionar el archivo a imprimir. Nota: Esta acción abre el documento que deseas imprimir en el editor por defecto, imprime el documento y cierra el editor por defecto. Esta conducta es similar a hacer click derecho sobre un archivo en el Explorador de Windows y seleccionar “Imprimir”.
Incrustar una Ventana de Navegador Web AutoPlay Media Studio incluye un objeto web para desplegar un sitio web dentro de tu aplicación. Para añadir un sitio web a tu proyecto: 1. Elije Object > Web. 2. En el diálogo New Web Object, introduce la dirección web deseada en la configuración URL y haz click en OK.
Inmovilizar Objetos Una vez que has creado la apariencia de tu proyecto, es probable que quieras “trabar” los objetos a la página, pero aún ser capaz de cambiar sus propiedades y editar sus acciones. Esto es conocido como “apuntalar” un objeto a la página. Para apuntalar un objeto: 1. Selecciona el objeto deseado.
42
2. Haz click derecho sobre el objeto. 3. Elige Pin. Esto hará que el objeto quede inmóvil y no puedas desplazarlo a ninguna parte de la página. Aunque el objeto esté apuntalado, aún puedes editar sus propiedades haciendo doble click sobre él. Ten bien claro que no es lo mismo Apuntalar (Pin) que Bloquear (Lock). Para desapuntalar un objeto: 1. Selecciona el objeto deseado. 2. Haz click derecho sobre el objeto. 3. Deshabilita Pin.
Interactuar con Objetos Flash Incrustados AutoPlay Media Studio es capaz de “colectar” FS_Commands de una película Flash incrustada. Recibirás el FS_Command, y luego completarás una acción basada en este comando, utilizando una declaración if . Por favor dirígete a la sección Interactuar Interactuar con objetos web incrustados incrustados para ver un simple ejemplo de navegación de tu proyecto basado en una entrada desde una fuente externa.
Interactuar con Objetos Web Incrustados In AutoPlay Media Studio, es posible navegar de tu proyecto usando un archivo HTML incrustado. Por ejemplo, asumamos que quieres tener el siguiente archivo HTML en un objeto web (nombremos al archivo index.html):
Go to Page 2 1. Crea un objeto web en la página de la aplicación que cargue index.html. Nómbralo "Web1". 2. Inserta el siguiente script en el evento On Preload de la página: Web.LoadURL("Web1", "AutoPlay\\Docs\\index.html");
43
Las líneas anteriores redireccionan el objeto web llamado Web1 hacia AutoPlay\Docs\index.html. Esto es necesario debido a que la URL en un objeto web insistirá a través de las páginas, y el evento On Navigate es llamado cuando el objeto web se hace presente en la página después de que una página se carga; si no redirigimos la URL en este objeto web cada vez que la página se cargue, ésta aún tendrá la URL #Page2 en él, y nuestro script en el evento On Navigate (ver abajo) hará que la aplicación brinque justo de regreso a la Página 2 3. Inserta el siguiente script en el evento On Navigate del objeto web: -- buscar de derecha a izquierda un símbolo de número (#) nPos = String.ReverseFind(e_URL, "#", true); -- ¿se encontró algún #? if nPos then -- obtener todo a la derecha del # strPage = String.Mid(e_URL, nPos + 1, -1); --[[ saltar al nombre de la página que extrajimos de la URL. Si no hay página con ese nombre, el Page.Jump no hará nada. ]] Page.Jump(strPage); end Al clickear sobre un enlace en este objeto web, accionaremos el evento On Navigate y pondremos la cadena href (el enlace buscado) dentro de la variable del evento nombrada e_URL. La acción String.ReverseFind busca el símbolo # y, si lo encuentra, una acción String.Mid captura todo a la derecha del símbolo # en la cadena. La cadena resultante es almacenada en una variable y luego es usada como el objetivo de una acción Page.Jump. Nota: Cuando el usuario clickea sobre el enlace 'Go to Page 2' en nuestro archivo de
ejemplo HTML, la aplicación saltará a “Page2”.
Leer Líneas Específicas de un Archivo de Texto Para recuperar líneas específicas de un archivo de texto en AutoPlay Media Studio, usa la acción ReadToTable. Como ejemplo, leeremos el archivo C:\test.txt dentro de una tabla variable, luego devolveremos de la línea 4 a la 10 en un objeto de párrafo 1. Inserta el siguiente código dentro de algún evento en tu aplicación: -- Fija el inicio y el fin de los números de líneas de texto beginning_line = 4; end_line = 10;
44
-- llena una tabla con el contenido de un archivo de texto tabText = TextFile.ReadToTable("c:\\test.txt"); -- Inicializa la variable strLinesOfText strLinesOfText = ""; -- Fija el número de línea actual line = beginning_line; -- Orbita a través de la tabla hasta que la condición “end” sea alcanzada while line < (end_line + 1) do -- Agrega los datos a la variable strLengthOfText strLinesOfText = strLinesOfText .. "\r\n" .. "Line " .. line .. ": " .. tabText[line] .. "\r\n"; line = line + 1; end -- Salida para el usuario Paragraph.SetText("Paragraph1", strLinesOfText);
Mandar un E-mail con Asunto, Cuerpo y Archivo Adjunto Para mandar un E-mail con varios campos llenos, utiliza la acción File.OpenEmail. Lo siguiente puede ser llenado en: To, Cc, Bcc, Subject, Body. 1. Para mandar un E-mail con las siguientes propiedades: To:
[email protected] Cc:
[email protected] user
[email protected] Bcc:
[email protected] Subject: Tu asunto aquí Body: Lo que quieras como cuerpo del E-mail aquí Utiliza la siguiente acción: File.OpenEmail("
[email protected][email protected]&BCC=user3@ yourdomain.com&Subject=Your subject here&Body=Whatever you want as your email body here", SW_SHOWNORMAL); SW_SHOWNORMAL); Nota: Para mandar un E-mail con un archivo adjunto, tendrás que codificar el archivo
(en formato Uuencode) e incluirlo en el cuerpo del mensaje del E-mail. Esta es una implementación avanzada de la acción File.OpenEmail. Indigo Rose no puede ayudarte con detalles de implementación. Debes estar al tanto que no todos los clientes email reconocerán todas las opciones.
45
Mantener las Proporciones Dimensionales de los Objetos En el ambiente de diseño de AutoPlay, es posible mantener la proporción dimensional (proporción entre anchura y altura) de tus objetos al redimensionarlos. Esto es útil, por ejemplo, cuando deseas cambiar de tamaño un objeto de imagen pero no quieres que la imagen parezca distorsionada. Para mantener la proporción dimensional de cualquier objeto en el ambiente de diseño de AutoPlay: 1. Selecciona tu objeto deseado haciendo un solo click sobre él. 2. Ahora haz click derecho sobre el objeto que acabas de seleccionar. 3. Haz click en Keep Aspect. Nota: Si Keep Aspect tiene una marca de verificación junto a él, entonces la opción ya
estaba habilitada. Nota: Si bien una etiqueta de menú de click derecho del objeto tiene la opción Keep
Aspect, está permanentemente establecida para mantener su proporción dimensional. No es posible apagar esta opción. Para mantener temporalmente la proporción dimensional de un objeto, deja presionadas las teclas Ctrl y Shift mientras redimensionas el objeto. El mantener temporalmente la proporción dimensional de un objeto sólo aplica al redimensionamiento de un objeto con el ratón, el cambio de las dimensiones en el panel Propiedades con las teclas Ctrl y Shift presionadas no mantendrá la proporción dimensional.
Mantener mi Aplicación Siempre más Arriba Autoplay Media Studio tiene una opción integrada para hacer que la ventana de tu aplicación siempre esté más arriba que todas en el sistema del usuario. Para lograr esto, elige la opción en el cuadro de diálogo Project Settings: 1. Elige el menú Project > Settings. 2. Habilita la opción Always On Top. 3. Haz click en OK.
Mostrar una Imagen en Splah Para desplegar una imagen en splash utilizando AutoPlay Media Studio:
46
1. Inserta el siguiente código dentro de cualquier evento en tu aplicación: Dialog.SplashImage("AutoPlay\\Images\\splash.jpg", 5, false); Nota: Obviamente, primero deberás cargar la imagen en la carpeta “Images” de
AutoPlay. Consejo: Para desplegar la imagen en splash antes de que tu aplicación se cargue,
inserta el código de arriba dentro del evento On Startup de las Acciones del Proyecto (Menú ProjectActions).
Obtener la Información del Usuario Registrado de la Computadora Para detectar el usuario registrado del sistema, en AutoPlay Media Studio: 1. Inserta el siguiente script en el evento On Startup de tu proyecto: user = System.GetUserInfo(); Nota: El usuario es una variable de tabla. Para mostrar esta información en una página
de tu aplicación, establece referencias para: user.RegOwner – el propietario registrado de la computadora user.RegOrganization – la organización registrada
Obtener la Ruta de una Carpeta del Sistema AutoPlay Media Studio incluye una acción para obtener las trayectorias de varias carpetas en tu computadora. Para lograr esto, utiliza la acción Shell.GetFolder. A manera de ejemplo, obtendremos la trayectoria del escritorio del usuario, y la almacenaremos en la variable “path_to_desktop”. 1. Inserta el siguiente código dentro de un evento en tu programa: path_to_desktop = Shell.GetFolder(SHF_DESKTOP); Shell.GetFolder(SHF_DESKTOP);
Ocultar la Barra de Título Para ocultar la Barra de Título de la aplicación AutoPlay:
47
1. Ve al menú Project > Settings. 2. Cambia el estilo de la ventana a Flat. 3. Haz click en OK.
Ocultar un Objeto Hay dos instancias en las que se pueden querer ocultar un objeto: Por el usuario en tiempo de ejecución, o por ti mismo en tiempo de diseño. dise ño. Ocultar un objeto en tiempo de ejecución es útil si no quieres que el usuario vea un objeto en el inicio de la aplicación. Es posible que desees mostrar el objeto más tarde basado en una acción del usuario Como un ejemplo, ocultaremos un objeto de botón (Button1) en tiempo de ejecución: 1. Inserta el siguiente código dentro del evento On Show de tu página: Button.SetVisible("Button1", false); Consejo: Para mostrar el objeto de botón, inserta el siguiente código dentro de un
evento en tu aplicación Button.SetVisible("Button1", true); Ocultar un objeto en tiempo de diseño es útil cuando, por ejemplo, estás trabajando en un proyecto con muchos objetos, y deseas reducir el desorden. Para ocultar un objeto en tiempo de diseño: 1. Selecciona el objeto deseado. 2. En el Panel Propiedades, cambia el atributo Visible a false. Consejo: Para mostrar un objeto en el tiempo de diseño que está actualmente oculto,
cambia el atributo Visible a true.
Ocultar una Aplicación en Tiempo de Ejecución AutoPlay Media Studio te permite crear una aplicación que corra en el fondo (es decir, que no es visible al usuario en la barra de tareas o en la bandeja del sistema). Para habilitar esta opción: 1. Dirígete al menú Project > Settings. 2. Selecciona la opción Hidden. 3. Haz click en OK.
48
Consejo: Para que realmente esté oculta la ventana de la aplicación, utiliza una acción
Window.Hide
Pausar la Música de Fondo Cuando hay música de fondo en una presentación, algunas veces es necesario pausarla. En AutoPlay Media Studio esto se logra usando la Acción Rápida “Play/Pause Background Music”. Esta acción rápida pausará la música de fondo si se está reproduciendo, y la reproducirá si está en pausa. Recuerda crear antes un botón y asignarle esta acción rápida.
Recordar Preferencias Preferencias de Tiempo de Ejecución A manera de ejemplo, asumamos que tu aplicación pregunta al usuario si los videos deberían estar visibles en la aplicación. Pero solamente quieres preguntarle al usuario la primera vez que corra el programa. En cada c ada lanzamiento subsecuente de tu aplicación, deseas mostrar/ocultar el objeto de Video basado en la preferencia inicial del usuario. Para lograr esto en AutoPlay Media Studio: 1. Inserta el siguiente código dentro del evento On Preload de la página que contiene el objeto de Video: visible = Application.LoadValue("Application", "Video"); if visible == "" then visible = Dialog.Message("Videos visibles", "Quieres que los videos estén visibles?", MB_YESNO); Application.SaveValue("Application", "Video", visible); end if String.ToNumber(visible) == 7 then Video.SetVisible("Video1", false); end Nota: Este script no le da al usuario una segunda elección. Una vez que él elija yes/no,
esa elección será permanente. Si quisieras ofrecer al usuario una segunda elección, o la opción para cambiar la configuración más tarde, incluye el siguiente código en el evento On Click de un objeto de Botón: visible = Dialog.Message("Videos visibles", "Quieres que los Videos estén visibles la próxima vez que ejecutes el programa?", MB_YESNO); Application.SaveValue("Application", "Video", visible);
49
Redondear un Número hacia Abajo AutoPlay Media Studio incluye una acción incorporada para redondear cualquier número hacia abajo del próximo número entero. Para lograr esto, utiliza la acción Math.Floor. your_number = 3.1415; your_rounded_number your_rounded_number = Math.Floor(your_number); ajusta rá la variable your_rounded_number a 3. Nota: Este script ajustará
Redondear un Número hacia Arriba AutoPlay Media Studio incluye una acción incorporada para redondear cualquier número hacia arriba del próximo número entero. Para lograr esto, utiliza la acción Math. your_number = 3.1415; your_rounded_number your_rounded_number = Math.Ceil(your_number); Nota: Este script ajustará ajusta rá la variable your_rounded_number a 4.
Redondear un Número hacia Arriba o hacia Abajo Si quieres que todas las fracciones se redondeen hacia arriba (por ejemplo 2.1 -> 3.0, 2.5 -> 3.0) entonces utiliza Math.Ceil. (Ve “Redondear un Número hacia Arriba” ). Si quieres que todas las fracciones se redondeen hacia abajo (por ejemplo 2.1 -> 2.0, 2.5 -> 2.0) entonces utiliza Math.Floor. (Ve “Redondear un Número hacia Abajo” ). Si quieres que cualquier decimal igual o mayor que “.5” se redondeé hacia arriba, y cualquier decimal menor a “.5” se redondeé hacia abajo (por ejemplo 2.1 -> 2.0, 2.5 -> 3.0), utiliza la siguiente acción: n = 2.5; rounded = Math.Round(n);
Referir Información a un Sitio Web AutoPlay Media Studio tiene una función incorporada para mandar datos a un sitio web y recibir una respuesta: •
HTTP.Submit
50
Para referir información a un sitio web, utiliza la acción HTTP.Submit. Por favor ten en cuenta que tienes que desarrollar un script servidor para aceptar cualquier dato que estés mandando a la web. HTTP.Submit toma la respuesta de tu script servidor y la almacena en una cadena. Una posible implementación de esto sería lo siguiente: 1. Desarrolla un script que pueda aceptar cualquier dato que desees pasarlo desde AutoPlay, y regresa algún valor. 2. Usa la acción HTTP.Submit para referir tus datos a tu script (localizado en tu servidor web). 3. Procesa la cadena devuelta. Nota: Esta es una muy compleja implementación de AutoPlay Media Studio. Tendrás
que coordinarte con el desarrollador de tu sitio web para decidir sobre un plan de implementación.
Reiniciar el Sistema Para reiniciar el sistema del usuario desde tu aplicación: 1. Inserta la siguiente acción dentro de un evento en tu aplicación: System.Reboot(); Nota: Esta acción reinicia la máquina sin interacción requerida por el usuario y sin dar
ninguna advertencia.
Repetir Cosas en Intervalos Específicos Cuando hay una acción que debería repetirse en un intervalo predeterminado, utiliza un evento On Timer en AutoPlay Media Studio: 1. 2. 3. 4.
Haz doble click en la página en uso. Elige la pestaña Script. Haz click en la pestaña del evento On Timer. Añade aquí tu acción.
Para comenzar ejecutando las acciones en el evento On Timer, utiliza la siguiente acción: Page.StartTimer(5000) --lanza las acciones On Timer cada 5 segundos
51
Esta acción es ejecutada típicamente ya sea por el evento On Click de un objeto, o como una acción en el evento On Show de la página Nota: La acción Page.StartTimer sólo tiene que ser ejecutada una vez para iniciar el
cronómetro. Las acciones en el evento On Timer continuarán siendo ejecutadas hasta que la acción StopTimer sea llamada. Consejo: Para detener la acción de encendido del cronómetro, utiliza la acción
Page.StopTimer();
Reproducir Múltiples Archivos de Audio en Secuencia En AutoPlay Media Studio es posible reproducir un archivo de audio después de otro usando el evento On Audio. A manera de ejemplo, crearemos un proyecto que al ser ejecutado cargará tres archivos en una tabla y los reproducirá uno tras otro hasta que la tercera canción haya finalizado. Para lograr esto: 1. Inserta el siguiente código dentro de tus Funciones Globales (haciendo click en Project > Global Functions): -- sigue la pista de los archivos de audio audio_count = 1; --carga los archivos de audio deseados dentro de una tabla audio = { "Autoplay\\Audio\\audio_file1.ogg", "Autoplay\\Audio\\audio_file2.ogg", "Autoplay\\Audio\\audio_file3.ogg" }; 2. Inserta el siguiente código dentro del evento On Show de tu página: Audio.Load(CHANNEL_USER1, Audio.Load(CHANNEL_ USER1, audio[audio_count], true, false); 3. Inserta el siguiente código dentro del evento On Audio de tu página: página: if e_State == "Finish" then audio_count = audio_count + 1; --se asegura de que un archivo válido fue cargado if audio_count < Table.Count(audio)+1 then Audio.Load(CHANNEL_USER1, Audio.Load(CHANNEL_USER1, audio[audio_count], true, false); end end
52
Reproducir Múltiples Archivos de Video en Secuencia En AutoPlay Media Studio es posible reproducir un video tras otro utilizando el evento On Finish. Como ejemplo, crearemos un proyecto con un objeto de Botón y un objeto de Video. El usuario hará click en el botón y se cargarán múltiples videos dentro de una tabla. El proyecto entonces reproducirá un video tras otro hasta que todos los videos hayan sido reproducidos. Para lograr esto: 1. Inserta el siguiente código dentro de las Funciones Globales (haciendo click en project > functions): --índice de tabla comienza en 1 video_count = 1; 2. Inserta el siguiente código en el evento On Click del botón previamente creado: video = Dialog.FileBrowse(true, "Load Videos", "", "", "", "", true, true); Video.Load("Video1", video[video_count], true, false); 3. Inserta el siguiente código dentro del evento On Finish del objeto de Video previamente creado: --Atraviesa la tabla video_count = video_count + 1; --Se asegura que un archivo válido será cargado if video_count < Table.Count[video]+1 then --carga el archivo Video.Load("Video1", video[video_count], true, false); end
Reproducir Música de Fondo Reproducir una música suave de fondo en tu aplicación puede servir para establecer un estado de ánimo deseado para tu aplicación A manera de ejemplo, cargaremos un archivo de música (que tenga extensión .ogg) en el canal de audio de fondo de tu proyecto: 1. Inserta el siguiente código dentro del evento On Show de la primer página del proyecto:
53
--carga un archivo *.ogg en el canal de fondo, automáticamente lo reproduce, y lo hace cíclico Audio.Load(CHANNEL_BACKGROUND, Audio.Load(CHANNEL_ BACKGROUND, "AutoPlay\\Audio\\background.ogg", true, true); Nota: Para reproducir una canción después de otra en tu música de fondo, por favor dirígete al tema “Reproducir Múltiples Archivos de Audio en Secuencia” . Nota 2: Recuerda que debes añadir el archivo de la música de fondo a la carpeta Audio
de AutoPlay. Es decir, no solamente lo añadas en el Script. Una forma alternativa de añadir música de fondo a tu aplicación es usando la pestaña Background Music del cuadro de diálogo Audio Settings. Para acceder a este cuadro de diálogo: 1. 2. 3. 4.
Elige Project > Audio. Haz click en el botón Add. Selecciona tu archivo de audio. Haz click en OK.
Nota: Repite los pasos 2 y 3 antes de hacer click en OK para añadir más de un archivo
de audio.
Reproducir un Archivo de Video AVI AutoPlay Media Studio incluye un objeto de Video capaz de reproducir cualquier archivo de película que sea soportado por Windows Media Player. Para reproducir un archivo AVI en AutoPlay Media Studio, crea un objeto de Video en la página deseada: 1. Elige Object > Video. 2. Selecciona un archivo AVI. 3. Haz click en OK. Nota: Si tu archivo AVI contiene codecs no estandarizados, por favor asegúrate de
incluirlos con tu proyecto, así tus usuarios no experimentarán ningún problema al reproducir dicho archivo.
Reproducir un Video antes de que mi Aplicación Inicie AutoPlay Media Studio tiene una opción para añadir un video introductorio a tu presentación. Para lograr esto:
54
1. 2. 3. 4.
Elige en el menú Project > Startup Movie. Habilita la opción Play Startup Movie. Agrega tu archivo de película y configura los ajustes del proyecto. Haz click en OK.
Nota: Si deshabilitas la opción Allow Click to Skip, la película permanecerá visible
hasta que se complete. Si esta opción es habilitada, el usuario puede hacer click en tu película introductoria para detenerla e ir directamente a la aplicación. aplicaci ón.
Reproducir un Video Utilizando el Modo Full Screen AutoPlay Media Studio incluye una acción para reproducir un video en modo full screen. Para lograr esto: 1. Agrega el siguiente código al evento On Play de tu objeto de Video: Video.SetFullScreen("Video1", true); 2. Agrega el siguiente código al evento On Finish de tu objeto de Video: Application.Exit(); Este script reproduce tu video en pantalla completa y, una vez que finalice, cierra tu aplicación. Nota: Algunas veces al iniciar la aplicación, el video no se mostrará en Full Screen.
Para lograr que se muestre en Full Screen, páusalo y luego reinícialo.
Reproducir un Video usando el Objeto de Video Incrustado AutoPlay Media Studio incluye un objeto de Video incrustado. Este objeto es capaz de reproducir cualquier archivo de video que sea soportado por Windows Media Player (avi, mpg, wmv, etc). Para crear un objeto de Video: 1. Ve al menú Object > Video. 2. Selecciona tu archivo de video. 3. Haz click en OK.
55
Nota: Algunos codecs no son descargados automáticamente por Windows Media
Player. Si tu archivo de video utiliza un codec especializado, por favor asegúrate incluirlo con tu distribución.
Reproducir una Animación Flash AutoPlay Media Studio incluye un objeto Flash incorporado para agregar archivos Flash en tu Aplicación Para lograr esto: 1. Elige el menú Object > Flash. 2. Selecciona tu película Flash. 3. Haz click en OK. Nota: Los objetos Flash de AutoPlay hacen que se utilice el plugin Macromedia Flash
(que se puede descargar gratuitamente de www.macromedia.com). www.macromedia.com). Puedes configurar tu aplicación para que detecte automáticamente Flash en la computadora del usuario y requerir que una versión específica o más reciente sea instalada (ver el tema “Revisar en Busca de Macromedia Macromedia Flash” Flash”).
Responder a Teclas Presionadas En AutoPlay Media Studio existe un evento llamado On Key. Este evento es lanzado cuando una tecla es presionada. Esto es útil si quieres que tu aplicación, por ejemplo, reproduzca un sonido cada vez que el usuario presione una tecla. Otro uso para este evento es hacer algo solamente cuando una tecla específica es presionada. Como un de ejemplo, considera el Explorador de Internet. Un usuario introduce una URL dentro de una barra de dirección y cuando la tecla enter es presionada, la página que él requirió es cargada. Para lograr este ejemplo en AutoPlay Media Studio: 1. Crea un objeto input. En su evento On On Key, ingresa el siguiente código: -- e_Key es una variable incorporada que obtiene lo generado por el evento On Key. -- 13 es el valor del código de tecla virtual para la tecla [Enter]. if e_Key == 13 then -- Carga la dirección que fue ingresada por el usuario: Web.LoadURL("Web1", Input.GetText("Input1")); end
56
Nota: Este script asume que tienes un objeto Input llamado "Input1" y un objeto web
llamado "Web1". Este script lee cada tecla presionada por el usuario en el input box (recuadro de entrada). Cuando [enter] es presionada, el script carga la URL.
Restaurar un Objeto a su Tamaño Original En el ambiente de diseño de AutoPlay, es posible restaurar un objeto a su tamaño original después de que éste ha sido modificado. Esto es útil cuando quieres, por ejemplo, reanudar el tamaño de de un objeto de Imagen a las dimensiones originales originales del archivo de imagen. Para restaurar el tamaño original de un objeto: 1. Selecciona el objeto deseado haciendo click sobre él. 2. Haz click derecho en el objeto que acabas de seleccionar. 3. Haz click en Restore Size. Nota: Esto es también útil para el dimensionamiento de un objeto de Video que es
cargado, a las dimensiones del archivo de video.
Revisar en Busca de Internet Explorer AutoPlay Media Studio tiene una opción para buscar dependencias en tiempo de ejecución en el sistema del usuario, y opcionalmente puede requerir que las dependencias existan antes de que el programa pueda continuar. Para buscar Internet Explorer: 1. Ve al menu Project > Dependencies. 2. Selecciona las dependencias que tu proyecto requiere (en este caso Internet Explorer). 3. Haz click en OK.
Revisar en Busca de Macromedia Flash AutoPlay Media Studio tiene una opción para buscar varias dependencias en tiempo de ejecución en el sistema del usuario, y opcionalmente puede requerir que las dependencias existan antes de que el programa pueda continuar. Para buscar Macromedia Flash: 1. Ve al menu Project > Dependencies.
57
2. Selecciona las dependencias que tu proyecto requiere (en este caso Macromedia Flash). 3. Haz click en OK.
Solicitar al Usuario Confirmación antes de Salir En AutoPlay Media Studio es posible detener el cierre de tu aplicación basado en una acción del usuario, incluso después de que el botón “cerrar” ha sido presionado, o la acción Application.Exit ha sido usada. Esto es útil si, por ejemplo, te preocupa que el usuario accidentalmente cierre tu aplicación, o si quieres permitir que el usuario guarde sus cambios antes de salir. Para lograr esto, debes incluir una función (QueryAllowProjectClose) en tus Funciones Globales (Project > Global Functions) que devuelva un “true” si el programa debiera cerrarse, o un “false” si no lo tenga que hacer: function QueryAllowProjectClose() --esta función será llamada cuando el programa se esté cerrando confirmation = Dialog.Message("¿Estás Seguro?", "¿Estás seguro que quieres salir?", MB_YESNO, MB_ICONEXCLAMATION, MB_DEFBUTTON1); if confirmation == 6 then -- El botón “YES” fue presionado, permitiendo cerrar el programa (devuelve un “true”) return true; else -- El botón “YES” no fue presionado, evitando cerrar el programa (devuelve un “false”) return false; end end Nota: Esta función es llamada internamente por tu aplicación cuando se le pide salir. Si
“true” es devuelto, tu aplicación se cerrará. Si “false” es devuelto, tu programa no se cerrará. Para usar esta función, deberías usar un script similar a éste: if QueryAllowProjectClose() then Application.Exit(); end
58
Trabajar con Tablas y Archivos En AutoPlay Media Studio, las tablas son frecuentemente utilizadas cuando se trabaja con archivos. Específicamente, observaremos cómo son almacenados en una tabla los resultados de una acción Dialog.FileBrowse, y cómo es posible trabajar con un archivo de texto cargado dentro de una tabla. Las tablas, en su forma básica, simplemente son variables con muchas filas. La acción Dialog.FileBrowse almacena una ruta de archivo por fila en una tabla. Cuando se lee un archivo de texto dentro de una tabla, cada línea en el archivo de texto es una fila separada en la tabla.
Ejemplo 1 Usando la acción Dialog.FileBrowse, permitiremos al usuario explorar una carpeta y seleccionar múltiples archivos. Abriremos cada archivo con su aplicación por defecto: -- Presenta al usuario un diálogo explorador de archivos (con el ajuste de selección múltiple a true) tFiles = Dialog.FileBrowse(true, "Multiple Select", "", "All Files(*.*)|*.*|", "", "", true, true); -- Asegura que tFiles contiene algo if tFiles then -- Verifica si el usuario presionó "Cancel" if tFiles[1] == "CANCEL" then -- El usuario presionó cancelar, no hacer nada else -- El usuario no presionó cancelar, viaja a través de la tabla de archivos. for nIndex, sFile in tFiles do -- Abre el archivo con el programa por defecto. File.Open(sFile, "", SW_SHOWNORMAL); end end end En el ejemplo anterior, la acción Dialog.FileBrowse regresa una tabla conteniendo todos los archivos que fueron seleccionados. Si el botón cancelar es presionado, la primer fila en la tabla (referenciada por tFiles[1]) es ajustada a 'CANCEL'. En caso contrario, cada fila en la tabla contiene la ruta de un archivo.
Ejemplo 2 Usando las acciones TextFile, cargaremos el contenido de un archivo de texto dentro de una tabla, e insertaremos el texto "¡¡La línea dos es la mejor de todas!!" dentro de la segunda línea del archivo de texto: -- Presenta al usuario un diálogo explorador de archivos (con el ajuste de selección multiple a false) tFiles = Dialog.FileBrowse(true, "Single Select", "", "All Files(*.*)|*.*|", "", "", false,
59
true); -- Asegura que tFiles contiene algo if tFiles then -- Verifica si el usuario presionó "Cancel" if tFiles[1] ~= "CANCEL" then -- El usuario no presionó cancelar, continuar -- Lee el archivo de texto seleccionado a una tabla tTextFileContents = TextFile.ReadToTable(tFiles[1]); -- Inserta el texto dentro de la línea (fila) dos Table.Insert(tTextFileContents, 2, "¡¡La línea dos es la mejor de todas!!"); -- Escribe la tabla alterada de regreso en el archivo de texto seleccionado (es decir, agregará la frase "¡¡La línea dos es la mejor de todas!!" en el segundo renglón del archivo de texto seleccionado) TextFile.WriteFromTable(tFiles[1], tTextFileContents, false); end end
Utilizar el Diálogo de Estado En AutoPlay Media Studio es posible desplegar un diálogo de estado a tus usuarios utilizando acciones incorporadas. Esto es útil, por ejemplo, si tu aplicación utiliza un bucle que le toma bastante tiempo para completarse. Como un ejemplo, crearemos un bucle que cuente hasta 20,000 y despliegue una ventana de estado permitiendo al usuario saber el progreso de la cuenta 1. Crea un objeto de Botón, y añade el siguiente código en su evento On Click: --ajusta los valores mínimo y máximo minimum_value = 0; maximum_value = 20000; --configuración de la ventana del estado de diálogo StatusDlg.Show(); --muestra la ventana del estado de diálogo StatusDlg.SetTitle("Contando de " .. minimum_value .. " a " .. maximum_value); -ajusta el título StatusDlg.SetMeterRange(minimum_value, maximum_value); --ajusta el rango del contador --conteo en bucle loop_control = minimum_value; --ajusta la variable de control bucle while loop_control <= maximum_value do --mientras que la variable de control bucle sea menor o igual al valor máximo StatusDlg.SetMeterPos(loop_control); --ajusta la posición del contador a la variable
60
de control bucle StatusDlg.SetStatusText("Actualmente contando . . . (" .. loop_control .. " of " .. maximum_value .. ")"); --ajusta el estado del texto para reflejar el número número actual loop_control = loop_control + 1; --incrementa la variable de control bucle end Nota: El código anterior cuando es ejecutado contará hasta 20,000 y desplegará un
diálogo de estado mostrando el progreso del bucle.
Utilizar Eventos Timer Cuando hay una acción que debería repetirse en un intervalo predeterminado, utiliza un evento On Timer en AutoPlay Media Studio 1. 2. 3. 4.
Haz doble click en la superficie de la página. Elige la pestaña Script. Haz click en la pestaña del evento On Timer. Añade tu acción aquí.
Para que inicie la ejecución de las acciones en el evento On Timer, utiliza la siguiente acción Page.StartTimer(5000) -- lanza las acciones On Timer una vez cada 5 segundos segundos Esta acción es normalmente ejecutada ya sea por el evento On Click de un objeto, o como una acción en el evento On Show de la página. Nota: La acción Page.StartTimer solo tiene que ser ejecutada una vez para iniciar el
timer. Las acciones en el evento On Timer continuarán siendo ejecutadas hasta que la acción StopTimer sea llamada. Nota 2: Para detener la acción timer desde su inicio, utiliza la acción Page.StopTimer();
Utilizar un FSCommand para Provocar una Acción En AutoPlay Media Studio es posible provocar una acción usando un FSCommand flash. Esto es útil si, por ejemplo, quieres que tu aplicación haga algo específico al final de tu animación flash. Como un ejemplo, crearemos una animación flash en Swish (programa para hacer animaciones Flash sin el Flash, muy sencillo y fácil de usar) que mande un FSCommand cuando ésta finalice de reproducirse. Cuando la animación flash llegue al final de su reproducción, desplegaremos un mensaje de diálogo. En Swish:
61
1. En Swish, haz click derecho en el último fotograma de la animación y elige FSCommand del Menú Contextual. En el panel Action, verás verás el FSCommand añadido. 2. Haz click en 'FSCommand' para mostrar los cuadros command/argument por debajo de éste. 3. En el cuadro command (el de arriba de los dos cuadros), teclea lo siguiente como un comando: SplashFinished. 4. Guarda la animación como un archivo swf.
En AutoPlay Media Studio: 1. Crea un objeto flash y carga el archivo swf que que creaste en Swish. 2. Añade las siguientes acciones en el evento On FSCommand (en la pestaña script): if (e_FSCommand == "SplashFinished") then Dialog.Message("Tu Título Aquí", "Tu Mensaje Aquí"); end Nota: e_FSCommand es una variable incorporada conteniendo el último FSCommand
lanzado dentro del objeto Flash.
Verificar si un Programa en Particular está Corriendo A manera de ejemplo, asumamos que quieres correr tu programa (autorun.exe) sólo si no hay otro autorun.exe corriendo en el sistema. Para lograr esto, utiliza la acción Window.EnumerateProcesses y coteja en cada proceso el nombre de archivo autorun.exe. 1. Inserta el siguiente código en el evento On Show de tu página: -- Inicializar variables instances_of_file = 0; file_to_check_for = "autorun.exe"; --poner todo en minúsculas processes = Window.EnumerateProcesses(); -- Ir directamente a la tabla de proceso for j, file_path in processes do -- Divide la ruta para obtener el nombre del archivo file = String.SplitPath(file_path); -- compara el nombre del archivo con el archivo especificado en la variable de inicialización if (String.Lower(file.Filename..file.Extension)) == file_to_check_for then -- El proceso coteja, e incrementa la cuenta en 1. instances_of_file = instances_of_file + 1; end
62
end -- Verificar si por lo menos un archivo concuerda if instances_of_file > 0 then -- Hubo por lo menos una concordancia, oculte la ventana de esta aplicación, muestre el error, y ciérrelo. Window.Hide(Application.GetWndHandle()); Dialog.Message("Error", "Another instance of Autorun.exe is already open."); Window.Close(Application.GetWndHandle(), Window.Close(Application.GetWndHand le(), CLOSEWND_TERMINAT CLOSEWND_TERMINATE); E); end
Volver a Cargar los Objetos de Imagen en Tiempo de Ejecución Para cargar una imagen dentro de un objeto de Imagen en tiempo de ejecución, utiliza la acción Image.Load. Como ejemplo, cargaremos la imagen ejemplo.jpg (desde el directorio de Imágenes de la carpeta de distribución del proyecto) dentro del objeto de Imagen “Image1”: Image.Load("Image1", "AutoPlay\\Images\\ejemplo.jpg"); Nota: Para cargar esta imagen en tiempo de ejecución, introduce el código anterior en el
evento On Show de la página que contiene tu objeto de Imagen.
63