You are on page 1of 27

Conociendo el Action Script de Autoplay Media Studio 6

Por Jorge Espinoza En este post pretendo explicar poco a poco el Action Script de AMS 6, no lo conozco a profundidad, pero creo que entre todos y a travs de las dudas podemos ir haciendo grande este tutorial. Varios compaeros del foro han iniciado la traduccin del programa, por lo que omitiremos el uso de las herramientas del programa y nos enfocaremos solo al Action Script. Lo coloco aqu porque esencialmente el Action Script de AMS no es un lenguaje de programacin como tal por muchas razones y lo inflexible para ampliarse (as que no puede ir en el foro de programacin), no es un manual (por lo que no va en el foro de manuales), no es un tutorial para crear un Todo en Uno, a pesar de que el mayor uso que le damos es ese (as que tampoco ira en el foro de TEU), no es un problema tcnico, a no ser que surjan dudas (por lo que tampoco puede ir el Servicio Tcnico). En fin, creo que es un tema que nos atae a mucho usuarios del foro, pero si un moderador o los M@ster ( Burla ) quieren moverlo, pues que le v mo ah c r a s a e B e o e p r l rs l i I d s r ln ol tma e p s i id a s u n , s eo e e u e t r e ar l d o e s n o tn v u l s t l oa s di e para hacer ms fcil la lectura (no para subir post, si quieren me los descuentan) y que la consulta sea ms prctica.

INDICE Pg N Consideraciones previas importantes...................................................................... 3 Variables.................................................................................................................. 4 Los operadores........................................................................................................ 4 Estructuras de Control ............................................................................................. 5 Eventos ms comunes ............................................................................................ 7 Cmo puedo abrir un archivo ejecutable desde mi aplicacin. ................................ 7 Abrir un archivo que no es ejecutable con la aplicacin asociada. .......................... 8 Cmo puedo crear un botn u objeto que explore una carpeta de mi proyecto o del disco duro? ........................................................................................................ 9 Cmo puedo tener al tanto mi aplicacin de los eventos que suceden? ............. 10 Cmo logro que mi aplicacin principal se minimize, ejecute un archivo, y al cerrar el programa que se ha ejecutado la aplicacin principal se restaure? ........ 11 Cmo puedo hacer que la ejecucin del Action Script se interrumpa por un tiempo determinado? ............................................................................................. 11 Cmo puedo cambiar de una pgina a otra en mi aplicacin de AMS? .............. 12 Cmo logro reproducir una animacin flash en la pgina uno y al terminar que automticamente cambie a la pgina 2? ............................................................... 12 Cmo hacer un cartel de bienvenida, donde el scroll text se haga automaticamente desde abajo hacia arriba? ......................................................... 13 Cmo creo un Splash Screen para mi aplicacin? .............................................. 14 Cmo puedo obtener las rutas del sistema? ....................................................... 15 Cmo copio un archivo o directorio a travs de una accin declarada en mi proyecto? ............................................................................................................... 16 Cmo crear una carpeta cualquiera en un sitio determinado que el usuario quiera definir, por ejemplo en una carpeta dentro de un directorio cualquiera...? ............ 17 Conociendo el objeto Menu Bar............................................................................. 18 Montando una ISO con Daemons Tools instalado en el equipo. ........................... 20 Desmontando una ISO de Daemons Tools ........................................................... 21 Obteniendo la ruta de archivos de programa y comprobando si Daemons est o no instalado en el equipo............................................................................................ 21 Cmo hacer que un programa listado en un ListBox o ComboBox se ejecute? .. 22 Cmo podria copiar una carpeta con unos archivos desde el menu que estoy creando haciendo clik en un boton a C:\Archivos de Programa y que ademas salga una barra de proceso con el porcentaje hasta ke acaba? ..................................... 23 Como crear un botn o dos botones que activen o desactiven el audio en nuestro proyecto, pero que muestren el estado del audio segn sea el caso? .................. 24

Consideraciones previas importantes.


- El Action script es global, es decir, todas las variables y eventos estn en contacto entre si. Es decir, no importa que un evento sea invocado desde otro botn, la variable asignada estar disponible para todo el proyecto. - El Action script es sensible a maysculas y minsculas. Por ejemplo no es lo mismo declarar una variable como ABC, que como aBC. - Como en los lenguajes de programacin, es posible hacer comentarios en el Action Script para que el cdigo sea ms comprensible por nosotros y podamos editarlo con mayor facilidad. Como sabemos, los comentarios no forman parte del Action Script, y en el tiempo de ejecucin lo escrito en comentarios se ignora. Un comentario debe iniciar con -- (dos guiones) y termina en la lnea en que se redacta. Cita:
-- Este es un ejemplo de un comentario en una sola lnea

- Si se requieren hacer comentarios de varias lneas estos no irn con dos guiones, sino encerrados entre --[[ y ]]--. Cita:
--[[ Esto es un ejemplo De un comentario De varias lneas]]--

- La delimitacin de declaraciones de Action Script puede estar en una lnea o en varias lneas. Si esta en una lnea cada accin deber ser separada por un ; (punto y coma). Por ejemplo: Script 1: Cita:
a = 10 MiVariable = a

Script 2: Cita:
a = 10; MiVariable = a;

Script 3: Cita:
a = 10; MiVariable = a;

Cualquiera de las tres formas de escribir el cdigo es correcto, sin embargo es recomendable que para evitar conflictos ocupen el mtodo de terminar cada lnea con punto y coma.

Variables
- Los nombres de las variables, como en algunos lenguajes de programacin, deben empezar con una letra o con un guin bajo y pueden ser de cualquier extensin combinando letras y nmeros, sin utilizar espacios. Obviamente los nombres de las variables no pueden repetirse ni usar como nombres palabras reservadas por el Action Script de AMS. Por Ejemplo, estos nombres son validos: Cita:
a strNombre _Mi_Variable data1 data_1_23 index bReset nCount

Estos nombres no son correctos: Cita:


1 1data %MyValue% $strData for local _FirstName+LastName_ User Name

- Las palabras reservadas por el Action Script de AMS son: Cita:


and break do else elseif end false for function if in local nil not or repeat return table then true until while

Los operadores

- Es posible hacer operaciones con variables bajo los mismos operadores aritmticos que trabajamos en otros lenguajes de programacin: Cita:
+ (Suma) - (Resta) * (Multiplicacin) / (Divisin)

Se puede usar por ejemplo: Cita:


a = 5 + 2;

- En algunas ocasiones ser necesario comparar valores o variables. Los operadores de relacin usados en AMS son: Cita:
> (Mayor que) < (Menor que) <= (Menor o igual que) >= (Mayor o igual que) ~= (No es igual a) == (Es igual a)

Por ejemplo: Cita:


