Abarcar el Contenido A Través de Múltiples CD-ROMs

Anuncio
Abarcar el Contenido A Través de Múltiples CDROMs
P ara abarcar el contenido a través de múltiples CD
’s, debes crear una a aplicación por
separado para cada CD
.
S i 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 en un D
V D
.
Abrir un Archivo .DOC de Microsoft Word
P ara abrir un D
ocumento de W ord usando AutoP lay M edia S tudio, utiliza la Acción
Rá
pida “Open D
ocument” para llamar al documento. U sa el botón Browse que está
junto a “D
ocument to Open”para seleccionar el archivo .D
OCque quieras abrir.
R ecuerda 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: AutoP lay M edia S tudio no cuenta con un objeto W ord. P ara abrir un documento
W ord en la computadora del usuario, éste debe tener un programa capaz de abrir el
documento (por ejemplo M icrosoft W ord o M icrosoft W ord V iewer).
Consejo: AutoP lay M edia S tudio 7 contiene el objeto R ichT ext que puede ser usado
para mostrar texto con formato.
Abrir un Archivo HTML en una Ventana Desplegable
En AutoP lay M edia S tudio es posible abrir un documento H T M L en el Explorador por
defecto del usuario. P ara lograr esto, por favor dirígete al tema “Abrir un Sitio Web en
un Explorador Externo”.
Abrir un Archivo PDF Adobe Acrobat
P ara abrir un Archivo P D
F en Adobe Acrobat usando AutoP lay M edia S tudio,utiliza la
Acción R á
pida “Open D
ocument” para llamar al documento. U sa el botón Browse que
estájunto a “D
ocument to Open”para seleccionar el archivo P D
F que quieras abrir.
R ecuerda 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: AutoP lay M edia S tudio no cuenta con un objeto P D
F. P ara abrir un documento
PD
F en la computadora del usuario, éste debe tener un programa capaz de abrir el
documento (por ejemplo Adobe Acrobat R eader).
Abrir un Archivo PPT/PPS de PowerPoint
P ara abrir una presentación P owerP oint usando AutoP lay M edia S tudio, utiliza la
Acción R á
pida “Open D
ocument” para llamar al documento. U sa el botón Browse que
estájunto a “D
ocument to Open”para seleccionar el archivo P P T /P P S que quieras abrir.
R ecuerda 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: AutoP lay M edia S tudio no cuenta con un objeto P owerP oint. P ara abrir una
presentación P owerP oint en la computadora del usuario, éste debe tener un programa
capaz de abrir la presentación (por ejemplo M icrosoft P owerP oint).
Abrir un Archivo QuickTime MOV
P ara abrir una película Q uickT ime usando AutoP lay M edia S tudio, utiliza la Acción
Rá
pida “Open D
ocument” para llamar al documento. U sa el botón Browse que está
junto a “D
ocument to Open”para seleccionar el archivo .M OV que quieras abrir.
R ecuerda 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: AutoP lay M edia S tudio no cuenta con un objeto Q uickT ime. P ara abrir un
documento Q uickT ime en la computadora del usuario, éste debe tener un programa
capaz de abrir la película (por ejemplo Apple Q uickT ime). Ademá
s, date cuenta que no
utilizamos la Acción R á
pida “P lay M ultimedia”. La Acción R á
pida “P lay M ultimedia”
es sólo para tipos de archivo multimedia que pueden ser reproducidos en el interior de
AutoP lay M edia S tudio.
Abrir un Sitio Web en un Explorador Externo
AutoP lay M edia S tudio contiene una Acción R á
pida incorporada la cual abre un sitio
web en el explorador por defecto del usuario: V iew W ebsite. Esto es útil, por ejemplo,
si quieres tener un botón etiquetado como “Company W ebsite”para abrir el sitio web de
tu compañía en el explorador por defecto del usuario
P ara lograr esto,utiliza la Acción R á
pida “V iew W ebsite”:
1 . Crea un objeto de Botón.
2
2. H az doble click en el objeto de Botón, elige la pestaña Q uick Action (Acción
Rá
pida)y luego elige V iew W ebsite como Action to run (Acción a ejecutarse).
3. En el campo W eb site,escribe la dirección web de tu compañía.
4. H az 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 = CH ANNEL_U S ER 1 ;
Audio.S etV olume(audio_channel,Audio.GetV olume(audio_channel)+ 20);
2. Inserta el siguiente código en el evento On Click del botón que disminuye el
volumen:
audio_channel = CH ANNEL_U S ER 1 ;
Audio.S etV olume(audio_channel,Audio.GetV olume(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. P ara lograr esto en AutoP lay M edia
S tudio,utiliza la acción Audio.S etV olume.
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 S how”de tu pá
gina:
Audio.Load(CH ANNEL_BACK GR OU ND
,"your_audio_here.ogg",true,true);
Audio.S etV olume(CH ANNEL_BACK GR OU ND
,63);-- fija el nivel de volumen en un
25% de 255
3
Ajustar los Atributos de Archivo para Más de un
Archivo
AutoP lay M edia S tudio tiene una acción File.S etAttributes para ajustar los atributos de
un archivo. S i quieres ajustar los atributos de muchos archivos a la vez, necesitas
ejecutar esa acción múltiples veces.U na 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.
U na 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 Ca
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.S etAttributes(filename,{R eadOnly= true});
end
Ajustar los Efectos de Transición de Página
AutoP lay M edia S tudio 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.
P ara lograr esto,utiliza las transiciones de pá
gina:
1 . En el panel P ropiedades de la pá
gina, cambia el campo T ransition de None a la
transición que desees (D
issolve, S lide o W ipe). Ahora, al utilizar una Acción
page jump o una page navigate desde esa pá
gina, la transición que seleccionaste
seráutilizada.
4
La transición no afecta a algunos objetos, tales como web, listbox, etc. P ara utilizar las
transiciones en pá
ginas conteniendo estos objetos,haz lo siguiente:
1 . T oma 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 S how de esta pá
gina, muestra todos los objetos, y oculta la
imagen.
Alternar la Música de Fondo a On/Off
Es posible en AutoP lay M edia S tudio tener música de fondo reproduciéndose en tu
aplicación.
En AutoP lay M edia S tudio esto se logra usando la Acción R á
pida P lay/P ause
Background M usic:
1 . Crea un botón.
2. Elige P lay/P ause Background M usic como la Acción R á
pida para el botón.
Añadir una Contraseña de Protección
H ay 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 AutoP lay M edia S tudio se
consigue esto usando una acción D
ialog.P asswordInput.
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).
P ara lograr esto:
1 .Inserta el siguiente script en el evento “On S how”de la pá
gina:
-- La contraseña “correcta”
real_password = "password";
-- P edir al usuario que escriba la contraseña
user_password = D
ialog.P asswordInput("P assword","P or favor introduce la contraseña:
",M B_ICONQ U ES T ION);
-- Comparar si la contraseña del usuario es la contraseña “correcta”.
-- S i 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 ******. S i la
contraseña correcta es escrita, el programa se abriránormalmente. S i la contraseña
escrita no es la correcta,el programa se cerrará
.
Alternativamente, tú puedes tener una “lista” de contraseñas vá
lidas. P ara lograr esto,
almacena tus contraseñas vá
lidas en una tabla:
1 .Inserta el siguiente script en el evento “On S how”de tu pá
gina:
--S uponer que el usuario escribióuna contraseña incorrecta
correct_password = false;
-- La contraseña “correcta”
real_passwords = {"password","password2","3rdP assword"};
-- P edir al usuario que escriba la contraseña
user_password = D
ialog.P asswordInput("P assword","P or favor introduce la
contraseña: ",M B_ICONQ U ES T ION);
-- 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
--S i 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. U n 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
M edia S tudio 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 P aragraph Object. P ara el propósito de
este ejemplo,asumiremos también que tú tienes el siguiente pá
rrafo en tu proyecto:
1 . U tiliza un H otspot Object y colócalo sobre la frase “Continue… ” en tu
P aragraph Object
2. En la ficha “Q uick Action”del H otspot Object,elige “S how P age”como Action
to run, luego elige “S pecific P age” en P age to show, y elige “P age 2” en P age
name.
Ejemplo 2:
P ara obtener efectos “mouseover” (el texto cambia de color cuando tú posicionas el
ratón encima de la palabra “Continue… ”)no utilices un H otspot, en vez de esto utiliza
un segundo P aragraph Object que contenga sólo el texto que el “mouseover” debería
cambiar:
1 . Crea un P aragraph 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: U sa las flechas del teclado para posicionar exactamente tu segundo P aragraph
Object.
3. S elecciona el color que quieras para el “mouseover”. En la ficha Q uick Action de
este P aragraph Object elige “S how P age”en Action to run;elige “S pecific P age”en
P age to show, y elige “P age 2” en P age name. T ambién puedes hacer que al
posicionar el ratón sobre un objeto de pá
rrafo cambie de dibujo el cursor del ratón;
para ello ve a la ficha “Attributes”y selecciona “H and”en Cursor y listo.
Ejemplo 3:
P ara incluir hipervínculos en un archivo de texto sin utilizar un H otspot Object o un
P aragraph Object,incrusta un archivo H T M L en tu proyecto usando un W eb 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 W eb object y cá
rgale el archivo H T M L deseado.
2. V e a “¿Cómo interactuar con Web objects incrustados?” para establecer la
navegación en tu proyecto,y para un ejemplo de un simple archivo H T M L.
Nota: Esta es la mejor manera de incluir hipervínculos si tu texto no es está
tico con
relación a la pá
gina. M ientras que un P aragraph Object o un H otspot Object son
estacionarios, los vínculos dentro de un archivo H T M L se mueven diná
micamente
basados en el tamaño del W eb 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. P ara
lograr esto en AutoP lay M edia S tudio:
1.
2.
3.
4.
S elecciona el primer objeto.
M antén oprimida la techa Ctrl de tu telado.
S elecciona los demá
s objetos que desees.
S uelta ahora la tecla Ctrl.
Cualquiera de las propiedades que estén disponibles para todos los objetos que
seleccionaste, estará
n visibles en el P anel P ropiedades (P roperties P ane). Ahora puedes
hacer los cambios que requieras.
Consejo: Cuando selecciones múltiples objetos, el mantener oprimida la tecla S hift de
tu teclado tiene las mismas funciones que mantener oprimida la tecla Ctrl.
8
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. AutoP lay M edia
S tudio tiene una opción incorporada para grabar tu proyecto en un intervalo de tiempo
que tú elijas.
P ara habilitar esta opción:
1 . V e al menú Edit > P references.
2. H az click en D
ocument.
3. H abilita la característica Auto S ave y elige el intervalo de tiempo para el
autoguardado.
4. H az click en OK .
Bloquear Objetos
En AutoP lay M edia S tudio es posible bloquear tus objetos a la pá
gina de modo que no
puedan ser movidos a ninguna posición o ser editados al hacer doble click sobre ellos.
El bloquear tus objetos los hace aparecer como si fueran parte del fondo. S i haces doble
click sobre un objeto bloqueado,la ventana P age P roperties serámostrada.
Nota: Aunque un objeto esté bloqueado, aún puedes editarlo desde el panel
P ropiedades.
P ara bloquear un objeto:
1 . S elecciona el objeto deseado.
2. H az click derecho sobre el objeto.
3. Elige Lock.
P ara desbloquear un objeto:
1 . S elecciona el objeto deseado.
2. H az click derecho sobre el objeto.
3. D
eshabilita Lock.
Caducar mi Aplicación Después de Treinta Días
P ara 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, compara el registro con la fecha de expiración (30 días después de
que tu programa por primera vez se instaló)
P ara lograr esto:
9
1 . Inserta el siguiente código dentro del evento On S tartup de tu proyecto:
-- Inicializar variables
days_left = 30;
date_installed = Application.LoadV alue("M y Application ","D
ate 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 = S tring.T oNumber(date_installed);
-- Fue date_installed 0 (inexistente)?
if date_installed = = 0 then
-- El valor fue inexistente,créalo
Application.S aveV alue("M y Application","D
ate Installed",
S ystem.GetD
ate(D
AT E_FM T _JU LIAN));
else
-- Actualizar días que quedan
days_left = (date_installed + time_limit)- S ystem.GetD
ate(D
AT E_FM T _JU LIAN);
end
-- H ay días remanentes?
if days_left < 1 then
-- No hay días remanentes,alertar al usuario y salir.
D
ialog.M essage("Fin del P eriodo de P rueba","Este software ha expirado");
Application.Exit();
else
-- Aún quedan días,alertar al usuario cuá
ntos
D
ialog.M essage("P eriodo de P rueba","T e quedan "..days_left.."días en tu periodo de
prueba.");
end
Caducar mi Aplicación después de Cierta Fecha
P ara 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.S i tu programa ha expirado,se cerrará
.
P ara lograr esto:
1 . Inserta el siguiente código dentro del evento On S tartup de tu proyecto:
--Inserta tu fecha de expiración aquí,con formato Y Y Y Y M M D
D
--(sin espacios,guiones,abreviaturas,etc.,sólo usa números)
--Abajo estála fecha 1 2 de D
iciembre de 2003
Expiration_D
ate = "20031 21 2"
--Obtén la fecha del sistema en formato IS O
10
--Fecha = Y Y Y Y -M M -D
D
D
ate = S ystem.GetD
ate(D
AT E_FM T _IS O);
--Q uita los guiones en la fecha del formato IS O
--para reflejar el formato de nuestra fecha de expiración
--Fecha = = Y Y Y Y M M D
D
D
ate = S tring.R eplace(D
ate,"-","",false);
--comprobar si la aplicación ha expirado
if D
ate > Expiration_D
ate then
--La aplicación ha expirado
D
ialog.M essage ("Aplicación V encida!","T u 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
P ara 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.
P ara lograr esto:
1 . Inserta el siguiente código dentro del evento On S tartup de tu P royecto:
-- Fija el número de veces permitido
times_allowed = 30;
-- R ecupera el número de veces que se ha corrido y convierte el valor en número
times_run = Application.LoadV alue("M i Aplicación","H a S ido Corrida");
times_run = S tring.T oNumber(times_run);
11
-- Calcula el número permitido de veces que quedan para poder correrlo
times_remaining = (times_allowed - times_run)
-- V erifica 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.S aveV alue("M i Aplicación","H a S ido Corrida ","1 ");
else
Application.S aveV alue("M i Aplicación","H a S ido Corrida ",(times_run + 1 ));
end
-- V erifica si la aplicación ha sido corrida má
s veces que las permitidas
if times_run > times_allowed then
D
ialog.M essage("Fin del P eriodo de P rueba","Este software ha expirado");
Application.Exit();
else
D
ialog.M essage("P eriodo de P rueba","P uedes ejecutar este P rograma
"..times_remaining.."veces má
s.");
end
Cambiar el Icono de la Aplicación
P ara cambiar el icono que tu aplicación usa:
1.
2.
3.
4.
H az click en el menu P roject > S ettings
Activa la casilla “Custon Icon”en Options.
H az click en “Browse”y elige el icono que quieras usar.
H az click en OK .
Nota: Cualquier otro icono personalizado que tú elijas debe estar en el formato .ICO
(que es el está
ndar de W indows)
Cambiar el Tamaño de Página
En AutoP lay M edia S tudio, el tamaño predeterminado de un proyecto es de 630 pixeles
de ancho por 425 pixeles de alto.S i tu proyecto requiere diferentes dimensiones,cambia
el tamaño de la ventana en el cuadro de diá
logo P roject S ettings:
1 . V e al menú P roject > S ettings.
2. Cambia el tamaño de la ventana en “W idth” y “H eight” a los valores que
quieras,y haz click en OK .
12
Cambiar el Texto de la Barra de Título
P ara cambiar el texto que aparece en la barra de título de tu aplicación:
1 . V e al menú P roject > S ettings.
2. Escribe el título de tu elección en el á
rea de W indow T itle.
3. H az click en OK .
Cargar y Mostrar un Archivo de Texto
P ara desplegar una gran cantidad de texto en tu pá
gina, utiliza la acción
T extFile.R eadT oS tring y muestra los resultados en un objeto de pá
rrafo.
P ara lograr esto en AutoP lay M edia S tudio:
1 . Elige el menú Object > P aragraph.
2. Inserta el siguiente código dentro de cualquier evento en tu aplicación:
text = T extFile.R eadT oS tring("AutoP lay\\D
ocs\\large_text.txt");
P aragraph.S etT ext("P aragraph1 ",text);
Nota: Acuérdate de añadir un archivo con extensión .txt en la carpeta D
ocs 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(). S in
embargo, si necesitas que tu aplicación termine inmediatamente, en vez de usar
Application.Exit(),usa el siguiente código:
W indow.Close(Application.GetW ndH andle(),CLOS EW ND
_T ER M INAT E);
Comparar Dos Strings (Cadenas)
Las comparaciones de S tring son ejecutadas de la misma forma que las comparaciones
de números. A manera de ejemplo, crearemos dos S prings, y ejecutaremos una acción
basada en sus contenidos:
1 .Crear dos variables conteniendo strings:
13
S tring1 = "S oy S tring1 ";
S tring2 = "S oy S tring2";
2.Comparar las dos strings:
if S tring1 = = S tring2 then
--las dos strings son iguales
else
-- las dos strings no son iguales
if S tring1 > S tring2 then
--S tring1 es alfabéticamente má
s grande que S tring2
elseif S tring1 < S tring2 then
--S tring1 es alfabéticamente má
s pequeña que S tring2
end
end
Nota: S i quieres comparar las longitudes de las dos strings, debes usar la acción
S tring.Length:
if S tring.Length(S tring1 )= = S tring.Length(S tring2)then
--las dos strings tienen la misma longitud
end
Consejo: P ara ejecutar la comparación de dos strings en un caso no sensible, usa una
acción S tring.CompareNoCase.
Copiar un Archivo o una Fuente en el Disco Duro
Con frecuencia es útil copiar un archivo desde el CD
-R OM (o desde otro medio) a la
computadora del usuario. En AutoP lay M edia S tudio, 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 = S hell.GetFolder(S H F_FONT S );
--copiar el archivo desde tu CD
al directorio de fuentes del usuario
File.Copy(_S ourceFolder .."\\my_font.ttf",fonts_dir..\\"my_font.ttf",false,true,false,
true,nil);
--registrar la fuente en W indows
S ystem.R egisterFont(fonts_dir .."\\myfont.ttf","M y Font Name",true);
14
Crear un Botón que Cierre la Aplicación
En AutoP lay M edia S tudio,para crear un botón que cierre la aplicación haz lo siguiente:
1 . V e al menú Object > Button y selecciona un archive de botón para usar.
2. H az doble click en el botón que acabas de incorporar,luego haz click en la ficha
Q uick Action.
3. S elecciona Exit/Close en Action to run.
4. H az 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 CDde audio “enriquecido” el cual se reproduce normalmente en un
reproductor regular de CDy presenta contenido multimedia adicional cuando es
colocado en el CD
-R OM de una computadora.
H ay tres tipos bá
sicos de CD
’s de M odo-M ixto:
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 R OM M odo 1 ,por ello puede ser reproducido prá
cticamente en
cualquier unidad de CD
-R OM .
Contras:
Algunos reproductores de CDintentará
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 CDmá
s viejos normalmente no intentan reproducir la pista de
datos.
Contras:
S i 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 CDno 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
-R OM pueden
“ver”ambas sesiones,y cargará
n tu aplicación AutoP lay.
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
-R OM .
Contras:
Los CD́
s enriquecidos no se pueden reproducir en reproductores P hoto CD
.
S e requiere una unidad de CD
-R OM que pueda leer discos multi-sesión.
16
Conclusión
Nuestra Sugerencia:
T e sugerimos que utilices el tipo “CDEnriquecido”, debido a que cuenta con mayor
compatibilidad. Comúnmente cualquier CD
-R OM creado para W indows 95 o superior
soporta este formato.
Los archivos de datos será
n reconocidos en el Explorador de W indows como si no
hubiera pistas de audio, ya que el Explorador de W indows normalmente sólo puede ver
la última sesión en un disco multi-sesión. P or otra parte, los reproductores de audio
normalmente sólo ven la primer sesión en un disco multi-sesión. P or esto, los
reproductores de audio de CD
-R OM y los stand-alone pueden reproducir las pistas de
audio.
Quemar un CD Enriquecido (CD Extra) con Nero:
P ara quemar un CD
Enriquecido con Nero Burning R OM (6.0 o superior):
1 . S elecciona “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 AutoP lay M edia S tudio 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 W indows)
Abrir una carpeta dentro de tu proyecto:
1 . Crea un W eb Object,y nómbralo W eb1 .
2. Llama la acción W eb.LoadU R L:
W eb.LoadU R L("W eb1 ","C:\\");
Nota: S i el usuario no tiene el Explorador de Internet 4.0 o superior como su explorador
predeterminado,la vista de la carpeta seráen H T M L,y no basada en W indows.
17
Abrir una carpeta en una ventana externa:
1 . Llama la acción File.Open:
File.Open("C:\\","",S W _S H OW NOR M AL);
Abrir una carpeta en una ventana del Explorador:
1 . Llama la acción File.ExploreFolder:
File.ExploreFolder("C:\\",S W _S H OW NOR M AL);
Consejo: S i tu proyecto estásiendo corrido desde la unidad de CD
-R OM del usuario y
deseas explorar el CD
-R OM desde tu aplicación en Autoplay, utiliza _S ourceFolder
como la ruta para explorar/abrir.
Crear un Explorador de Archivos
En AutoP lay M edia S tudio 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 T ext y la ruta de las películas
en la columna Item D
ata.
3.Crear un botón.
4.En el evento On Click de la ficha S cript del botón,añade el siguiente script:
selected = ListBox.GetS elected("ListBox1 ");
file = ListBox.GetItemD
ata("ListBox1 ",selected[1 ]);
File.Open(file,"",S W _S H OW NOR M AL)
Nota: S i tienes habilitada la opción de M ultiple S election en tu listbox, el ejemplo de
arriba sólo abriráel primer archivo seleccionado
Consejo: Q uizá
s podrías añadir algo para prevenir errores que puedan ocurrir. U no 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. P uedes
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
D
e 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.P ara lograr esto en AutoP lay M edia S tudio:
1 . Crea una imagen en un editor de imá
genes externo. En tu proyecto utiliza un H otspot
object para cada á
rea clickeable:
2.Agrega una acción para cada H otspot object en el evento On Click para lograr la tarea
deseada.P or ejemplo,para abrir un Explorador W eb,usa la acción:
File.OpenU R L("http://www.indigorose.com/",S W _S H OW NOR M AL);
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
U na vez que hayas terminado la creación de tu aplicación, AutoP lay M edia S tudio
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.
P ara convertir tu proyecto en un archivo ejecutable:
19
1.
2.
3.
4.
5.
V e al menú P ublish > Build.
S elecciona W eb/Email executable.
H az click en Next.
Introduce la ruta y el nombre de archivo deseados.
H az 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
P ara 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 S ystem.GetD
efaultLangID
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 P reload 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
H abráocasiones en las que querrá
s personalizar la manera en que la información es
desplegada a tus usuarios cuando ciertas acciones son ejecutadas. P ara hacer esto,
tendrá
s que crear una función callback personalizada.
P ara ver un ejemplo de una función callback personalizada, favor de ver el tema
Ejemplos de Funciones Callback.
Crear una Tabla de Contenidos (Un Indice)
U na forma de navegar a través de una aplicación con multi-pá
ginas es utilizar una
pá
gina de T abla de Contenidos. En AutoP lay M edia S tudio 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 T abla
de Contenidos, y dos pá
ginas con el contenido) donde la P á
gina 1 es la T abla de
Contenidos,y las P á
ginas 2 y 3 son las pá
ginas con el contenido:
P ara la primer pá
gina:
1 . Crea dos botones.
2. En la pestaña Q uick Action del primer botón, elige S how P age como action to
run,elige S pecific P age y P age 1 como P roperties.
3. En la pestaña Q uick Action del segundo botón, elige S how P age como action to
run,elige S pecific P age y P age 2 como P roperties.
Nota: Es posible que quieras crear un botón de regreso en cada una de tus pá
ginas de
contenido para volver a la T abla de Contenidos.Esto de logra exactamente de la misma
manera descrita arriba. S implemente tienes que especificar cuá
l pá
gina deseas que se
muestre en las opciones de S how P age de la pestaña Q uick action.
Crear una Ventana que no sea Rectangular
S i una ventana rectangular normal es inapropiada para tu proyecto, es posible crear una
ventana de forma personalizada. P ara lograr esto en AutoP lay M edia S tudio primero
crea una má
scara de transparencia con un editor de imá
genes externo (por ejemplo con
CorelD
raw o Illustrator).
1 . P ara 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 png.
21
4. U na vez que la má
scara ha sido creada,abre un proyecto en blanco en AutoP lay,
luego abre el M enú P roject > S ettings. Click en la pestaña Appearance, habilita
la casilla Custom M ask, 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: S i 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 P roject S ettings 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 AutoP lay M edia S tudio 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. P ara hacer esto haz doble click
sobre la imagen para abrir sus propiedades, luego selecciona la pestaña
Attributes y desactiva la opción “V isible”.
3. Ahora crea un objeto de botón.
4. En el evento On Enter del botón,introduce el siguiente script:
Image.S etV isible("Image1 ",true);
5. En el evento On Leave del botón,introduce el siguiente script:
Image.S etV isible("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: P ara hacer que aparezca texto en un mouseover, sigue los pasos anteriores,
pero con un Objeto de P á
rrafo en lugar de un Objeto de Imagen.Ademá
s debes sustituir
Image.S etV isible por P aragraph.S etV isible.
Desplegar un Diálogo Guardar Como (Save As)
U n cuadro de diá
logo Guardar Como es con frecuencia presentado para permitir al
usuario que seleccione una ubicación para guardar un archivo.
P ara desplegar un cuadro de D
iá
logo Guardar Como usando AutoP lay M edia S tudio:
22
1 . Crea una acción D
ialog.FileBrowse. Establece la propiedad FileOpen como
false:
file= D
ialog.FileBrowse(false,"S ave 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. P ara 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. S i 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
AutoP lay M edia S tudio incluye una acción para detectar qué S istema Operativo está
corriendo:
1 . Agrega el siguiente script a cualquier evento en tu aplicación para almacenar la
versión del S istema Operativo del usuario en una variable OS _Name:
OS _Name = "OS Name: "..S ystem.GetOS Name();
Nota: AutoP lay tiene otra función integrada: S ystem.GetOsV ersionInfo(), la cual
regresa información de la versión del S istema Operativo del usuario en una tabla.
Detectar qué versión de Internet Explorer está
Instalada
P ara detectar la versión de Internet Explorer que estáinstalada en el sistema del usuario:
1 .H abilita la dependencia Internet Explorer
Nota: S i 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 S cript en el evento On S how de la primer pá
gina:
if _InternetExplorerV er = = "0.0.0.0"then
D
ialog.M essage("Internet Explorer","Internet Explorer is not installed");
else
23
D
ialog.M essage("Internet Explorer","la versión Internet Explorer"..
_InternetExplorerV er .."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 AutoP lay M edia S tudio es posible detectar el momento en que una película Flash
finalizó usando un FS Command. Esto es útil si, por ejemplo, quieres navegar a otra
pá
gina una vez que tu película Flash ha terminado.
P ara lograr esto:
1 . En M acromedia Flash: Crea una película Flash la cual contenga un FS Command en
el fotograma final de la línea de tiempo:
fscommand("quit","");
2.Inserta el siguiente código dentro del evento On FS Command de tu objeto Flash
if e_FS Command = = "quit"then
-- Cualquier script que pongas aquí,se ejecutarácuando tu película Flash termine.
end
Detectar si el Acceso a Internet está Disponible
S i 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.
P ara lograr esto en AutoP lay M edia S tudio:
1 .Introduce el siguiente script dentro de un evento en tu aplicación:
connected = H T T P .T estConnection("http://www.indigorose.com",20,80,nil,nil);
if connected then
--Insert your internet related action here
else
D
ialog.M essage("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.S i después de 20 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 AutoP lay M edia S tudio, 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 W eb después de que el video terminó,o redirigirlo a otro video.
P ara lanzar tu sitio W eb cuando un video ha finalizado, coloca el siguiente S cript en el
evento On Finish del V ideo Object:
File.OpenU R L("http://www.indigorose.com/",S W _S H OW NOR M AL);
Determinar el Lenguaje del Sistema Operativo
En AutoP lay M edia S tudio, para determinar el lenguaje del S istema Operativo del
usuario y almacenarlo en una variable user_language:
user_language = S ystem.GetD
efaultLangID
;
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 S istema del usuario, es útil asegurarse que se tiene
suficiente espacio libre en su disco duro para alojar dicho software.
P ara lograr esto en AutoP lay M edia S tudio:
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 = D
rive.GetFreeS pace("C:");
--comparar el espacio libre disponible con el espacio libre requerido
if space_required > space_available then
D
ialog.M essage("","Necesitas "..(space_required - space_available).."M Bmá
s");
else
D
ialog.M essage("","T ienes "..(space_available - space_required).."M Bmá
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
P ara determinar cuá
l es el disco duro principal del usuario en AutoP lay M edia S tudio,
utiliza la acción D
rive.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 = D
rive.Enumerate();
-- Ir directo a la lista
for j in drives do
-- Obtener el tipo de unidad
type = D
rive.GetT ype(drives[j]);
-- V erificar 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
-- R esultado de salida para el usuario
D
ialog.M essage("","El disco duro principal del usuario es "..first_hdd);
26
Determinar si una Red (LAN) está Presente
En AutoP lay M edia S tudio,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 = S ystem.GetLANInfo();
lan_exist = true;
for j in lan do
if lan[j] = = "U nknown"then
lan_exist = false;
end
end
if lan_exist then
D
ialog.M essage("","Está
s conectado a una LAN");
else
D
ialog.M essage("","No está
s conectado a una LAN");
end
Nota: Este ejemplo trabaja en W indows 98 P rimera Edición, W indows 98 S egunda
Edición, W indows 2000 y W indows XP . W indows 95 y W indows NT no se adaptan a
este modelo.P ara detectar una conexión LAN en todos los sistemas operativos, primero
detecta el sistema operativo del usuario e introduce un S cript 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 AutoP lay puede soportar una resolución de 640x480.
Nuestro tamaño de proyecto por defecto es compatible con una resolución de 640x480.
S i 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.
T ambién crear un proyecto “maestro” que determine la resolución del usuario
(S ystem.GetD
isplayInfo),y tenerlo para lanzar la aplicación al tamaño apropiado.
S i estas dos opciones son inaceptables, AutoP lay incluye acciones para redimensionar y
reposicionar objetos de tu pá
gina. D
el 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 S ize es detonado.
27
Duplicar Objetos
P ara duplicar un Objeto en AutoP lay M edia S tudio:
1 . S elecciona el objeto deseado (haciendo click izquierdo sobre él una vez).
2. V e al menú Edit > D
uplicate. (T ambién puedes presionar Ctrl+ Dsi prefieres
usar el teclado.)
Nota: Esto duplica el objeto,incluyendo todas las propiedades configuradas y todos los
scripts de los eventos. T odas las referencias del objeto duplicado son absolutas, no
relativas
P ara 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.S etT ext(this,"R atón");
2. Inserta el siguiente código dentro del evento On Leave de tu botón:
Button.S etT ext(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 R eader ellos mismos desde el sitio web de Adobe. P uedes entonces
simplemente utilizar una acción File.Open para ver el archivo P D
F. S i requieres otra
opción,por favor lee la siguiente información,pero debes estar al tanto que Indigo R ose
no puede proporcionarte má
s asistencia o guía legal sobre los detalles de
implementación.
1 . Instala Acrobat R eader (4.0 o superior)en una P Csin Acrobat.
2. Arrastra la carpeta \Acrobat x.x\y todo su contenido dentro de tu carpeta de
distribución.(CD
_R OOT )
*Este directorio es normalmente encontrado en c:\program files\adobe\
directory.
Nota: La carpeta “Acrobat x.x” no es 1 00% compatible con algunos de los está
ndares
nombrados IS O, 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 R eader requieren que incluyas:
- El instalador Acrobat R eader,exactamente como es proporcionado por Adobe.
- El Acuerdo de Licencia Electrónico de U suario Final del Acrobat R eader.(Este
es un archivo .T XT que R eader instala en \Acrobat x.x\R eader\)
-D
erechos de Autor y otras noticias del propietario incluidas en Acrobat R eader.
(Asumiendo que copias todos los archivos en la carpeta \Acrobat x.x\R eader\
tendrá
s todo lo necesario,excepto el instalador Acrobat R eader).
4. U tiliza la siguiente acción para abrir tu documento P D
F usando el lector en tu
CD
:
path_short = File.GetS hortName(_S ourceFolder);
File.R un("Acrobat 5.0\\R eader\\AcroR d32.exe",path_short ..
"\\AutoP lay\\D
ocs\\luabook1 .pdf","",S W _S H OW NOR M AL,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)
AutoP lay M edia S tudio 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.
P ara habilitar esta opción:
1.
2.
3.
4.
Elige el menú P roject > S ettings.
En la pestaña “Appearance”selecciona la opción de Estilo K iosk.
S elecciona tu color de fondo deseado.
H az click en OK .
Ejecutar mi Aplicación Sólo Una Vez
P ara correr tu aplicación sólo una vez (por ejemplo,la primera vez que el usuario inserta
tu CD
-R OM , y no otra vez) coloca el siguiente código en el evento On S tartup de tu
proyecto:
--recupera o regresa el valor del registro.S i la clave no existe,result = ""
result = Application.LoadV alue("Application_Name","First_T ime");
--si no hubo una clave,el programa nunca ha sido corrido
if result = = ""then
Application.S aveV alue("Application_Name","First_T ime","yes");
29
D
ialog.M essage("M ensaje","Esta es la primera vez que este programa se ha
corrido");
else
Application.Exit();
end
Consejo: T ambién puedes utilizar W indow.Close(Application.GetW ndH andle(),
CLOS EW ND
_T ER M INAT E) en lugar de Application.Exit(). Esto cerrarála ventana
antes de que la ventana misma aparezca (es decir,el usuario no veránada).
Ejecutar un Archivo Ejecutable
AutoP lay M edia S tudio incluye una Q uick 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 AutoP lay M edia S tudio
usando la Acción R á
pida “R un P rogram”.
P uedes 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 AutoP lay M edia S tudio, 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.R un, y
ajustando la propiedad W aitForR eturn a true:
File.R un("c:\\ejemplo.exe","","",S W _S H OW NOR M AL,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 Aplicacion1 01 . El programa de instalación de Acrobat requeriráque el usuario
reinicie su computadora una vez que la instalación se complete. P ara 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.LoadV alue("S ettings","R eboot");
if reboot = = ""then
S hell.CreateS hortcut(S hell.GetFolder(S H F_S T AR T U P _COM M ON),"T emporary
S hortcut","Autorun.exe","","","Autorun.exe",0,S W _S H OW NOR M AL);
Application.S aveV alue("S ettings","R eboot","done");
else
S hell.D
eleteS hortcut(S hell.GetFolder(S H F_S T AR T U P _COM M ON),"T emporary
S hortcut");
Application.S aveV alue("S ettings","R eboot","");
end
Nota: Este script agrega un atajo temporal a la carpeta de arranque de W indows.
Cuando tu aplicación es ejecutada después de un reinicio, el atajo temporal es
eliminado.
Eliminar Archivos Sin Uso de Mi Proyecto
D
urante 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.
P ara 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. S in 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 AutoP lay M edia S tudio,estos archivos pueden ser removidos automá
ticamente:
1 . Elige el menú T ools > Optimize R esources.
2. S elecciona las carpetas del proyecto que quieras limpiar.
3. H az 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: H abilita 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 AutoP lay M edia S tudio 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:
T extFile.W riteFromS tring("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 P royecto, 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 S tartup o en el evento On P reload de
tu proyecto:
-- Carga el último nombre utilizado por el usuario
user = Application.LoadV alue("Information","Name");
-- había un nombre de usuario ya almacenado?
if user = = ""then
-- No! Advierte al usuario que ponga su nombre.
user = "U suario D
esconocido";
user = D
ialog.Input("Información R equerida","P or favor introduce tu nombre
completo:","",M B_ICONQ U ES T ION);
Application.S aveV alue("Information","Name",user);
end
-- D
evuelve un mensaje de bienvenida
D
ialog.M essage("Bienvenido","H ola "..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 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 :
--D
eshabilitar la actualización de la ListBox
ListBox.S etU pdate("ListBox1 ",false);
--Obtener la carpeta a explorar deseada
folder = D
ialog.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 ",S tring.S plitP ath(file_path).Filename,file_path);
end
--permitir que la ListBox muestre el contenido actualizado
ListBox.S etU pdate("ListBox1 ",true);
4. Inserta el siguiente código dentro del evento On Click del botón 2:
selected = ListBox.GetS elected("ListBox1 ");
for j,k in selected do
File.Open(ListBox.GetItemD
ata("ListBox1 ",k),"",S W _S H OW NOR M AL);
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.S etU pdate("ListBox1 ",false);
--obtener la carpeta a explorar deseada
folder = D
ialog.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 ",S tring.S plitP ath(file_path).Filename,file_path);
end
end
--P ermitir que la listbox muestre el contenido actualizado
ListBox.S etU pdate("ListBox1 ",true);
4. Inserta el siguiente código dentro del evento On Click del Button2:
selected = ListBox.GetS elected("ListBox1 ");
for j,k in selected do
Image.Load("Image1 ",ListBox.GetItemD
ata("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. P ara lograr esto en
AutoP lay M edia S tudio,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 la miniatura sea clickeada.
Ejemplo 1
1 . Crea un proyecto con dos pá
ginas. En la primera pá
gina (P age1 ) estarátu
miniatura,en tu segunda pá
gina (P age2)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):
P age.Jump("P age2");
3. En tu segunda pá
gina, podrías incluir un botón de retorno que haga saltar atrá
s
hacia la primer pá
gina. U sa la siguiente acción para el evento On Click de este
botón:
34
P age.Jump("P age1 ");
Nota: S i 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.D
ales 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.S etV isible("Image2",true);
5. Crea una acción para la Image2 que la oculte cuando ésta sea clickeada (usa el
evento On Click):
Image.S etV isible("Image2",false);
Nota: S i deseas puedes incluir má
s imá
genes, por cada imagen haz una miniatura y una
grande. P ara ver detalles y scripts de este ejemplo revisa el archivo de proyecto “H acer
un Explorador de Imá
genes M iniatura 2”que estáen la carpeta “Ejemplos”.
Hacer un Menú Desplegable
P ara crear un menú desplegable en AutoP lay M edia S tudio:
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.S etV isible("Label2",false);
Label.S etV isible("Label3",false);
Label.S etV isible("Label4",false);
Label.S etV isible("Label5",false);
Label.S etV isible("Label6",false);
visible = false;
else
Label.S etV isible("Label2",true);
Label.S etV isible("Label3",true);
Label.S etV isible("Label4",true);
Label.S etV isible("Label5",true);
Label.S etV isible("Label6",true);
visible = true;
end
3. Inserta el siguiente código dentro de tus Funciones Globales:
visible = false;
Hacer un Proyector de Diapositivas
Consejo: AutoP lay M edia S tudio 7 ahora contiene un Objeto S lideS how 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 AutoP lay M edia S tudio, esto se logra creando un proyecto con una
pá
gina por cada imagen que desees mostrar.
1 . P ara 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 S how de cada pá
gina en tu proyecto:
P age.S tartT imer(5000);--iniciar el cronómetro una vez cada 5 segundos.
3. Crea la siguiente acción en el evento On T imer de cada pá
gina de tu proyecto:
P age.Navigate(P AGE_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 S how de tu última pá
gina:
36
P age.S topT imer();--detener el cronómetro
Nota: Los eventos On T imer y On S how 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: AutoP lay M edia S tudio 7 ahora contiene un Objeto S lideS how 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 S how de cada pá
gina:
Audio.Load(CH ANNEL_U S ER 1 ,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.S etT ext("Input1 ",e_S tate);
if e_S tate = = "Finish"then
audio_count = audio_count + 1 ;
P age.Navigate(P AGE_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: S i quieres tener música de fondo escuchá
ndose en tu aplicación, inserta el
siguiente código dentro del evento On S how 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(CH ANNEL_BACK GR OU ND
, "AutoP lay\\Audio\\background.ogg, true,
true);
Audio.S etV olume(CH ANNEL_BACK GR OU ND
, (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 = {Q uestion= "¿Cuá
ntas patas tiene un perro de tres patas?",A1 = "U na",
A2= "D
os",A3= "Cuatro",ACorrect= "T res"};
Q _02 = {Q uestion= "¿Cuá
ntas patas tiene un gato de una pata?",A1 = "T res",
A2= "D
os",A3= "Cuatro",ACorrect= "U na"};
Correct= {Q 1 = "",Q 2= ""};
3. En la P á
gina 1 ,crea un objeto de pá
rrafo,y cuatro objetos de botón.
4. En el evento On P reload de la P á
gina 1 ,inserta el código siguiente:
P aragraph.S etT ext("P aragraph2",Q _01 .Q uestion);
Button.S etT ext("Button1 ",Q _01 .A2);
Button.S etT ext("Button2",Q _01 .A1 );
Button.S etT ext("Button3",Q _01 .ACorrect);
Button.S etT ext("Button4",Q _01 .A3);
5. Inserta el siguiente código dentro del evento On Click del Botón 1 :
Correct.Q 1 = "Incorrecta";
P age.Navigate(P AGE_NEXT );
6. Inserta el siguiente código dentro del evento On Click del Botón 2:
Correct.Q 1 = "Incorrecta";
P age.Navigate(P AGE_NEXT );
7. Inserta el siguiente código dentro del evento On Click del Botón 3:
Correct.Q 1 = "Correcta";
P age.Navigate(P AGE_NEXT );
38
8. Inserta el siguiente código dentro del evento On Click del Botón 4:
Correct.Q 1 = "Incorrecta";
P age.Navigate(P AGE_NEXT );
9. En la P á
gina 2,crea un objeto de pá
rrafo,y 4 objetos de botón.
1 0.En el evento On P reload de la P á
gina 2,inserta el código siguiente:
P aragraph.S etT ext("P aragraph2",Q _02.Q uestion);
Button.S etT ext("Button1 ",Q _02.A3);
Button.S etT ext("Button2",Q _02.A2);
Button.S etT ext("Button3",Q _02.A1 );
Button.S etT ext("Button4",Q _02.ACorrect);
1 1 .Inserta el siguiente código dentro del evento On Click del Botón 1 :
Correct.Q 2 = "Incorrecta";
P age.Navigate(P AGE_NEXT );
1 2.Inserta el siguiente código dentro del evento On Click del Botón 2:
Correct.Q 2 = "Incorrecta";
P age.Navigate(P AGE_NEXT );
1 3.Inserta el siguiente código dentro del evento On Click del Botón 3:
Correct.Q 2 = "Incorrecta";
P age.Navigate(P AGE_NEXT );
1 4.Inserta el siguiente código dentro del evento On Click del Botón 4:
Correct.Q 2 = "Correcta";
P age.Navigate(P AGE_NEXT );
1 5.Crea un objeto de pá
rrafo en la última pá
gina de tu proyecto.
1 6.Inserta el siguiente código dentro del evento On P reload 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
P aragraph.S etT ext("P aragraph2",
"P regunta 1 : "..Correct.Q 1 .."\r\n"..
39
"P regunta 2: "..Correct.Q 2 .."\r\n"..
"R espondiste correctamente "..correct .."de "..possible .."posibles preguntas para
una calificación de "..((correct/possible)*1 00).."% ."
);
Hacer una Imagen Semi-Transparente
En AutoP lay M edia S tudio 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 P ropiedades
1 . Crea un objeto de Imagen.
2. En el panel P ropiedades, cambia la configuración de opacidad a la opacidad
deseada.
Nota: El número de opacidad es un porcentaje. U n valor de 1 00 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.D
e modo que si cambias el fondo de la pá
gina 1 , los fondos de las pá
ginas 2 y 3
como consecuencia cambiará
n.
P ara lograr esto en AutoP lay M edia S tudio:
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. V e a la P á
gina 2.
40
4. En el panel P ropiedades, cambia la propiedad Inherit Background de P age2 a
P age1 .
5. Ahora ve a la P á
gina 3.
6. En el panel P ropiedades, cambia la propiedad Inherit Background de P age3 a
P age1 .
Nota: T ambién puedes heredar objetos desde una pá
gina en tu proyecto. P ara heredar
todos los objetos de la P á
gina 1 , fija la categoría Inherit Objects del P anel P ropiedades
(en tu pá
gina deseada)a la P age1 .
41
Imprimir un Archivo
P ara imprimir un archivo desde tu aplicación,utiliza la acción rá
pida “P rint D
ocument”.
H az click en el botón “Browse” del campo “D
ocument 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 W indows y seleccionar “Imprimir”.
Incrustar una Ventana de Navegador Web
AutoP lay M edia S tudio incluye un objeto web para desplegar un sitio web dentro de tu
aplicación.P ara añadir un sitio web a tu proyecto:
1 . Elije Object > W eb.
2. En el diá
logo New W eb Object, introduce la dirección web deseada en la
configuración U R L y haz click en OK .
Inmovilizar Objetos
U na 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.
P ara apuntalar un objeto:
1 . S elecciona el objeto deseado.
42
2. H az click derecho sobre el objeto.
3. Elige P in.
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.
T en bien claro que no es lo mismo Apuntalar (P in)que Bloquear (Lock).
P ara desapuntalar un objeto:
1 . S elecciona el objeto deseado.
2. H az click derecho sobre el objeto.
3. D
eshabilita P in.
Interactuar con Objetos Flash Incrustados
AutoP lay M edia S tudio es capaz de “colectar” FS _Commands de una película Flash
incrustada. R ecibirá
s el FS _Command, y luego completará
s una acción basada en este
comando,utilizando una declaración if.
P or favor dirígete a la sección Interactuar con objetos web 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 AutoP lay M edia S tudio, es posible navegar de tu proyecto usando un archivo H T M L
incrustado.
P or ejemplo, asumamos que quieres tener el siguiente archivo H T M L en un objeto web
(nombremos al archivo index.html):
<html>
<body>
<a href= "#P age2">Go to P age 2</a>
</body>
</html>
1 . Crea un objeto web en la pá
gina de la aplicación que cargue index.html.
Nómbralo "W eb1 ".
2. Inserta el siguiente script en el evento On P reload de la pá
gina:
W eb.LoadU R L("W eb1 ","AutoP lay\\D
ocs\\index.html");
43
Las líneas anteriores redireccionan el objeto web llamado W eb1 hacia
AutoP lay\D
ocs\index.html. Esto es necesario debido a que la U R L 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 U R L en este objeto web cada vez que la pá
gina se cargue, ésta aún tendrála U R L
#P age2 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 (#)
nP os = S tring.R everseFind(e_U R L,"#",true);
-- ¿se encontróalgún #?
if nP os then
-- obtener todo a la derecha del #
strP age = S tring.M id(e_U R L,nP os + 1 ,-1 );
--[[ saltar al nombre de la pá
gina que extrajimos de
la U R L.S i no hay pá
gina con ese nombre,
el P age.Jump no haránada.]]
P age.Jump(strP age);
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_U R L. La acción S tring.R everseFind busca el símbolo # y, si lo encuentra, una acción
S tring.M id 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
P age.Jump.
Nota: Cuando el usuario clickea sobre el enlace '
Go to P age 2'en nuestro archivo de
ejemplo H T M L,la aplicación saltaráa “P age2”.
Leer Líneas Específicas de un Archivo de Texto
P ara recuperar líneas específicas de un archivo de texto en AutoP lay M edia S tudio, usa
la acción R eadT oT able.
Como ejemplo, leeremos el archivo C:\test.txt dentro de una tabla variable, luego
devolveremos de la línea 4 a la 1 0 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 = 1 0;
44
-- llena una tabla con el contenido de un archivo de texto
tabT ext = T extFile.R eadT oT able("c:\\test.txt");
-- Inicializa la variable strLinesOfT ext
strLinesOfT ext = "";
-- 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 strLengthOfT ext
strLinesOfT ext = strLinesOfT ext .."\r\n".."Line "..line ..": "..tabT ext[line]..
"\r\n";
line = line + 1 ;
end
-- S alida para el usuario
P aragraph.S etT ext("P aragraph1 ",strLinesOfT ext);
Mandar un E-mail con Asunto, Cuerpo y Archivo
Adjunto
P ara mandar un E-mail con varios campos llenos, utiliza la acción File.OpenEmail. Lo
siguiente
puede
ser
llenado
en:
T o,Cc,Bcc,S ubject,Body.
1 . P ara mandar un E-mail con las siguientes propiedades:
T o: user@ yourdomain.com
Cc: user2@ yourdomain.com
Bcc: user3@ yourdomain.com
S ubject: T u asunto aquí
Body: Lo que quieras como cuerpo del E-mail aquí
U tiliza la siguiente acción:
File.OpenEmail("user@ yourdomain.com?CC= user2@ yourdomain.com&BCC= user3@
yourdomain.com&S ubject= Y our subject here&Body= W hatever you want as your email
body here",S W _S H OW NOR M AL);
Nota: P ara mandar un E-mail con un archivo adjunto, tendrá
s que codificar el archivo
(en formato U uencode) e incluirlo en el cuerpo del mensaje del E-mail. Esta es una
implementación avanzada de la acción File.OpenEmail. Indigo R ose no puede ayudarte
con detalles de implementación. D
ebes 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 AutoP lay, 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.
P ara mantener la proporción dimensional de cualquier objeto en el ambiente de diseño
de AutoP lay:
1 . S elecciona tu objeto deseado haciendo un solo click sobre él.
2. Ahora haz click derecho sobre el objeto que acabas de seleccionar.
3. H az click en K eep Aspect.
Nota: S i K eep Aspect tiene una marca de verificación junto a él, entonces la opción ya
estaba habilitada.
Nota: S i bien una etiqueta de menú de click derecho del objeto tiene la opción K eep
Aspect, estápermanentemente establecida para mantener su proporción dimensional.
No es posible apagar esta opción.
P ara mantener temporalmente la proporción dimensional de un objeto, deja presionadas
las teclas Ctrl y S hift 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 P ropiedades con las teclas Ctrl y
S hift presionadas no mantendrála proporción dimensional.
Mantener mi Aplicación Siempre más Arriba
Autoplay M edia S tudio 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. P ara lograr esto,
elige la opción en el cuadro de diá
logo P roject S ettings:
1 . Elige el menú P roject > S ettings.
2. H abilita la opción Always On T op.
3. H az click en OK .
Mostrar una Imagen en Splah
P ara desplegar una imagen en splash utilizando AutoP lay M edia S tudio:
46
1 . Inserta el siguiente código dentro de cualquier evento en tu aplicación:
D
ialog.S plashImage("AutoP lay\\Images\\splash.jpg",5,false);
Nota: Obviamente, primero deberá
s cargar la imagen en la carpeta “Images” de
AutoP lay.
Consejo: P ara desplegar la imagen en splash antes de que tu aplicación se cargue,
inserta el código de arriba dentro del evento On S tartup de las Acciones del P royecto
(M enú P rojectÆActions).
Obtener la Información del Usuario Registrado de la
Computadora
P ara detectar el usuario registrado del sistema,en AutoP lay M edia S tudio:
1 . Inserta el siguiente script en el evento On S tartup de tu proyecto:
user = S ystem.GetU serInfo();
Nota: El usuario es una variable de tabla. P ara mostrar esta información en una pá
gina
de tu aplicación,establece referencias para:
user.R egOwner – el propietario registrado de la computadora
user.R egOrganization – la organización registrada
Obtener la Ruta de una Carpeta del Sistema
AutoP lay M edia S tudio incluye una acción para obtener las trayectorias de varias
carpetas en tu computadora.P ara lograr esto,utiliza la acción S hell.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 = S hell.GetFolder(S H F_D
ES K T OP );
Ocultar la Barra de Título
P ara ocultar la Barra de T ítulo de la aplicación AutoP lay:
47
1 . V e al menú P roject > S ettings.
2. Cambia el estilo de la ventana a Flat.
3. H az click en OK .
Ocultar un Objeto
H ay dos instancias en las que se pueden querer ocultar un objeto: P or el usuario en
tiempo de ejecución,o por ti mismo en tiempo de 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 S how de tu pá
gina:
Button.S etV isible("Button1 ",false);
Consejo: P ara mostrar el objeto de botón, inserta el siguiente código dentro de un
evento en tu aplicación
Button.S etV isible("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.
P ara ocultar un objeto en tiempo de diseño:
1 . S elecciona el objeto deseado.
2. En el P anel P ropiedades,cambia el atributo V isible a false.
Consejo: P ara mostrar un objeto en el tiempo de diseño que estáactualmente oculto,
cambia el atributo V isible a true.
Ocultar una Aplicación en Tiempo de Ejecución
AutoP lay M edia S tudio 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). P ara
habilitar esta opción:
1. D
irígete al menú P roject > S ettings.
2. S elecciona la opción H idden.
3. H az click en OK .
48
Consejo: P ara que realmente esté oculta la ventana de la aplicación, utiliza una acción
W indow.H ide
Pausar la Música de Fondo
Cuando hay música de fondo en una presentación, algunas veces es necesario pausarla.
En AutoP lay M edia S tudio esto se logra usando la Acción R á
pida “P lay/P ause
Background M usic”.
Esta acción rá
pida pausarála música de fondo si se estáreproduciendo,y la reproducirá
si estáen pausa.
R ecuerda crear antes un botón y asignarle esta acción rá
pida.
Recordar 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. P ero solamente quieres preguntarle al usuario la
primera vez que corra el programa. En cada lanzamiento subsecuente de tu aplicación,
deseas mostrar/ocultar el objeto de V ideo basado en la preferencia inicial del usuario.
P ara lograr esto en AutoP lay M edia S tudio:
1 . Inserta el siguiente código dentro del evento On P reload de la pá
gina que
contiene el objeto de V ideo:
visible = Application.LoadV alue("Application","V ideo");
if visible = = ""then
visible = D
ialog.M essage("V ideos visibles","Q uieres que los videos estén visibles?",
M B_Y ES NO);
Application.S aveV alue("Application","V ideo",visible);
end
if S tring.T oNumber(visible)= = 7 then
V ideo.S etV isible("V ideo1 ",false);
end
Nota: Este script no le da al usuario una segunda elección. U na vez que él elija yes/no,
esa elección serápermanente. S i 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 = D
ialog.M essage("V ideos visibles","Q uieres que los V ideos estén visibles la
próxima vez que ejecutes el programa?",M B_Y ES NO);
Application.S aveV alue("Application","V ideo",visible);
49
Redondear un Número hacia Abajo
AutoP lay M edia S tudio incluye una acción incorporada para redondear cualquier
número hacia abajo del próximo número entero. P ara lograr esto, utiliza la acción
M ath.Floor.
your_number = 3.1 41 5;
your_rounded_number = M ath.Floor(your_number);
Nota: Este script ajustarála variable your_rounded_number a 3.
Redondear un Número hacia Arriba
AutoP lay M edia S tudio incluye una acción incorporada para redondear cualquier
número hacia arriba del próximo número entero.P ara lograr esto,utiliza la acción M ath.
your_number = 3.1 41 5;
your_rounded_number = M ath.Ceil(your_number);
Nota: Este script ajustarála variable your_rounded_number a 4.
Redondear un Número hacia Arriba o hacia Abajo
S i quieres que todas las fracciones se redondeen hacia arriba (por ejemplo 2.1 -> 3.0,
2.5 -> 3.0)entonces utiliza M ath.Ceil.(V e “Redondear un Número hacia Arriba”).
S i quieres que todas las fracciones se redondeen hacia abajo (por ejemplo 2.1 -> 2.0,
2.5 -> 2.0)entonces utiliza M ath.Floor.(V e “Redondear un Número hacia Abajo”).
S i 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 = M ath.R ound(n);
Referir Información a un Sitio Web
AutoP lay M edia S tudio tiene una función incorporada para mandar datos a un sitio web
y recibir una respuesta:
•
H T T P .S ubmit
50
P ara referir información a un sitio web,utiliza la acción H T T P .S ubmit.P or favor ten en
cuenta que tienes que desarrollar un script servidor para aceptar cualquier dato que estés
mandando a la web.
H T T P .S ubmit toma la respuesta de tu script servidor y la almacena en una cadena.
U na posible implementación de esto sería lo siguiente:
1. D
esarrolla un script que pueda aceptar cualquier dato que desees pasarlo desde
AutoP lay,y regresa algún valor.
2. U sa la acción H T T P .S ubmit para referir tus datos a tu script (localizado en tu
servidor web).
3. P rocesa la cadena devuelta.
Nota: Esta es una muy compleja implementación de AutoP lay M edia S tudio. T endrá
s
que coordinarte con el desarrollador de tu sitio web para decidir sobre un plan de
implementación.
Reiniciar el Sistema
P ara reiniciar el sistema del usuario desde tu aplicación:
1 . Inserta la siguiente acción dentro de un evento en tu aplicación:
S ystem.R eboot();
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 T imer en AutoP lay M edia S tudio:
1.
2.
3.
4.
H az doble click en la pá
gina en uso.
Elige la pestaña S cript.
H az click en la pestaña del evento On T imer.
Añade aquí tu acción.
P ara comenzar ejecutando las acciones en el evento On T imer, utiliza la siguiente
acción:
P age.S tartT imer(5000) --lanza las acciones On T imer 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 S how de la pá
gina
Nota: La acción P age.S tartT imer sólo tiene que ser ejecutada una vez para iniciar el
cronómetro. Las acciones en el evento On T imer continuará
n siendo ejecutadas hasta
que la acción S topT imer sea llamada.
Consejo: P ara detener la acción de encendido del cronómetro, utiliza la acción
P age.S topT imer();
Reproducir Múltiples Archivos de Audio en Secuencia
En AutoP lay M edia S tudio 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.
P ara lograr esto:
1 . Inserta el siguiente código dentro de tus Funciones Globales (haciendo click en
P roject > 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 S how de tu pá
gina:
Audio.Load(CH ANNEL_U S ER 1 ,audio[audio_count],true,false);
3. Inserta el siguiente código dentro del evento On Audio de tu pá
gina:
if e_S tate = = "Finish"then
audio_count = audio_count + 1 ;
--se asegura de que un archivo vá
lido fue cargado
if audio_count < T able.Count(audio)+ 1 then
Audio.Load(CH ANNEL_U S ER 1 ,audio[audio_count],true,false);
end
end
52
Reproducir Múltiples Archivos de Video en Secuencia
En AutoP lay M edia S tudio 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 V ideo.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.
P ara 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 = D
ialog.FileBrowse(true,"Load V ideos","","","","",true,true);
V ideo.Load("V ideo1 ",video[video_count],true,false);
3. Inserta el siguiente código dentro del evento On Finish del objeto de V ideo
previamente creado:
--Atraviesa la tabla
video_count = video_count + 1 ;
--S e asegura que un archivo vá
lido serácargado
if video_count < T able.Count[video]+ 1 then
--carga el archivo
V ideo.Load("V ideo1 ",video[video_count],true,false);
end
Reproducir Música de Fondo
R eproducir 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 S how 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(CH ANNEL_BACK GR OU ND
,"AutoP lay\\Audio\\background.ogg",true,
true);
Nota: P ara 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: R ecuerda que debes añadir el archivo de la música de fondo a la carpeta Audio
de AutoP lay.Es decir,no solamente lo añadas en el S cript.
U na forma alternativa de añadir música de fondo a tu aplicación es usando la pestaña
Background M usic del cuadro de diá
logo Audio S ettings. P ara acceder a este cuadro de
diá
logo:
1.
2.
3.
4.
Elige P roject > Audio.
H az click en el botón Add.
S elecciona tu archivo de audio.
H az click en OK .
Nota: R epite 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
AutoP lay M edia S tudio incluye un objeto de V ideo capaz de reproducir cualquier
archivo de película que sea soportado por W indows M edia P layer.
P ara reproducir un archivo AV I en AutoP lay M edia S tudio, crea un objeto de V ideo en
la pá
gina deseada:
1 . Elige Object > V ideo.
2. S elecciona un archivo AV I.
3. H az click en OK .
Nota: S i tu archivo AV I 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
AutoP lay M edia S tudio tiene una opción para añadir un video introductorio a tu
presentación.
P ara lograr esto:
54
1.
2.
3.
4.
Elige en el menú P roject > S tartup M ovie.
H abilita la opción P lay S tartup M ovie.
Agrega tu archivo de película y configura los ajustes del proyecto.
H az click en OK .
Nota: S i deshabilitas la opción Allow Click to S kip, la película permanecerávisible
hasta que se complete. S i esta opción es habilitada, el usuario puede hacer click en tu
película introductoria para detenerla e ir directamente a la aplicación.
Reproducir un Video Utilizando el Modo Full Screen
AutoP lay M edia S tudio incluye una acción para reproducir un video en modo full
screen.
P ara lograr esto:
1 . Agrega el siguiente código al evento On P lay de tu objeto de V ideo:
V ideo.S etFullS creen("V ideo1 ",true);
2. Agrega el siguiente código al evento On Finish de tu objeto de V ideo:
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 S creen.
P ara lograr que se muestre en Full S creen,pá
usalo y luego reinícialo.
Reproducir un Video usando el Objeto de Video
Incrustado
AutoP lay M edia S tudio incluye un objeto de V ideo incrustado. Este objeto es capaz de
reproducir cualquier archivo de video que sea soportado por W indows M edia P layer
(avi,mpg,wmv,etc).
P ara crear un objeto de V ideo:
1 . V e al menú Object > V ideo.
2. S elecciona tu archivo de video.
3. H az click en OK .
55
Nota: Algunos codecs no son descargados automá
ticamente por W indows M edia
P layer. S i tu archivo de video utiliza un codec especializado, por favor asegúrate
incluirlo con tu distribución.
Reproducir una Animación Flash
AutoP lay M edia S tudio incluye un objeto Flash incorporado para agregar archivos Flash
en tu Aplicación
P ara lograr esto:
1 . Elige el menú Object > Flash.
2. S elecciona tu película Flash.
3. H az click en OK .
Nota: Los objetos Flash de AutoP lay hacen que se utilice el plugin M acromedia Flash
(que se puede descargar gratuitamente de www.macromedia.com). P uedes 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 Flash”).
Responder a Teclas Presionadas
En AutoP lay M edia S tudio existe un evento llamado On K ey. 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. U n usuario
introduce una U R L dentro de una barra de dirección y cuando la tecla enter es
presionada,la pá
gina que él requirióes cargada.
P ara lograr este ejemplo en AutoP lay M edia S tudio:
1 . Crea un objeto input.En su evento On K ey,ingresa el siguiente código:
-- e_K ey es una variable incorporada que obtiene lo generado por el evento On K ey.
-- 1 3 es el valor del código de tecla virtual para la tecla [Enter].
if e_K ey = = 1 3 then
-- Carga la dirección que fue ingresada por el usuario:
W eb.LoadU R L("W eb1 ",Input.GetT ext("Input1 "));
end
56
Nota: Este script asume que tienes un objeto Input llamado "Input1 "y un objeto web
llamado "W eb1 ".
Este script lee cada tecla presionada por el usuario en el input box (recuadro de entrada).
Cuando [enter]es presionada,el script carga la U R L.
Restaurar un Objeto a su Tamaño Original
En el ambiente de diseño de AutoP lay, 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 un objeto de Imagen a las dimensiones originales del
archivo de imagen.
P ara restaurar el tamaño original de un objeto:
1 . S elecciona el objeto deseado haciendo click sobre él.
2. H az click derecho en el objeto que acabas de seleccionar.
3. H az click en R estore S ize.
Nota: Esto es también útil para el dimensionamiento de un objeto de V ideo que es
cargado,a las dimensiones del archivo de video.
Revisar en Busca de Internet Explorer
AutoP lay M edia S tudio 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. P ara buscar Internet
Explorer:
1 . V e al menu P roject > D
ependencies.
2. S elecciona las dependencias que tu proyecto requiere (en este caso Internet
Explorer).
3. H az click en OK .
Revisar en Busca de Macromedia Flash
AutoP lay M edia S tudio 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. P ara buscar
M acromedia Flash:
1 . V e al menu P roject > D
ependencies.
57
2. S elecciona las dependencias que tu proyecto requiere (en este caso M acromedia
Flash).
3. H az click en OK .
Solicitar al Usuario Confirmación antes de Salir
En AutoP lay M edia S tudio 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.
P ara lograr esto, debes incluir una función (Q ueryAllowP rojectClose)en tus Funciones
Globales (P roject > Global Functions) que devuelva un “true” si el programa debiera
cerrarse,o un “false”si no lo tenga que hacer:
function Q ueryAllowP rojectClose() --esta función serállamada cuando el programa se
esté cerrando
confirmation = D
ialog.M essage("¿Está
s S eguro?","¿Está
s seguro que quieres salir?",
M B_Y ES NO,M B_ICONEXCLAM AT ION,M B_D
EFBU T T ON1 );
if confirmation = = 6 then
-- El botón “Y ES ”fue presionado,permitiendo cerrar el programa (devuelve un
“true”)
return true;
else
-- El botón “Y ES ”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.S i
“true” es devuelto, tu aplicación se cerrará
. S i “false” es devuelto, tu programa no se
cerrará
.
P ara usar esta función,deberías usar un script similar a éste:
if Q ueryAllowP rojectClose()then
Application.Exit();
end
58
Trabajar con Tablas y Archivos
En AutoP lay M edia S tudio, 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 D
ialog.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
D
ialog.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
U sando la acción D
ialog.FileBrowse, permitiremos al usuario explorar una carpeta y
seleccionar múltiples archivos.Abriremos cada archivo con su aplicación por defecto:
-- P resenta al usuario un diá
logo explorador de archivos (con el ajuste de selección
múltiple a true)
tFiles = D
ialog.FileBrowse(true,"M ultiple S elect","","All Files(*.*)|*.*|","","",true,
true);
-- Asegura que tFiles contiene algo
if tFiles then
-- V erifica 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,"",S W _S H OW NOR M AL);
end
end
end
En el ejemplo anterior,la acción D
ialog.FileBrowse regresa una tabla conteniendo todos
los archivos que fueron seleccionados. S i 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
U sando las acciones T extFile,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:
-- P resenta al usuario un diá
logo explorador de archivos (con el ajuste de selección
multiple a false)
tFiles = D
ialog.FileBrowse(true,"S ingle S elect","","All Files(*.*)|*.*|","","",false,
59
true);
-- Asegura que tFiles contiene algo
if tFiles then
-- V erifica 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
tT extFileContents = T extFile.R eadT oT able(tFiles[1 ]);
-- Inserta el texto dentro de la línea (fila)dos
T able.Insert(tT extFileContents,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)
T extFile.W riteFromT able(tFiles[1 ],tT extFileContents,false);
end
end
Utilizar el Diálogo de Estado
En AutoP lay M edia S tudio 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
S tatusD
lg.S how();--muestra la ventana del estado de diá
logo
S tatusD
lg.S etT itle("Contando de "..minimum_value .."a "..maximum_value); -ajusta el título
S tatusD
lg.S etM eterR ange(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
S tatusD
lg.S etM eterP os(loop_control);--ajusta la posición del contador a la variable
60
de control bucle
S tatusD
lg.S etS tatusT ext("Actualmente contando ...("..loop_control .."of "..
maximum_value ..")"); --ajusta el estado del texto para reflejar el 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 T imer en AutoP lay M edia S tudio
1.
2.
3.
4.
H az doble click en la superficie de la pá
gina.
Elige la pestaña S cript.
H az click en la pestaña del evento On T imer.
Añade tu acción aquí.
P ara que inicie la ejecución de las acciones en el evento On T imer, utiliza la siguiente
acción
P age.S tartT imer(5000)-- lanza las acciones On T imer una vez cada 5 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 S how de la pá
gina.
Nota: La acción P age.S tartT imer solo tiene que ser ejecutada una vez para iniciar el
timer. Las acciones en el evento On T imer continuará
n siendo ejecutadas hasta que la
acción S topT imer sea llamada.
Nota 2: P ara detener la acción timer desde su inicio,utiliza la acción P age.S topT imer();
Utilizar un FSCommand para Provocar una Acción
En AutoP lay M edia S tudio es posible provocar una acción usando un FS Command
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 S wish (programa para hacer
animaciones Flash sin el Flash, muy sencillo y fá
cil de usar) que mande un
FS Command cuando ésta finalice de reproducirse. Cuando la animación flash llegue al
final de su reproducción,desplegaremos un mensaje de diá
logo.
En S wish:
61
1 . En S wish, haz click derecho en el último fotograma de la animación y elige
FS Command del M enú Contextual. En el panel Action, verá
s el FS Command
añadido.
2. H az click en '
FS Command'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: S plashFinished.
4. Guarda la animación como un archivo swf.
En AutoP lay M edia S tudio:
1 . Crea un objeto flash y carga el archivo swf que creaste en S wish.
2. Añade las siguientes acciones en el evento On FS Command (en la pestaña
script):
if (e_FS Command = = "S plashFinished")then
D
ialog.M essage("T u T ítulo Aquí","T u M ensaje Aquí");
end
Nota: e_FS Command es una variable incorporada conteniendo el último FS Command
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. P ara lograr esto, utiliza la acción
W indow.EnumerateP rocesses y coteja en cada proceso el nombre de archivo
autorun.exe.
1 .Inserta el siguiente código en el evento On S how de tu pá
gina:
-- Inicializar variables
instances_of_file = 0;
file_to_check_for = "autorun.exe";--poner todo en minúsculas
processes = W indow.EnumerateP rocesses();
-- Ir directamente a la tabla de proceso
for j,file_path in processes do
-- D
ivide la ruta para obtener el nombre del archivo
file = S tring.S plitP ath(file_path);
-- compara el nombre del archivo con el archivo especificado en la variable de
inicialización
if (S tring.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
-- V erificar si por lo menos un archivo concuerda
if instances_of_file > 0 then
-- H ubo por lo menos una concordancia,oculte la ventana de esta aplicación,muestre
el error,y ciérrelo.
W indow.H ide(Application.GetW ndH andle());
D
ialog.M essage("Error","Another instance of Autorun.exe is already open.");
W indow.Close(Application.GetW ndH andle(),CLOS EW ND
_T ER M INAT E);
end
Volver a Cargar los Objetos de Imagen en Tiempo de
Ejecución
P ara 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 ","AutoP lay\\Images\\ejemplo.jpg");
Nota: P ara cargar esta imagen en tiempo de ejecución,introduce el código anterior en el
evento On S how de la pá
gina que contiene tu objeto de Imagen.
63
Descargar