a = 10; a > 300; -- La respuesta es Falso

- Los operadores lgicos del Action Script de AMS son: Cita:


and (La respuesta ser True si ambas variables u operadores son verdaderos) or (La respuesta ser True si uno de los dos operadores o variables es verdadero)

- Para concatenar dos variables en el Action Script se usan dos puntos (..) por ejemplo: Cita:
A = "Jorge" B = "Espinoza" C = A .. B -- C ser igual a Jorge Espinoza

Estructuras de Control
- Las estructuras de control son muy similares a las de algunos leguajes de programacin. Estructura If

Cita:
if Condicin then Si se cumple hacer lo que se declare aqu Else De lo contrario hacer lo que se declare aqu End

Por ejemplo Cita:


- La variable x inicialmente vale 50 x = 50; --Si x es mayor que 10 if x > 10 then -- Aqu mostrara el mensaje 1 si x es mayor que 10 Dialog.Message("Mensaje 1", "x es ms grande que 10"); Else -- Aqu mostrara el mensaje 2 si X es menor que 10 Dialog.Message("Mensaje 2", "x es ms pequeo que 10"); end

Estructura While Cita:


while Condicin do Mientras la condicin no se cumpla, hacer lo que se declare aqu End

Por ejemplo Cita:


-- La varaible a inicialmente vale 1 a = 1; -- Mientras a sea menor que 10 while a < 10 do -- Entonces se le sumar 1 a = a + 1; -- Cuando a alcance el valor de 10 se detendr esta estructura end

Estructura Repeat (muy similar a While, aunque ya sabemos la diferencia) Cita:


repeat Repetir esta accin until Condicin

Por ejemplo: Cita:


-- La variable i vale inicialmente 1

i = 1; repeat -- Al v r b iel s mau omi t s a ai l s e u r n e r ae na i = i + 1; -- Mientras i no sea mayor de 10 until i > 10

Eventos ms comunes
Konnichipuu: Bueno, faltan algunos principios bsicos por definir, pero creo que lo mejor es ir explicndolos conforme vayamos trabajando con ellos para que sea un poco ms claro su uso y aplicacin prctica. Empezaremos explicando algunos de los eventos ms comunes. Un evento como sabemos, es la accin que determina cuando se ejecutar una instruccin descrita en el Action Script en tiempo de ejecucin. Los ms comunes son:
On Clic: Determina que la accin se llevar a cabo cuando se haga clic sobre el objeto. On Close: La accin se llevar a cabo cuando una pgina determinada del proyecto se cierre. On Double-Click: La accin se llevar a cabo cuando se haga doble clic sobre el objeto. On Leave: La accin se llevar a cabo cuando el puntero del Mouse se mueva del area determinada por un objeto. On Show: La accin se llevar a cabo cuando una pgina determinada y los objetos en ellos sean cargados. On Shutdown: La accin se llevar a cabo cuando la aplicacin principal de AMS sea cerrada. On Startup: La accin se llevar a cabo antes de que la aplicacin sea cargada por completo. Es decir, cuando se abra el proyecto, antes de cargar los elementos de las pginas las acciones sern realizadas.

Cmo puedo abrir un archivo ejecutable desde mi aplicacin.


Oki, primero tendremos que tener un botn o una etiqueta (Label) al que asignaremos el Action Script. El evento que utilizaremos ser On Clic, con ello especificamos que la accin se llevar cabo al hacer clic en la etiqueta o botn. El Actin Stript que usaremos ser File.Run, su estructura es la siguiente: Cita:
File.Run ("Nombre y ubicacin del archivo", "Parmetros si se requieren","directorio de trabajo si se requiere",Modo de ventana, esperar?);

Nombre y ubicacin de archivo: Se colocar la ruta del archivo que se ejecutar. Recordemos que en AMS se hace uso de \\ para separar directorios.

Si el archivo se encuentra dentro de nuestro proyecto en una carpeta llamada Perro se escribira: "Perro\\miarchivo.exe". Si el archivo estubiera en el disco duro en una carpeta llamada Perro se escribira: "C:\\Perro\\miarchivo.exe". Parametros: Algunos ejecutables se les puede asignar parmetros para su inicializacin. Si se requieren se agregar entre comillas. Por ejemplo si es un instalador que admite instalacin silenciosa se escribira "/S". Si no se requiere usar parametros se debe dejar como dos comillas seguidas "". Directorio de trabajo: Especifica el directorio de trabajo en que se ejecutar el archivo. Algunos programas ejecutables dependen de otros componentes que se encuentran en el mismo u otro directorio, por tanto si fuera necesario, en este parmetro se deber indicar ese directorio. Por ejemplo: "C:\\Temp", sino se requiere este parmetro, de igual forma se deben dejar dos comillas "". Modo de ventana: Especfica de que forma se ejecutar el archivo en una ventana, los valores pueden ser: Cita:
SW_SHOWNORMAL: Normal SW_MAXIMIZE: Maximizado SW_MINIMIZE: Minimizado

Por ltimo: Esperar?: Determina si la siguiente lnea del Action Script debe esperar a que se cargue completamente antes de ejecutar la siguiente lnea de cdigo. Los valores pueden ser True (Verdadero) o False (Falso) Ejemplo 1: Cita:
File.Run("AutoPlay\\Docs\\setup.exe", "/s", "", SW_MAXIMIZE, true); --[[ Esta accin ejecuta el archivo Setup.exe ubicado en la carpeta Autoplay, subdirectorio Docs, aplicandole el parametro /s para instalacin silenciosa, no especifica el directorio de trabajo, se ejecutar en una ventana maximizada y la siguiente lnea de Action Script deber esperar a que el programa sea cargado]]-

Ejemplo 2 Cita:
File.Run("notepad.exe", "AutoPlay\\Docs\\readme.txt", "", SW_SHOWNORMAL, false); --[[Esta accin abre el Bloc de notas, cargando el archive Readme.txt que se encuentra en la carpeta Autoplay subdirectorio Docs, no se especifica el directorio de trabajo, se ejecuta en una ventana normal y no esper a que el programa se cargue para poder ejecutar la siguiente lnea de Action Script]]--

Abrir un archivo que no es ejecutable con la aplicacin asociada.


De igual forma que con la accin File.Run necesitaremos un objeto al cual asociar la accin, el evento ms comn ser On Clic.

La Accin que utilizaremos ser File.Open, la estructura de esta instruccin es: Cita:
File.Open ("Nombre y ruta del archivo", "directorio de trabajo", Modo de Ventana);

Nombre y ruta del archivo: Lo mismo, se indicar la ubicacin del archivo, si est en directorios se usar la doble diagonal inversa \\. Por ejemplo. "C:\\Miarchivo.doc" o "Autoplay\\Docs\\Miarchivo.doc". Directorio de trabajo: Especifica el directorio de trabajo en que se ejecutar el archivo. La estructura es la misa que en File.Run, sino se requiere se usarn las comillas "". Modo de ventana: Especifica la forma en que se abrir la aplicacin asociada al archivo que se abrir. Cita:
SW_SHOWNORMAL: Normal SW_MAXIMIZE: Maximizado SW_MINIMIZE: Minimizado

Ejemplo 1 Cita:
File.Open("AutoPlay\\Docs\\readme.txt", "", SW_MINIMIZE); --[[Esta accin abre el archive Readme.txt del directorio Autoplay subdirectorio Docs con el bloc de notas o la aplicacin asociada a los archivos TXT, sin especificar el directorio de trabajo, la ventana del programa aparecer minimizada en la barra de tareas]]--

Ejemplo 2 Cita:
File.Open("c:\\Prueba.pdf", "", SW_MAXIMIZE); --[[Esta accin abre el archivo Prueba.pdf ubicado en el disco C: , sin especificar el directorio de trabajo, y con la ventana del programa asociado a los PDF de modo Maximizado.]]--

Cmo puedo crear un botn u objeto que explore una carpeta de mi proyecto o del disco duro?
De igual forma que con la accin File.Run o File.Open necesitaremos un objeto al cual asociar la accin, el evento ms comn ser On Clic. Con esta accin abriremos en el explorador de Windows una carpeta que se especifique. La accin que utilizaremos ser File.ExploreFolder, la estructura de esta accin es la siguiente: Cita:
File.ExploreFolder ("Ruta del directorio", Modo de ventana);

Ruta del directorio: Se indicar la ubicacin del directorio a explorar, para separar subdirectorios se usar la doble diagonal inversa \\. Por ejemplo: "C:\\" o "Autoplay\\Docs" o "C:\\Windows\\Temp". Modo de ventana: Especifica el modo en que se abrir la ventana del explorador de Windows: Cita:
SW_SHOWNORMAL: Normal SW_MAXIMIZE: Maximizado SW_MINIMIZE: Minimizado

Ejemplo 1: Cita:
File.ExploreFolder("C:\\Documents and Settings", SW_MAXIMIZE); --[[Esta accin abre en el explorador de Windows la carpeta Documents and Settings del disco duro C: en una ventana Maximizada]]--

Ejemplo 2: Cita:
File.ExploreFolder("Ya tengo sueo\\", SW_MINIMIZE); --[[Esta accin abre la carpeta Ya tengo sueo de nuestro proyecto en una ventana minimizada del explorador de Windows]]--

Cmo puedo tener al tanto mi aplicacin de los eventos que suceden?


La accin Application.GetLastError () permite a nuestra aplicacin en AMS saber si se ha llevado a cabo de manera correcta o incorrecta una accin. Est accin asignara un valor numrico a una variable y en base a ella podremos ejecutar una accin determinada, o valorarla a travs de una estructura de control. Si la accin se lleva a cabo correctamente el valor de la variable ser 0, sino asignar un valor distinto dependiendo del error (Ms adelante iremos explicando los distintos errores). La estructura de esta accin es: Cita:
Nombredelavariable = Application.GetLastError();

Nombre de la variable: es el nombre que se le asignar a la variable, recordando las reglas que ya explicamos ms atrs. Ejemplo: Cita:
File.Open("c:\\Prueba.pdf", "", SW_MAXIMIZE);

10

--Est accin abre el archivo Prueba.pdf Abrirprograma = Application.GetLastError(); --[[Si el archivo se abre correctamente el valor de la variable "Abrirprograma" ser 0, de lo contrario asignar un valor distinto a la variable dependiendo el tipo de error]]--

Cmo logro que mi aplicacin principal se minimize, ejecute un archivo, y al cerrar el programa que se ha ejecutado la aplicacin principal se restaure?
Ocuparemos las siguientes acciones que ya hemos visto: - File.run - Application.Minimize - Application.GetLastError - Application.Restore Y la estructura de control If. Debemos asignar el siguiente Action Script a un objeto (botn, etiqueta, etc) en el evento On Clic y quedara de la siguiente forma: Cita: Action Script:
Application.Minimize(); -- Esta accin minimiza nuestra ventana principal result = File.Run("notepad.exe","","", SW_SHOWNORMAL, true); --[[Est accin abre el bloc de notas, sin ningn parmetro y sin especificar el directorio de trabajo, en una ventana normal y el parmetro True indica que debe esperar a que la accin termine antes de ejecutar la siguiente lnea de este cdigo de Action Script]]-espera = Application.GetLastError(); --[[A la variable "espera" se le asignar el valor de la ltima accin realizada, en este punto hay que explicar que la ltima accin fue esperar a que el bloc de notas se ejecutara, por tanto, la siguiente lnea del cdigo no se ejecutara mientras el bloc de notas siga abierto, y por tanto al cerrar el bloc de notas la variable "espera" tomar el valor de 0 de que se ha llevado a cabo correctamente la espera, por tanto se ejecutar la siguiente lnea del cdigo de Action Script]]-if espera == 0 then -- A u s e a al v r b , ie p r" sg a q e0e tn e q e v l r a ai l s"s ea e i l u u ae u no c s Application.Restore(); -- La aplicacin principal deber ser restaurada. End -- Fin del proceso

Cmo puedo hacer que la ejecucin del Action Script se interrumpa por un tiempo determinado?
Para este propsito existe la accin Application.Sleep, esta accin interrumpe todas las acciones en la aplicacin de AMS durante un tiempo determinado

11

previamente. Es decir, no se ejecutar ninguna de las acciones del Action Script ni la ventana responder a cualquier accin del usuario. Su estructura es la siguiente: Cita:
Application.Sleep ( Tiempo )

Tiempo: Es el tiempo que queremos que se interrumpa la accin, el valor debe ser numrico y declarado en milisegundos (recordando que 1000 milisegundos equivalen a 1 segundo) Ejemplo Cita:
Application.Sleep (5000); --[[Esta accin interrumpe cualquier accin declarada o evento del usuario durante 5 segundos]]--

Cmo puedo cambiar de una pgina a otra en mi aplicacin de AMS?


La accin para este fin es Page.Jump, y permite cambiar entre una pgina y otra de nuestra aplicacin. Su estructura es la siguiente: Cita:
Page.Jump ("Nombre de la pgina")

Ejemplo Cita:
Page.Jump("Page3"); -- esta accin cambia la pgina actual a la pgina 3 de nuestro proyecto

Cmo logro reproducir una animacin flash en la pgina uno y al terminar que automticamente cambie a la pgina 2?
Par ello necesitaremos una animacin Flash en la pgina 1 y saber cuanto dura la misma en segundos. Insertaremos nuestra animacin flash, y a la pgina 1 en el evento On Show asignaremos el siguiente cdigo de Action Script: Cita:
--[[Este Action Script se ejecutar al cargar la pgina 1]]-Application.Sleep(4000); --[[Una vez cargada la pgina 1, se ejecutar la animacin Flash y transcurrirn 4 segundos (El tiempo que dura nuestra animacin para este ejemplo) antes de que ejecute la siguiente lnea de Action Script]]-Page.Jump("Page2");

12

--[[Transcurridos los 4 que duraba nuestra animacin esta lnea de Action Script har que cambie de la pgina 1 a la pgina 2]]-

Cmo hacer un cartel de bienvenida, donde el scroll text se haga automaticamente desde abajo hacia arriba?
Dentro de AMS existe un objeto llamado Paragraph que permite escribir texto en varias lneas y parrfos (El objeto label solo permite testo en una lnea). Al objeto Paragraph se le pueden colocar barras de desplazamiento vertical u horizontal para desplazarnos a travs del contenido del mismo. La posicin relativa dentro de un Paragraph esta determinada por valores X y Y que indican la posicin horizontal y vertical dentro del mismo. Por ejemplo, al indicar que Y = 0 quiere decir que la posicin vertical ser al principio del Paragraph. Existe una accin denominada Paragraph.SetScrollPos que permite definir la posicin vertical u horizontal dentro de un objeto Paragraph. Su estructura es la siguiente: Cita:
Paragraph.SetScrollPos ("nombre del objeto Paragraph", Posicin, Modo)

Nombre del objeto Paragraph: Es el nombre que le hemos asignado al objeto Paragraph. Posicin: El valor numrico de la posicin, el mnimo es 0 y el mximo depender de lo extenso que sea el texto contenido en nuestro objeto Paragraph. Modo: Es un valor de tipo Bolean, por default es true, y ello significa que la Posicin que asignemos en la accin ser tomada de forma vertical, si el valor fuera False, entonces la posicin se tomar de forma horizontal. Ejemplo: Cita:
Paragraph.SetScrollPos("Info Text", 25, true); --[[esta accin la barra de desplazamiento vertical en la lnea 25 del objeto Paragraph llamado Info Text]]--

Ahora cmo aplicarlo para que se desplace automticamente. La accin la colocaramos en el evento On Show de la pgina en que coloquemos el Paragraph y quedara as, para desplazar de abajo hacia arriba: Cita:
Pos = 580; --[[Suponiendo que nuestro Paragraph tiene 580 lneas, a la variable Pos le asignaremos el valor de la ltima lnea de nuestro Paragraph]]-Paragraph.SetScrollPos("Paragraph1", Pos, true)

13

--[[Esta accin colocar la barra de desplazamiento vertical en la ltima lnea de nuestro Paragraph]]-while Pos > 0 do --[ e t s u l p s i e n e t p r f s ama o al l e 0e tn e ] [ nr q e a o i n u s o r o e Mi a cn r a y r a a no c s ] n -Pos = Pos - 1 --[[A la variable Pos le restamos 1]]-Paragraph.SetScrollPos("Paragraph1", Pos, true); --[[Coloca el prrafo en la posicin vertical del valor que ha tomado la variable Pos]]-End --[[Cunado se llegue a la lnea 0, finalizar el proceso, si se quiere repetir, crearemos un bucle, pero como no veo prctico este cdigo ya no sigo la explicacin]]-

Problemas: 1. Al hacer un desplazamiento de texto de abajo hacia arriba, el texto tendra que estar escrito de abajo hacia arriba. Sera ms prctico si estuviera escrito como normalmente se hace, de arriba hacia abajo. 2. Al ir restando 1 a la variable Pos se va retrocediendo un lnea de forma vertical, pero como el proceso se efecta muy rpido no es posible leer las lneas y tcnicamente el efecto no se nota. Si se aplicara un efecto de pausa como el de application.sleep las dems acciones quedaran inutilizadas. 3. Al ser un bucle infinito se consumen recursos que se podran aprovechar de otra forma. 4. No se puede eliminar fsicamente la barra de desplazamiento vertical, pues si no el desplazamiento no se realiza. 5. Estticamente, a mi gusto, se me hace poco atractivo. 6. El efecto se nota un poco ms si se hace de arriba hacia abajo: Cita:
Pos = 0; Paragraph.SetScrollPos("Paragraph1", Pos, true) while Pos < 580 do Pos = Pos + 1 Paragraph.SetScrollPos("Paragraph1", Pos, true);

Cmo creo un Splash Screen para mi aplicacin?


No tengo una definicin de lo que es un Splash Scren, pero por si no se entiende es como la ventanita de Microsoft Word cuando lo abren en donde aparece el nombre del programa y que dura unos segundos mientras se carga el programa Para crear este efecto en nuestra aplicacin de AMS usaremos la accin Dialog.SplashImage, para que se cargue al inicio la accin deber ser declarada en el evento general del proyecto On Startup, su estructura es la siguiente: Cita:
Dialog.SplashImage ("ruta y nombre de la imagen", tiempo de duracin, Salto?)

14

Ruta y nombre de la imagen: Pues es eso, la ruta dentro de nuestro proyecto, as como el nombre de nuestro archivo. Tiene que ser una imagen, preferentemente JPG para no hacer pesada la carga. El tamao de la imagen ser el mismo del Splash Screen, entonces si la imagen mide 500 x 600 ese ser el tamao resultante en la splash screen. Tiempo de duracin: El tiempo en segundos que durar en pantalla la splash screen Salto?: Es un valor de tipo boolean, si se indica True quiere decir que el usuario podr omitir el tiempo de duracin de la splash screen dando clic sobre ella, si se indica False el usuario deber esperar el tiempo que se haya especificado para que se quite la splash screen. Ejemplo: Cdigo:
Dialog.SplashImage("AutoPlay\\Images\\logo.jpg", 10, false); --[[la instruccin cargar al iniciar la plicacin la imagen logo.jpg ubicada en la carpeta Autoplay, subdirectorio Images de nuestro proyecto, durante 10 segundos y el usuario no podr quitar la splash screen]]-

Cmo puedo obtener las rutas del sistema?


A veces ser necesario saber una ruta del sistema, por ejemplo la carpeta "Mis documentos", quiz para copiar un archivo, crear un acceso directo o comprobar si existe o no una archivo, etc. Sin embargo, debido a las distintas versiones de Windows y debido a que cada usuario puede cambiar estas rutas, a veces esta tarea no es tan sencilla. Por ejemplo, en Windows 98 la carpeta "Mis documentos" se encuentra en C:\Mis documentos, pero en Windows XP debido al uso de las cuentas de usuario la ruta es C:\Documents and settings\Usuario\Mis documentos. Eso sin contar que el SO puede no estar instalado en C:\. Para estos casos existe la accin Shell.GetFolder que permite averiguar las rutas ms comunes de las carpetas del sistema dentro de cada SO. Su estructura es: Cita:
Nombre_de_la_variable = Shell.GetFolder ( Nombre de carpeta )

Nombre_de_la_variable: Es el nombre que asignaremos a la variable y que almacenara la ruta de la carpeta del sistema que solicitemos. Las reglas del nombre ya estn descritas anteriormente. Nombre de carpeta: Indica la carpeta del sistema cuya ruta queremos conocer. Las ms comunes son: Cdigo:

15

SHF_FONTS : Fuentes SHF_DESKTOP: Escritorio (para el usuario actual) SHF_DESKTOP_COMMON: Escritorio (para todos los usuarios) SHF_STARTMENUPROGRAMS: Men de inicio / Programas (para el usuario actual) SHF_STARTMENUPROGRAMS_COMMON: Men de inicio / Programas (para todos los usuarios) SHF_STARTUP: La carpeta de Inicio (para el usuario actual) SHF_STARTUP_COMMON: La carpeta de Inicio (para todos los usuarios) SHF_COMMONFILES: Archivos comunes SHF_PROGRAMFILES: Archivos de programa SHF_MYDOCUMENTS: Mis documentos (si es Windows 2k, Xp o 2k3 ser solo par el usuario actual)

Ejemplo: Cdigo:
Mis_documetos = Shell.GetFolder(SHF_MYDOCUMENTS); --[[Esta accin averigua la ruta de la carpeta Mis documentos en el sistema y asigna la ruta a la variable Mis_documetos]]--

Cmo copio un archivo o directorio a travs de una accin declarada en mi proyecto?


Si se desea copiar un archivo o directorio, ya sea que forme parte de nuestro proyecto o se encuentre en el sistema la accin que usaremos ser File.Copy. Su estructura es: Cita:
File.Copy ("Ruta y nombre del archivo origen", "Ruta de destino", Subdirectorios?, Sobrescribir?, Abortar?, Incluir archivos ocultos?, nil);

Ruta y nombre del archivo origen: Indica la ruta y nombre del archivo (s) o directorio (s) que se desean copiar. Si son varios archivos de un mismo tipo se puede usar el comodn * (*.txt, por ejemplo para todos los archivos de texto). Ruta de destino: Indica la ruta en que sern colocadas la(s) copia (s) de el (los) archivo (s) o directorio. Tambin pude concatenarse con una variable. Subdirectorios?: Si es un directorio lo que se est copiando y no un archivo, este es un valor de tipo Boolean que indica que si el directorio contiene otros subdirectorios estos tambin se copiaran o no, si se indica True los subdirectorios se copiaran, si se indica False solo el directorio principal se copiar. Sobrescribir?: Es un valor de tipo boolean, si es true significa que puede sobrescribir archivos si estos ya se encuentran en la ruta especificada. Si es false omitira los archivos que ya existan en la ruta especificada. Abortar?: Es un valor de tipo boolean, si se indica True significa que si hay algn error (ya sea falta de espacio, que el archivo no se pueda copiar, que el archivo este daado, etc) se cancelar la copia. Si se indica False significa que aun cuando existan errores la copia se realizar omitiendo los archivos que hayan dado error.

16

Incluir archivos ocultos?: Es un valor de tipo boolean, si se indica True significa que se copiaran archivos y/o carpetas con propiedades como oculto o de sistema. Si se especifica False entonces se omitirn los archivos ocultos y/o de sistema. nil: Es el nombre de una funcin, si se indica nil significa que usando la accin StatusDlg.Show se podr mostrar una barra con el progreso de la copia de archivos y/o carpetas, si se especifica False la accin StatusDlg.Show no podr mostrar el progreso de la copia. La accin StatusDlg.Show y su contraparte StatusDlg.Hide la explicare ms adelante. Ejemplo: Cdigo:
File.Copy("AutoPlay\\Docs\\*.*", "C:\\Prueba\\", true, true, false, true, nil); --[[Esta accin copia todos los archivos contenidos en la carpeta Autoplay, subdirectorio Docs a la unidad C: directorio Prueba, incluyendo subdirectorios, sobrescribiendo archivos si fuese necesario, sin abortar si sucede algn error, incluyendo archivos ocultos y/o de sistema, y pudiendo mostrar el progreso si se usa la accin StatusDlg.Show.]]-

Usando en conjunto Shell.GetFolder y File.Copy Supongamos que queremos copiar un archivo a la carpeta mis documentos, usando las dos acciones que ya hemos visto el action script quedara de la siguiente forma: Ejemplo: Cita:
Prueba= Shell.GetFolder(SHF_MYDOCUMENTS); --[[Esta accin averigua la ruta de la carpeta Mis documentos en el sistema y asigna la ruta a la variable Prueba]]-File.Copy("AutoPlay\\Docs\\*.*", Prueba.."\\", true, true, false, true, nil) --[[No explicare toda la accin, pues si notan es la misma accin del ejemplo anterior, sin embargo, hay que notar que en el parmetro de destino se ha colocado la variable Prueba seguida de dos puntos, esto significa que la ruta de destino ser la ruta que se le haya asignado a la variable prueba en conjunto de la ruta especificada, en este caso como no se especifica ninguna ruta los archivos se copiarn directamente en Mis documentos]]--

Cmo crear una carpeta cualquiera en un sitio determinado que el usuario quiera definir, por ejemplo en una carpeta dentro de un directorio cualquiera...?
Cita:
StatusDlg.Show(MB_ICONNONE, false); --[[Est accin muestra un cuadro de dialogo con el porcentaje de progreso de las siguientes acciones]]-Folder.Create("C:\\Prueba"); --[[Esta accin crea un directorio vacio en la ruta especificada]]-File.Copy("AutoPlay\\Docs\\Network and Security\\*.*", "C:\\Prueba\\", true, true, false, true, nil);

17

--[[Esta accin ya la vimos, solo cabe aclarar algo que no puntualice en su momento es que para que la copia de archivos pueda realizarse el directorio que se especifique como destino debe existir, sino arrojarun error]]-StatusDlg.Hide(); --[[Est accin cierra y oculta el cuadro de dialogo con el porcentaje de progreso cuando la accin anterior se haya concluido, en este caso la cpia de archivos]]--

Conociendo el objeto Menu Bar


El objeto menu bar que se incorpora en la versin 6 de AMS nos permite crear barras de men en nuestra aplicacin como las que encontramos en la mayora de los programas. Los mens como sabemos, estn constituidos por niveles, es decir, las opciones principales de una barra de men, por ejemplo en Internet Explorer, los mens Archivo, Edicin, etc. constituyen el primer nivel de nuestro men. A su vez, estos mens en su interior estn compuestos por 1 o mas niveles a los cuales se les denomina como niveles secundarios. Por ejemplo, dentro del men archivo en Internet Explorer encontramos las opciones nuevo, abr, d i , t e tso c n sc n t y ne s g n on e i e i ec s r cn a p i e o st e l e u d i l o i u v de nuestro men archivo. En el men Edicin, las opciones cortar, copiar, pegar, constituyen nuestro segundo nivel y as sucesivamente. En algunos casos hay opciones dentro de los mens que a su vez tiene ms niveles en su interior, por ejemplo, el Men Archivo, la opcin Abrir, en su interior alberga las opciones ventana, un separador (------), mensaje, etc. estas opciones constituyen el nivel 3 de nuestro men. Entonces si yo quisiera construir una barra de men con el men Archivo y dentro la opcin Salir, y al lado el men Ayuda y la opcin "Acerca de". Estariamos hablando que la estructura sera la siguiente: Cdigo:
Archivo - (Primer Nivel) Salir - (Segundo Nivel) Ayuda - (Primer Nivel) A ec d (e u d Nv l c ra e S g n o i ) e

Los Menus pueden ser verticales y horizontales?, Solo Horizontal y por default se crean la parte superior de la pgina en la que se inserte. Solo se admite una barra de Men por pgina. Y hasta dnde tengo entendido no se pueden crear mens contextuales como en otras aplicaciones. Creando una barra de men Para crear una barra de men en nuestra aplicacin de AMS iremos al men Project y seleccionaremos la opcin Menu Bar. Ello abrir una ventana en la que configuraremos las opciones de nuestra barra de men.

18

La primera opcin que debemos usar para que nuestra barra de mens pueda ser activada y creada ser la opcin "Show men bar" con lo que se activar una barra de men en la parte superior de nuestra aplicacin. Seguido de haber activado nuestro men proseguiremos a eliminar las opciones de men que se crean por default para dejar limpia nuestra barra y comenzar a crear las opciones propias. Para ello seleccionaremos las opciones Main men &1 y presionaremos el botn con la X roja en la parte inferior para eliminarlo, lo mismo haremos con el elemento Main men &2 Ahora, para crear las opciones que contendr nuestro men utilizaremos los botones en la parte inferior, el botn ADD. Cuando lo presionemos nos aparecer una ventana con opciones en las que asignaremos las propiedades a nuestro men, las propiedades a utilizar son: Men ID: Esta propiedad asigna un valor numrico a cada uno de los elementos del men, es muy importante puesto que la programacin del action script a las opciones del men se realizar n base al nmero de Id que se haya asignado. Se recomienda, que si el men es de primer nivel se le asigne un nmero secuencial, por ejemplo, al men archivo sera 1 y el men Ayuda sera 2. Para los niveles secundarios se recomienda que se le asigne como ID un nmero secuencial, antecedido del nmero de ID del nivel primario del cul se desprende la opcin del men: Por ejemplo: Cdigo:
Archivo - (ID 1) Salir - (ID 11) Ayuda - (ID 2) A ec d ( 2 ) c ra e I 1 D

Text: La propiedad text determina el texto que aparecer en la opcin o men. Enable: La propiedad Enable determina si la opcin estar o no activa, es decir, si se podr utilizar o no esa opcin. Por default la opcin Enable est activada. Checked: Esta propiedad asigna una marca antes del texto de la opcin del men para indicar que la opcin est activada. Esta opcin solo funciona con niveles secundarios. Separator: coloca una lnea para separar las opciones dentro del men. Est propiedad deshabilita el texto y las dems propiedades descritas as como el ID, pues estticamente solo sirve como tal, es decir, para separar y no para asignar una opcin al men. Una vez que asignemos las propiedades al men y aceptemos, en la parte inferior de la ventana de Menu Bar nos encontramos con cuatro flechas de direccin en color verde. Ellas nos permiten ordenar las opciones de la barra de men que hemos agregado seleccionando el elemento que queremos ordenar y presionando los botones. Las flechas arriba y abajo nos permiten determinar el orden de los mens y sus opciones.

19

El orden en que se asignen los mens es el mismo en el que aparecer en la barra de men. Los botones con la flecha izquierda y derecha nos permiten retroceder y/o subir un nivel de las opciones de nuestro men. Recordemos: Cdigo:
Archivo - (Primer Nivel) Salir - (Segundo Nivel) En esta opcin debemos presionar una vez la flecha derecha, por ser un segundo nivel

La misma ventana de menu bar nos muestra la estructura de los mens. Al aceptar la estructura creada en la ventan menu bar ser la misma dentro de nuestra barra de men.

Montando una ISO con Daemons Tools instalado en el equipo.


Para montar una ISO en una unidad virtual a travs de AMS utilizaremos la accin File.Run. Cabe aclarar, que aunque parezca obvio, Daemons Tools debe estar instalado en el equipo y tener al menos una unidad virtual. El Action Script se asignar a un botn en el evento On Click. Y tendra la siguiente estructura: Cdigo:
result = File.Run("Ruta donde se encuentra instalado Daemons y el ejecutable daemons.exe", 'el parmetro -mount seguido del nmero de unidad virtual en que se montar la ISO, "Ruta de acceso y nombre de la ISO"', "", SW_SHOWNORMAL, false);

Notas: - Las rutas de acceso recordemos que sern declaradas con doble diagonal inversa \\, por ejemplo: Cdigo:
C:\Archivos de programa\D-Tools\daemon.exe

Deber escribirse: Cdigo:


C:\\Archivos de programa\\D-Tools\\daemon.exe

- El parmetro -mount deber ser seguido de un espacio en blanco y el nmero de unidad virtual en que se montar la imagen. La primera unidad virtual es 0.

20

- La ruta de acceso a la ISO deber ser declarada igual con \\ si se encuentra dentro de una carpeta en nuestro proyecto. - No olvidar las comillas simples (') y las dobles (") que llevan los parmetros y la ruta de acceso a la ISO. Ejemplo: Cdigo:
result = File.Run("C:\\Archivos de programa\\D-Tools\\daemon.exe", '-mount 0, "NESTLE.iso"', "", SW_SHOWNORMAL, false); --[[Esta accin ejecuta Daemoms tools y monta la ISO Nestle.iso que est en la raz de nuestro proyecto en la primera unidad virtual]]--

Si daemons no esta instalado, la ruta de acceso no es la correcta, no existe la unida virtual indicada o la ISO no est en la ruta especificada mandar un error.

Desmontando una ISO de Daemons Tools


Una vez montada la ISO, en otro botn podremos asignar el action script para desmontarla usando la accin File.Run. La accin tendra la siguiente estructura: Cdigo:
result = File.Run("Ruta donde se encuentra instalado Daemons y el ejecutable daemons.exe ", 'El parmetro -unmount seguido de un espacio y el nmero de unidad en que se encuentra montada la ISO', "", SW_SHOWNORMAL, false);

Ejemplo: Cdigo:
result = File.Run("D:\\Archivos SW_SHOWNORMAL, false); de programa\\D-Tools\\daemon.exe", '-unmount 0', "",

Obteniendo la ruta de archivos de programa y comprobando si Daemons est o no instalado en el equipo.


Puede darse el caso que Daemons no este instalado o la ruta de acceso no sea la predeterminada (como en mi caso, que est instalado en D: y no en C:). Para ello optimizaremos el cdigo de la siguiente forma. Cdigo:
Prog = Shell.GetFolder(SHF_PROGRAMFILES); --[[Est accin obtiene la ruta de la carpeta Archivos de programa y le asigna la ruta a la variable Prog]]-Daemons = Folder.DoesExist(Prog.."\\D-Tools");

21

--[[Esta accin comprueba si la carpeta de Daemons se encuentra en Archivos de Programa]]-if Daemons then --[[Inicia una estructura de control en la que la condicin es si existe la carpeta de Daemons Tools en Archivos de programa]]-result = File.Run(Prog.."\\D-Tools\\daemon.exe", '-mount 0, "NESTLE.iso"', "", SW_SHOWNORMAL, false); --[[Si existe, entonces montar la ISO a travs de la accin que ya vimos, es de notar que la ruta de acceso a Daemons la hemos declarado concatenando la variable Prog y la ruta de acceso, algo que ya explique unos post antes]]-Else --[[De lo contrario, sino existe la carpeta de Daemons Tools en Archivos de programa]]-Dialog.Message("Error", "No se ha podido encontrar la ruta de instalacin o no se ha instalado.", MB_OK, MB_ICONSTOP); --[[Est accin presenta un cuadro de dialogo con un mensaje indicando que Daemons no esta instalado en la ubicacin predeterminada o no est instalado]]-End --[[Fin de la accin]]-

Notas: - El cdigo puede perfeccionarse an ms, por ejemplo, solicitando la intervencin del usuario para indicar donde se instal si Daemons no est en la ruta predeterminada. - Si se requieren parmetros adicionales para Daemons s posible usarlos bajo la misma estructura. Los parmetros pueden ser consultados en la pgina que indic Foderiko. Bueno, espero que esto aclare la duda. En unos das ms continuo con la explicacin de Menu Bar que interrump con esta explicacin, pero me pareci muy interesante explicar esto.

Cmo hacer que un programa listado en un ListBox o ComboBox se ejecute?


Ayer cuando di respuesta a la pregunta de Carlos3007 no s por qu se me fue el avin y explique como hacer que un programa se ejecute pero en un Listbox, cuando la pregunta original era cmo hacerlo con un ComboBox, y aunque en esencia no cambia mucho, el action script que indique no funcionara en un combobox. Ahora si la explicacin: Primero que nada recordemos que tanto el combobox como el listbox al llenarlos usan las propiedades item text e item data: Item text: Es el texto que queremos que aparezca en la lista o cuadro combinado. Item data: es la accin (en este caso la ruta del archivo que queremos que se ejecute) que realizar o un valor que se utilizara. Recordemos como otras veces que las rutas sern declaradas con \\ diagonal inversa si estn en directorios. Por ejemplo, en un combobox o listbox colocamos esto:

22

Cdigo:
Item Text Bloc de notas Editor del registro MsConfig Item Data Notepad.exe Regedit.exe Msconfig.exe

A un botn en el evento on clic le asignamos el siguiente action script si utilizamos un Listbox: Cita:
selected = ListBox.GetSelected("ListBox1"); --[[Esta accin asigna el elemento seleccionado a la variable selected]]-file = ListBox.GetItemData("ListBox1", selected[1]); --[[Esta accin asigna el Item Data del elemento seleccionado de la variable selected a la variable File]]-File.Open(file, "", SW_SHOWNORMAL) --[[Esta accin abre el archive indicado en el Item Data que se ha asignado a la varible File, ntese que por ser una variable usamos la accin file.open y no file.run]]--

Si usamos un Combobox en lugar de un ListBox el Action Script para el botn en el evento on clic sera el siguiente: Cita:
selected = ComboBox.GetSelected("ComboBox1"); file = ComboBox.GetItemData("ComboBox1", selected); File.Open(file, "", SW_SHOWNORMAL) --[[La estructura de este action script es el mismo que el de un listbox, solo que las acciones de ListBox.GetSelected y ListBox.GetItemData cambian por ComboBox.GetSelected y ComboBox.GetItemData]]-

Cmo podria copiar una carpeta con unos archivos desde el menu que estoy creando haciendo clik en un boton a C:\Archivos de Programa y que ademas salga una barra de proceso con el porcentaje hasta ke acaba?
Cdigo:
StatusDlg.Show(MB_ICONNONE, false); --[[Est accin muestra un cuadro de dialogo con el porcentaje de progreso de las siguientes acciones]]-File.Copy("Tu directorio", "C:\\Archivo de programa\\", true, true, false, true, nil); --[[Esta accin ya la explique unos post antes]]-StatusDlg.Hide(); --[[Est accin cierra y oculta el cuadro de dialogo con el porcentaje de progreso cuando la accin anterior se haya concluido, en este caso la copia de archivos]]--

23

Y para una carpeta? Cdigo:


StatusDlg.Show(MB_ICONNONE, false); Folder.Create("C:\\Archivos de programa\\El nombre de tu directorio"); File.Copy("tu directorio\\*.*", "C:\\Archivos de programa\\El nombre de tu directorio", true, true, false, true, nil); StatusDlg.Hide();

Como crear un botn o dos botones que activen o desactiven el audio en nuestro proyecto, pero que muestren el estado del audio segn sea el caso?
Explico como hacerlo de dos formas, con un solo botn en el que el texto cambiar a Audio On o Audio Off segn sea el caso, y con dos botones, en el que un botn en verde con el texto Audio On alternar con un botn en Rojo con el texto Audio Off. Con un solo botn: - Tomemos en cuenta para este ejemplo el botn con nombre Button1 es quien activa y desactiva el sonido en todas nuestras pginas. - El canal de sonido usado es el de Background, si usas otros solo has el cambio de canal en la instruccin. Lo primero que haremos ser inicializar una variable global que determine cuando el audio este activado o desactivado. 1. En le men Project / Actions en el evento On Starup declararemos lo siguiente: Cita:
AudioGlobal = "Audio ON"

Debo suponer que por default el audio estar activado. Por tanto esto nos indica que la variable AudioGlobal asignar el texto "Audio ON", es importante no omitir la inicializacin pues de no hacerlo arrojar un error porque el valor de la variable estar vaco. 2. En las propiedades de la pgina actual y en todas las pginas en las que coloquemos el botn de audio, colocaremos en el evento On Preload el siguiente Action Script: Cita:
Button.SetText("Button1", AudioGlobal); --[[Esta accin asigna el texto que tenga asignado la variable AudioGlobal al botn que controla el audio antes de cargar la pgina, esta accin es importante pues es la que pone al tanto del estado de la reproduccin del sonido en las pginas, obviamente el nombre del botn puede variar]]--

3. En el botn que controlar el audio asignaremos el siguiente cdigo en el evento On Click:

24

Cita:
Nombre = Button.GetText("Button1"); --[[Esta accin asigna a la variable Nombre el texto que tiene actualmente el botn]]-if Nombre == "Audio ON" then --[[Si la variable Nombre tiene asignado el texto "Audio ON" entonces]]-Button.SetText("Button1", "Audio OFF"); --[[Al botn se le asignar el texto "Audio OFF"]]-Audio.TogglePlay(CHANNEL_BACKGROUND); --[[Cambia el estado de la reproduccin a pausado]]-AudioGlobal = Button.GetText("Button1"); --[[A la variable AudioGlobal se le asigna el texto del botn, en este caso "Audio OFF"]]-Else --[[De lo contrario. Osea si el texto del botn en la variable Nombre es igual a "Audio OFF" ]]-Button.SetText("Button1", "Audio ON"); --[[Al botn se le asignar el texto "Audio ON"]]-Audio.TogglePlay(CHANNEL_BACKGROUND); --[[Cambia el estado de la reproduccin de pausado a play]]-AudioGlobal = Button.GetText("Button1"); --[[A la variable AudioGlobal se le asigna el texto del botn, en este caso "Audio ON"]]-End --[[Fin del Action Script]]--

4. El anterior Action Script lo repetiremos en todos los botones de nuestras pginas que controlen el audio. .

Con dos botones La explicacin es muy similar, pero hay cambios en los cdigos de los botones. - Tomemos en cuenta para este ejemplo el botn con nombre Button2 contiene el texto "Audio ON" y el botn con nombre Button3 contiene el texto "Audio OFF" en todas nuestras pginas. 1. En el men Project / Actions en el evento On Startup declararemos lo siguiente: Cita:
AudioGlobal = 1

2. En las propiedades de la pgina actual y en todas las pgina en las que coloquemos los botones de control de audio, colocaremos en el evento On Preload el siguiente Action Script: Cita:
if AudioGlobal == 1 then --[[Si la variable AudioGlobal es igual a 1, o sea el audio est activado]]-Button.SetVisible("Button2", true); --[ e t e b tnc ne tx "u i O " ] [ s a l o o l t A d N y ] Mu r eo o -Button.SetVisible("Button3", false); --[[Oculta el botn con el texto "Audio OFF"]]--

25

Else --[[De lo contrario, si la variable AudioGlobal es 0, osea el audio esta desacti d ] v o ] a -Button.SetVisible("Button2", false); --[ c l e b tnc ne txo"u i O " ] [ u a l o o l t A d n y ] O t e o -Button.SetVisible("Button3", true); --[[Muestra el botn con el texto "Audio OFF"]]-End --[Fin del script]]--

3. En el botn con el texto "Audio ON" asignaremos el siguiente cdigo: Cita:


ButtonState = Button.IsVisible("Button3"); --[[A la variable ButtonState asigna el estado actual del botn con el texto "Audio OFF", si este es visible ser True, si no est visible ser False]]-if ButtonState == false then --[ i v r b B t nSaee i a aF l e tn e ] [ l ai l ut tt sg l a e no c s ] Sa ae o u s -Button.SetVisible("Button3", true); --[[Muestra el botn con el texto "Audio OFF"]]-Button.SetVisible("Button2", false); --[[Oculata el botn con el texto "Audio ON"]]-Audio.TogglePlay(CHANNEL_BACKGROUND); --[[Cambia el estado de la reproduccin a pausado]]-AudioGlobal = 0; --[[A la variable global AudioGlobal asigna el valor 0 para indicar que el audio esta desactivado]]-End --[[Fin del script]]--

4. En el botn con el texto "Audio OFF" asignaremos el siguiente cdigo, es muy similar solo hace lo contrario al de "Audio ON": Cita: ButtonState = Button.IsVisible("Button3"); if ButtonState == true then Button.SetVisible("Button3", false); Button.SetVisible("Button2", true); Audio.TogglePlay(CHANNEL_BACKGROUND); AudioGlobal = 1; end Como hago que al hacer Click en un botn copie el contenido de un archivo de texto? Ya esta, supongo que ser util como para copiar seriales. La accin en este caso como siempre va en el evento On Click de un botn: Cdigo:
Medi = TextFile.ReadToString("Prueba.txt"); --[[Esta accin lee el contenido del archivo Prueba.txt y asigna el contenido a la varible Medi]]-Clipboard.CopyText(Medi);

26

--[[Esta accin copia el contenido de la variable Medi al portapapeles, despus lo podrs pegar en otro lado con Ctrl+V]]--

Cabe aclarar que para que la accin Clipboard.CopyText este disponible hay que ir a Projects / Plugin y activar Clipboard... Espero esto resuleva el problema

Cmo hacer una versin de prueba? Como veo que dices tener solucionado lo del password, slo responder a la pregunta de como protegerlo en base a la fecha de ejecucin, aunque sera ms practico para evitar el posible bug de que el usuario cambie la hora, poner una restriccin de un nmero X de ejecuciones en lugar de una restriccin por X das. Este script proteje la aplicacin por 30 das y despus de ese tiempo la deja inoperante, obviamente deber colocarse en el evento On Startup de la aplicacin: Cdigo:
dias_restantes = 30; fecha_de_instalacion = Application.LoadValue("My Application", "Date Installed"); tiempo_limite = 30; fecha_de_instalacion = String.ToNumber(fecha_de_instalacion);

if fecha_de_instalacion == 0 then Application.SaveValue("My Application", System.GetDate(DATE_FMT_JULIAN)); else dias_restantes = (fecha_de_instalacion System.GetDate(DATE_FMT_JULIAN); end

"Date

Installed",

tiempo_limite)

if dias_restantes < 1 then Dialog.Message("Perido de prueba concluido", "El tiempo de prueba ha expirado"); Application.Exit(); else Dialog.Message("Periodo de Prueba", "Te restan "..dias_restantes.." das restantes de prueba."); end

27

You might also like