• No se han encontrado resultados

Libro AMS 8_0 creado por Douglas A_ Rivera Castillo Edición Web

N/A
N/A
Protected

Academic year: 2021

Share "Libro AMS 8_0 creado por Douglas A_ Rivera Castillo Edición Web"

Copied!
300
0
0

Texto completo

(1)

LIBRO DE SCRIPTING EN AMS 8

(2)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

2

LIBRO PROGRAMACION EN

AMS 8

Manejo del motor de script LUA en AMS

Escrito por: Douglas A. Rivera Castillo

(3)

LIBRO DE SCRIPTING EN AMS 8

(4)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

4

INDICE

1. Ventajas de la Programación orientada a objetos………..….Pág. 2. Conociendo el área de trabajo ……….….……..Pág. 3. El área de trabajo ……….…….…Pág. 4. Barra de menús ……….….Pág. 5. Barra de botones Standar ………..………....Pág. 6. Teoría del script……….………...Pág. 7. Palabras clave reservadas por LUA………...Pág. 8. Explicación de las palabras clave……….Pág. 9. Los signos matemáticos……….Pág. 10. Como hacer y dejar comentarios………Pág. 11. Que son las variables……….………….Pág. 12. Teoría del script 2 que son las variables………Pág. 13. Teoría del script 3 estructuras de control……….………..Pág. 14. Probar valores numéricos………..……Pág. 15. Teoría del script 4 estructuras de control uso del ciclo for………..Pág. 16. Teoría del script 5 estructuras de control uso de for y do…………Pág. 17. Manejo de tablas………..Pág. 18. Global y Event Variables………..………Pág. 19. Variables globales (Global variables)………..Pág. 20. Variables Globales si usas GlobalPaths Action Plugin……….Pág. 21. Event variables………..Pág. 22. Creación de Funciones……….Pág. 23. Uso y creación de las máscaras……….Pág. 24. Uso de menús……….………..Pág. 25. Bases de datos en SQLite………Pág. 26. Ejercicios………Pág.

(5)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

5

Ventajas de la Programación orientada a objetos

Reduciendo el tiempo de desarrollo

Usando la Orientación a Objetos para Reducir el Tiempo de Desarrollo

Introducción

Autoplay Media Studio es Orientado a Objetos. ¿Qué es lo que hace eso por mí? ¿Cómo la orientación de objetos puede hacer mi vida más fácil? Todos sabemos que hay una curva de aprendizaje a subir para entender qué nos han dicho sobre objetos y que hay una recompensa al subir esa curva. En este artículo mostrare una de las recompensas, una reducción para nuestro tiempo de desarrollo.

Tiempo de Desarrollo

El tiempo de desarrollo es siempre muy importante y los pasos que tomamos para reducir este tiempo son muy valiosos. La orientación a objetos nos promete que nuestro trabajo será reusable y que cada proyecto que nosotros desarrollamos tomará menos tiempo que el anterior. ¿Cómo nos cobramos esa promesa?

Como es el caso en todas las situaciones, la solución a un problema nunca se encuentra hasta que el problema sea entendido y definido claramente. El tiempo de desarrollo puesto bajo un microscopio nos muestra que está dividido en varias tareas diferentes. Las mayores son el análisis, diseño, implementación, prueba, y entrenamiento del usuario. ¿Cuáles son estas tareas y cómo influyen éstas en el tiempo global de desarrollo?

(6)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

6

Análisis

Todo el desarrollo de la aplicación empieza con el análisis del problema comercial a ser resuelto. Un análisis completo es crítico para una solución exitosa. Nos dicen que en el desarrollo orientado a objetos, la fase de análisis ocupará un porcentaje más grande del tiempo de desarrollo total que en las prácticas de programación estructuradas del pasado. ¿Qué podemos hacer para reducir el tiempo requerido para esta fase de un proyecto?

Buscando patrones en problemas comerciales reduciremos bastante el tiempo destinado al análisis. Catalogando estos patrones cuando los identifiquemos nos permitirán descubrirlos más fácilmente en el futuro. Con un catálogo de patrones en nuestras manos podremos reconocer rápidamente similitudes a los problemas comerciales anteriores y rápidamente podremos registrar los requerimientos.

Hay un peligro en cualquier esfuerzo para reducir el tiempo de análisis es el de producir un análisis incompleto. Cuando cortamos esquinas sobre el análisis de un problema de negocio nosotros potencialmente abrimos el proyecto a una cantidad de problemas que van a consumir tiempo. Es posible que no se descubran requisitos perdidos hasta que el proyecto esté bien encaminado para su finalización y que esos requisitos no descubiertos nos obliguen a abandonar un grupo grande de trabajo debido a los cambios en el diseño.

Si el problema de negocio no es entendido claramente por los diseñadores y programadores de una aplicación, es probable que la aplicación no satisfaga las necesidades del usuario. Las aplicaciones que no reúnan los requisitos de los usuarios son abandonadas o escritas de vuelta. Es asustadiza cómo verdadera la vieja frase: "Nunca hay bastante tiempo para hacerlo correctamente, pero siempre hay bastante tiempo para hacerlo encima."

Aparte de reconocer, usar, y catalogar los patrones vistos durante el análisis, ésta es una de las dos áreas del proceso de desarrollo que no debe abreviarse.

(7)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

7

Diseño

El diseño es la abstracción de una solución, en otras palabras es la descripción general de la solución a un problema sin los detalles. Así como pueden categorizarse problemas de negocio en patrones que se repiten, los diseños también exhiben patrones. Patrones vistos en la fase del análisis pueden ser trazados en el diseño. Catalogando y reusando patrones de diseño podemos reducir el tiempo requerido para crear el diseño de la solución.

La fase de diseño es el segundo paso de desarrollo que no debe abreviarse. Es sorprendente qué fácil y rápida pueden lograrse las metas cuando esta fase se define claramente. La fase de diseño es la planificación de la solución, sin un buen diseño podemos seguir un gran número de puntos muertos. Estos puntos muertos consumirán mucho más tiempo que el desarrollo del propio diseño en sí.

Comparando la construcción de una aplicación con una vacaciones en familia. ¿Si, en el momento de las vacaciones, usted metió a su familia dentro del automóvil y empezó a manejar para cruzar el país y usted no tenía ningún mapa y ninguna ruta planeada, piensa usted que en esas condiciones alcanzará su destino? ¿Cuántos malos giros podría tomar usted en el viaje? ¿Cuánto tiempo le tomaría estar al otro lado del país? Construir una aplicación sin un buen diseño es algo muy parecido.

Implementación

La implementación es la ejecución del plan de diseño. Esta parte es donde nosotros escribimos el código que hace realmente el trabajo. Este artículo se enfoca en técnicas para reducir el tiempo de la fase de implementación del desarrollo de una aplicación.

Empezando con un legítimo framework pueden reducir el codificado de la aplicación quitando la necesidad de tratar con las actividades rutinarias de las interacciones del componente.

Reusar código previamente exitoso ha sido una meta para programadores desde hace mucho tiempo. La orientación a objetos promete, de nuevo, permitir la reusabilidad de nuestro código, a pesar de que la orientación a

(8)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

8

objetos nos permite reusar no más que código. Nosotros podemos reusar cosas reales, widgets. Estos widgets pueden ser tan simples como un cuadro de texto que maneja entradas de fecha, o tan complejo como un formulario que maneja la administración de los datos. Un framework es un widget reusable muy complejo comprendido por muchos objetos que proporcionan un servicio a la aplicación.

Usted puede reconocer widgets útiles durante el desarrollo de un proyecto. Una vez que usted se encuentra haciendo la misma cosa por segunda vez, deténgase y pregúntese si esto podría ser manejado por un widget reusable.

Prueba

Las pruebas pueden extenderse a lo largo de un proyecto y también después de su finalización. Probamos cosas cuando las construimos y entonces de nuevo las probamos cuando el proyecto está completo para cerciorarnos que ellas trabajan bien juntas. Cuando estamos reusando widgets previamente probados, ahorramos un poco de tiempo porque estos elementos reusables ya se han probado individualmente, quedándonos solamente por probarlos en unión con los demás elementos.

Formación

La formación del usuario es uno de los aspectos pasados por alto a menudo, y centro del costo, del desarrollo de la aplicación. Una nueva aplicación no hace nada bueno para el negocio hasta que los usuarios puedan hacerla trabajar. Mediante la capitalización sobre componentes reusables promovemos una interface consistente para nuestras aplicaciones. Esto, a su vez, reduce el tiempo de formación requerido para que los usuarios se sientan cómodos con el nuevo sistema porque ellos ya están familiarizados con la interface del usuario.

(9)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

9

Los Principios de la Reusabilidad Promovida en la POO

El desarrollo de sistemas orientados a objetos tiene un conjunto de principios y reglas que prescriben la manera en que deben hacerse las cosas. Se oye de todos a menudo que la teoría es buena pero el pragmatismo se apodera del trabajo hecho. Esta es una actitud infortunada para los desarrolladores de software que usan herramientas orientadas a objetos. No se fundaron los principios de orientación a objetos en algún cuarto de la parte trasera de una universidad, ellos se descubrieron durante el desarrollo de un proyecto real a través del análisis de cosas que no funcionaban.

Estos principios y reglas son pautas hacia el éxito y ellos necesitan ser respetados y entendidos. Siguiendo las reglas, éstas nos protegen de cometer errores que otros ya han cometido antes. Es verdad que cualquier regla puede romperse, sin embargo también es verdad que antes de romper una regla uno debe:

1. Saber que la regla existe. 2. Saber lo que es la regla.

3. Saber por qué las reglas existen

4. Saber los problemas potenciales relacionados con el rompimiento de la regla.

Si usted sabe todas estas cosas y todavía escoge romper la regla, prosiga y rómpala. ¿Qué tiene de malo todo esto? Significa que es necesario saber lo que son las reglas y principios del desarrollo orientado a objetos. Significa que la "teoría" no es dispensable.

Las siguientes secciones discuten algunos de estos principios y examinan, a través de los ejemplos, cómo estos promueven la reusabilidad y reducen el tiempo de desarrollo.

(10)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

10

Delegación

La delegación es el proceso donde un objeto pasa la responsabilidad de una acción a otro objeto diferente. Esto normalmente se hace debido a las responsabilidades naturales de los dos objetos en cuestión. Por ejemplo, considere que un botón de comando es responsable de cerrar un formulario. ¿La responsabilidad del botón es reaccionar al usuario cuando este pulse el botón, pero es el botón el que tiene la responsabilidad de cerrar el formulario? Quizás el propio formulario está mejor preparado para realizar su propia acción de cierre. A través de la delegación podemos llevar el paso de la responsabilidad del botón, que es de cerrar el formulario, al propio formulario.

Ejemplo del botón btnSalir

El código del evento On click del botón delega la responsabilidad al formulario mediante una llamada al Application.Exit() quitando así la responsabilidad del botón para manejar los detalles de cerrar el formulario.

Con el uso apropiado de la delegación separaremos la funcionalidad de una operación en particular y asignaremos la responsabilidad al objeto más apropiado. Esto proporciona la habilidad de ejecutar independientemente pedazos de esa funcionalidad, que a su vez reduce los requerimientos para los procedimientos monolíticos (métodos) que son esencialmente grandes estructuras DO CASE. Estos procedimientos monolíticos son una molestia mayor durante la fase de mantenimiento de un proyecto.

Herencia

Definido como la posibilidad que tiene una clase de incorporar toda o una parte de otra clase en su propia definición, la herencia probablemente es la mayor propiedad del desarrollo orientado a objetos y, al mismo tiempo, el más usada. La herencia es el proceso por el que una subclase recibe conductas y datos de su clase antecesora. La idea es que mientras más extenso es el árbol de herencia la definición de las clases se vuelven más especializadas.

(11)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

11

Mientras que la herencia un rasgo poderoso de los lenguajes orientados a objetos, también es limitando. Siempre que intentemos modificar una clase en la jerarquía también necesitaremos determinar lo que este cambio afectará a todas las clases descendientes. Cuando un árbol de herencia crece hasta llegar a ser muy grande la habilidad de reusar cualquiera de las clases individuales dentro de ese árbol será más difícil.

Sin embargo puede usarse la herencia para mantener el polimorfismo. Definiendo propiedades y métodos públicos de una clase entera de objetos en la cima del árbol de herencia podemos estandarizar la interface de programación y asegurarnos que las clases sean intercambiables.

Polimorfismo

Polimorfismo: La capacidad que tiene una funcionalidad de aplicarse en

distintas formas. Hay dos tipos de polimorfismo:

Inherente: La funcionalidad es heredada por cada subclase.

Ad hoc: Las distintas funcionalidades de tipos diferentes tienen el mismo nombre.

Definiendo una clase abstracta que introduzca todos los métodos y propiedades públicas de un árbol de la clase entera nosotros podemos mantener consistente la interface de un programador y asegurarnos que todas las subclases sean intercambiables. En otras palabras, si todas las clases de cuadros de texto tienen el mismo conjunto de propiedades y métodos públicos serán intercambiables. Nosotros podemos reemplazar fácilmente un tipo de cuadro de texto por otro sin preocuparnos por algún otro objeto que se refiera a una propiedad o método que el nuevo cuadro de texto no tenga. Éste es el polimorfismo inherente.

Ejemplos del inpBase, inpCalculator, y inpDate

El inpBase define la interface pública para todos los cuadros de texto. El inpCalculator y inpDate heredan de la clase inpBase manteniendo así estándar la interface de programación para esos cuadros de texto y permitiéndoles ser

(12)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

12

intercambiados sin la necesidad de alterar cualquier código fuera de los cuadros de texto.

El polimorfismo ad hoc puede verse en la clase botón de btnSalir. Sobre Delegación, nosotros mencionamos que el botón pasa la responsabilidad al formulario para la acción de cierre. Esto es cumplido por el código del evento On click del botón que llama al método Salir del formulario. Los diferentes formularios pueden tomar acciones diferentes en sus métodos Salir respectivos y pueden significar que el código en el evento On click del botón de salida está aprovechándose del polimorfismo ad hoc para proporcionar reusabilidad. El botón btnSalir puede ser arrojado en cualquier formulario y funcionará eficazmente.

Encapsulación

La encapsulación puede definirse como esconder la aplicación de un objeto. Cuando una clase contiene todos los datos y código requeridos para que pueda funcionar sin la necesidad de depender de cualquier objeto externo al runtime, decimos que está encapsulada. Esta encapsulación permite usar la clase sin tener en cuenta el entorno en donde se la coloca. La clase no requiere nada específico de su entorno y no crea ningún efecto en el lado del entorno. La encapsulación es muy eficaz haciendo clases reusables.

Ejemplo del cntProgress

Se definen todas las propiedades y métodos necesarios como parte de la clase haciendo la clase independiente de cualquier objeto externo al runtime. Esto permite que la clase cntProgress sea virtualmente puesta en cualquier formulario sin tener en cuenta que pueda o no haber en ese formulario.

Independencia

La independencia es un paso para lograr encapsulación. Haciendo una clase independiente requiere que cualquier referencia a las propiedades o métodos de otro objeto sea verificada antes de hacer dicha referencia. Esto es llamado a veces "programación defensiva". Nosotros podemos hacer una clase

(13)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

13

independiente no asumiendo nada sobre el entorno en el que esa clase puede encontrarse. No asumiendo el significado de verificar que para la existencia de cualquier cosa nosotros necesitamos antes tratar de usarla.

Ejemplo del tmrTimeOut

El evento timer verifica la existencia de una propiedad llamada On Timer en el formulario contenedor antes de intentar hacer una referencia a ella. Esto permite poner el cronómetro en un formulario sin tener en cuenta si ese formulario tiene o no una propiedad llamada On Timer.

Usando Colecciones

Las distintas clases de base de Autoplay Media Studio tienen colecciones de sus objetos miembros, entre éstos el Formulario, Container, Grid, PageFrame, Page, etc. Esta colección de propiedades hacen posible referirse al objeto miembro contenido sin saber algo de ellos, como sus nombres o el número de ellos que existen en el objeto. Usar estas colecciones nos hacen posible escribir código que trabajará con una variedad de configuraciones del objeto contenedor.

Resumen

Los principios del desarrollo orientado a objetos, como Herencia, Polimorfismo, Encapsulación, Mediación, y Composición, sostienen la creación de clases reusables. Aplicando estos principios eficazmente las clases que vamos a crear pueden ser usadas muchas veces sobre una variedad de configuración diferente. Sin embargo, este reusabilidad no viene gratis, nosotros debemos crear activamente nuestras clases para que sean reusables prestando mucha atención a nuestro diseño y codificado.

Hay grados de reusabilidad, como reusable dentro de los límites de un área de trabajo particular contra reusable sobre las áreas de trabajo múltiples. El grado más alto de reusabilidad, es el que nosotros debemos planear para la clase que vamos a crear.

(14)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

14

(15)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

15

Conociendo el área de trabajo

En esta clase veremos y conoceremos toda el área de trabajo de AMS, partiremos desde como abrir AMS.

Como abrir AMS: Damos doble click en este icono cuando lo hayamos dado nos cargara el programa una vez cargado el programa veremos

la siguiente venta:

en esta venta nos aparece Tres (3) Botones los cuales procedo a explicar cada

(16)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

16

: Este Botón en español significa Crear un Nuevo Proyecto. El cual nos

desplegara una nueva ventana en la cual nos mostrara una serie de plantillas predeterminadas de AMS que se ve de la siguiente manera:

en ella seleccionamos la plantilla que más nos guste luego en la parte inferior:

y una vez colocado el nombre del proyecto damos un click en el siguiente botón:

(17)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

17

: Este botón en español significa Abrir un Proyecto Existente.

Por lo cual con este botón podemos abrir nuestros proyectos cuando queramos de una manera rápida aparte de ello cuenta con un sub menú en la parte derecha es la flecha de color negro que miran y cuando damos click sobre ella nos muestra un menú así como este: ahí nosotros seleccionamos alguno de los últimos proyectos abiertos.

:Este botón en español significa Restaurar el último proyecto abierto.

y pues como su propio nombre lo dice restaurar nuestro último proyecto abierto en AMS dando un Click sobre el botón.

(18)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

18

EL ÁREA DE TRABAJO

Continuando con esta etapa de AMS tenemos la captura del área de trabajo de AMS en la parte superior y a continuación les desglosare cada una de las partes tratando de explicarlas lo más claras posibles.

(19)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

19

En esta barra encontraras todos los menús de AMS de una manera muy ordenada cuando presionamos con el ratón nos en alguna de sus opciones nos

despliega un menú así como este:

De esa manera se mostrara cada uno de ellos con forme vallamos pasando el puntero del ratón sobre ellos.

(20)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

20

En esta barra encontraras una serie de botones con las acciones más comunes para trabajar, en ella tenemos los botones ordenados de una manera muy clara y entendible.

A continuación desglosare cada uno de los botones explicándoles cual es la función de ellos.

Crea un proyecto nuevo.

Abre un proyecto ya existente.

Guarda un proyecto, o guarda los cambios realizados a un proyecto.

Corta un objeto seleccionado.

Copia un objeto seleccionado.

Pega algún objeto previamente cortado o copiado.

Retroceder o Avanzar.

Vista previa del proyecto.

Empaquetar el proyecto.

Agregar objeto de botón.

Agrega objeto de imagen.

(21)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

21

Agrega objeto de Párrafo.

Agrega objeto de video.

Agrega objeto de video QuickTime.

Agrega objeto Flash.

Agrega un objeto de SlideShow.

Agrega un objeto PDF.

Agrega un objeto web.

Agrega un objeto de XButton.

Agrega un objeto CheckBox.

Agrega un objeto RadioButton.

Agrega un objeto Input.

Agrega un objeto ComboBox.

Agrega un objeto ListBox.

Agrega un objeto Tree.

(22)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

22

Agrega un objeto Pregress.

Agrega un objeto RichText.

Agregar un objeto Hotspot.

OTROS CONTROLES

Shape: Es un control gráfico que se muestra como un rectángulo, un

cuadrado, una elipse, un círculo, un rectángulo redondeado o un cuadrado redondeado.

RichTextBox: Es un control que permite al usuario escribir y modificar texto

al tiempo que proporciona características de formato más avanzadas que el control TextBox convencional.

DataGrid (Control): Muestra y permite la manipulación de datos de una serie

de filas y columnas que corresponden a registros y campos de un objeto de base de datos u otro tipo de datos.

Control Calendar: Es una control que permite introducir en una aplicación

uncalendario personalizado.

Estas opciones son de lineamiento de los objetos en nuestro proyecto.

(23)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

23

Este es el panel de Exploración de todo nuestro proyecto aquí podrán ver todos las hojas o formularios y sus objetos de una manera de árbol.

Este es el panel de propiedades para todos los objetos de nuestro proyecto, solo debes de seleccionar el objeto y te mostrara todas las propiedades de dicho objeto en caso de que no tengas seleccionado nada solo te mostrara las propiedades de la hoja.

(24)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

24

Esta es el área de trabajo en la cual desarrollamos nuestros trabajos estas son llamadas hojas, también contamos con otras formas de hojas llamadas DialogEx son una gran herramienta a la hora de desarrollar software con multi formularios tienen una flexibilidad muy completa.

Bueno una vez explicado el funcionamiento de cada una de las herramientas básicas de AMS procedemos a la clase, primero que nada les recomiendo lean completo todo una o dos veces para que se aprendan bien que es lo que hace cada herramienta y no tengan que estar viendo cada vez que ocupen hacer algo este tema, la intención de todo esto es hacerte un experto que no ocupes ver algo para poder hacer tus programas.

Lo que aremos a continuación será muy sencillo abriremos AMS y crearemos un proyecto nuevo le pondrán por nombre MI PRIMER EJERCICIO y le colocaran una Etiqueta con el nombre de ustedes y una foto de cualquier cosa, luego le colocaran un color de fondo o un degradado una vez terminado lo guardaran y lo ejecutan.

(25)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

25

A continuación les explicare como desarrollar este ejercicio.

Pasos para desarrollo de la Tarea 1:

1- Abrimos AMS

2- Creamos un proyecto en blanco y le ponemos por nombre MI PRIMER

EJERCICIO

3- Les cargara el área de trabajo y ahí agregaren los dos objetos que se le piden.

4- Colocaran un color de fondo o degradado.

Como hacer el paso 4:primero debemos de acceder a las propiedades de la hoja lo pueden hacer dando Click derecho en la pestaña que tiene el nombre de la hoja así como se muestra en la imagen luego de ello se

abrirá una nueva ventana y nos dirigimos a esta opción ahí activamos la caja de selección y nos activara todas esas opciones las cuales son para personalizar tu hoja de trabajo nosotros nos dirigimos a la que dice Soild color o gradient y les activara una paleta de colores y ahí seleccionan el o los colores que quieran que tenga y listo ya una vez hecho eso le dan un Click al botón aceptar y ya estarán aplicados los cambios.

(26)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

26

5- Guardar el proyecto en formato APZ

Como hacer el paso 5:

se dirigen a la barra de menús y dan Click en la opción FILE les desplegara el menú y darán Click en la opción EXPORTER, antes de ello ya deben de haber guardado su proyecto normal mente con el botón de guardar para que los deje Exportar, la opción EXPORTER se verá a si

en la imagen sale marcada SAVE AS pero no es la inferior la que usaran, una vez seleccionada esa opción les abrirá una nueva ventana que se vera de la siguiente manera colocaran un nombre a su proyecto y le dan al botón guardar antes de guardar elijan donde lo quieren guardar y listo.

(27)

LIBRO DE SCRIPTING EN AMS 8

(28)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

28

Teoría del Script

Empezaremos enseñando la sintaxis de LUA, como cualquier lenguaje de programación, consta de una sintaxis y de una manera de escribir, afortunadamente, la de LUA es de las más sencillas que hay.

Así que empecemos.

nombre = Input.GetText("nombre") if nombre == "douglas" then

Dialog.Message("hola", "Douglas") end

Ahora parte por parte.

nombre = Input.GetText("nombre") : Esta parte da una variable la cual

almacena una cadena, el valor almacenado en la variable es una lectura de una Input llamada "nombre".

if nombre == "douglas" then : es la condición de que si nombre "la Input"

contienen dentro de ella el valor "douglas" realizara una acción, que se le dará posterior mente.

(29)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

29

Dialog.Message("hola", "Douglas") : esta es la condición a realizar si el

valor es el correcto en este caso la lectura del nombre douglas en la input llamada nombre.

end : pues esta parte es el cierre de la condición si abrimos un if cerramos con

un end

espero me haya explicado bien si tienen dudas las dejan en el foro de discusiones.

Palabras claves Reservadas por LUA

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

Esas son las palabras que no podemos usar como variables ni como nombres de objetos ya que son palabras reservadas por AMS, pero recordemos de que AMS es sensible a las MAYÚSCULAS y MINÚSCULAS y por lo tanto podemos usar estas palabras si las colocamos en Mayúsculas, pero eso sería un problema a la hora de trabajar ya que se confundirían muy fácil mente, por ello no les recomiendo hacer eso.

(30)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

30

Explicando que significa cada palabra clave

if nos da la condicional de si ocurre algo.

elseif nos sigue dando también una condicional, pero si no ocurre el if

anterior.

else se usa para dar una acción de que si ocurre lo contrario del if

and nos sirve para añadir otra condicional al if, por ejemplo, "if douglas and

agotaras".

or es un O en castellano vamos, suele complementar al if, if douglas or

Douglas.

then es un entonces, cuando acabamos el if ponemos un then para empezar

a poner la función del script. Por ejemplo, if douglas == “Douglas” then Dialog.Message("hola", "Douglas")

end nos permite cerrar una función, se ponen los end al final casi siempre, y

se pone un end en cada función if para cerrar la operación.

return nos permite volver a hacer una acción, por ejemplo return onUse,

será para volver a la función onUse

true/false nos permite decir que si un valor es cierto o falso, siempre van en

(31)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

31

Los Signos matemáticos

Los signos matemáticos de LUA, son como todos, pero los explicaré.

+ Sirve para sumar cantidades. - Sirve para restar cantidades. * Sirve para multiplicar cantidades. / Sirve para dividir cantidades. = Para dar igualdades.

> Mayor que. < Menor que. == Es igual a.

>= Mayor e igual que. <= Menor e igual que.

Ejemplo de uso de los operadores matemáticos

cantidad_1 = Input.GetText("Input1") cantidad_2 = Input.GetText("Input2") operacion = cantidad_1 + cantidad_2

Resultado = Dialog.Message("Respuesta" , operacion)

(32)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

32

Explico paso a paso:

cantidad_1 = Input.GetText("Input1") : la primera parte es una variable

que almacena la lectura de una input en esta caso la Input1.

cantidad_2 = Input.GetText("Input2") : la primera parte es una variable

que almacena la lectura de una input en esta caso la Input2.

operacion = cantidad_1 + cantidad_2 : en esta parte operación es la variable

la cual almacena la operación matemática que en este caso es una suma de los valores escritos en la Input1 y la Input2.

Resultado = Dialog.Message("Respuesta" , operacion): esta pues es una

variable la variable es Resultado y ella almacena un Mensaje de Dialogo el cual nos dará el resultado dado de la sumatoria de las dos input pero la lectura la hace por medio de la variable operacion

Nota: este método de uso de variables y combinación con cadenas es muy fácil de entender y nos ahorra mucho trabajo de escritura.

La misma script se aria para cualquier otra operación matemática suma, resta, multiplicación, división, etc.

Una de las cosas muy importantes a la hora de estar programando es el dejar comentarios en cada parte importante de nuestros script eso no es para que se mire bonito no que seas extremadamente ordenado no, eso se hace para tener el script bien legible para nosotros mismo así como para otros que lo lean después, para que su comprensión sea más rápida y no compliques mucho a la hora de buscar algo en específico.

(33)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

33

Yo en lo personal uso mucho los comentarios en casi todo el desarrollo de los script y lo hago para ayudarme a mí cuando tengo un error lo encuentro rápido y si busco alguna parte de un script viejo para usarlo en un programa nuevo solo canibalizo la parte que ocupo y como le tengo un comentario ya sé dónde inicio y donde termina y me ahorro mucho tiempo de comprobar si está bien el script.

Como hacer y dejar Comentarios

Se pueden insertar comentarios no ejecutables dentro de tus scripts para explicar y documentar tu código. En un script, cualquier texto después de dos guiones (--) en una línea será ignorado.

Por ejemplo:

-- hola es almacena un nombre

hola = Douglas

o lo podemos dejar después del script.

Ejemplo:

hola = Douglas -- hola es almacena un nombre

Los dos ejemplos hacen lo mismo, los comentario de las dos maneras que se agregaron no afectan en nada al desarrollo del script por lo tanto lo pueden usar de esas maneras.

(34)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

34

con lo de multi lineales, pues es sencillo crear un comentario grande pero no usar en la línea los guiones pues la solución es muy fácil, los creamos usando los corchetes [ ] pero debemos de colocar al inicio siempre los dos guiones.

Ejemplo de uso:

--[[ Hola Alumno Te saluda tu Profesor: Douglas A. Castillo]]—

¿Qué son las Variables?

Las variables son muy importantes en el Script de Autoplay. Las variables son simplemente “apodos” o “contenedores” para valores que podrían necesitar modificarse o reutilizarse después.

Ejemplo: el siguiente script asigna un valor de caracteres a una variable en este caso el valor asignado es "Douglas"

Hola = Douglas

Nota: Decimos que los valores son “asignados a” o “almacenados en”

variables. Si describes una variable como un contenedor que contiene un valor, asignar un valor a una variable es como “colocar” ese valor dentro del contenedor. Puedes cambiar este valor en cualquier momento asignándole un valor diferente a la variable; el nuevo valor simplemente reemplazará al anterior. Esta habilidad para contener información cambiable es lo que hace a las variables tan útiles.

(35)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

35

Ejemplo de uso de variables:

numero = 100;

numero = numero + 20;

Dialog.Message("Valor", numero);

Esto almacena 100 en la variable llamada “numero”, luego añade 20 a ese valor, y finalmente hace que un cuadro de diálogo aparezca con el valor actual (el cual es ahora el número 120) en él.

TAREA 1

1- Cree un proyecto en blanco 2- Agregue Dos Input

3- Agregue un Botón

4- en el Botón en la pestaña Script en el procedimiento On Click, cree un script que me haga una División de las Input.

5- Guardar la tarea en formato APZ.

6- Desarrolle el script correspondiente en su libro de trabajo.

(36)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

36

TAREA 2

1- Cree un proyecto en blanco 2- Agregue Dos Input

3- Agregue un Botón

4- en el Botón en la pestaña Script en el procedimiento On Click, cree un script que me haga una Resta y Multiplicación de las Input.

5- Guardar la tarea en formato APZ.

6- Desarrolle el script correspondiente en su libro de trabajo.

(37)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

37

Teoría del Script 2 Las Variables

AMS como todo software de desarrollo usa variables y strings.

Las strings no son más que texto respondiendo a acciones determinadas.

Las variables contienen una acción determinada y estas acciones devuelven o bien Strings o bien Tablas (algunas acciones no devuelven nada, pero pocas son las que no lo hacen) y para más tarde poder obtener esa String o Tabla debemos llamar a las Variables, por eso cada Variable tiene su nombre propio, pueden haber dos Variables que tengan el mismo nombre, aunque yo no lo recomiendo si vas a usar las String o Tablas que la variable devuelva, en el caso de que no quieras utilizar las String que devuelva la variable pues no importa que hayan varias con el mismo nombre.

Las variables no pueden llamarse de cualquier forma, su nombre tiene que cumplir unas normas.

Las variables no pueden llamarse: and, end, if, else, elseif, break, for, do, then, in, repeat, function, or, true, false, in, local, nil, return, table, while, ya que son nombres reservados para la estructura del script como lo mencione arriba.

Las variables tampoco pueden empezar por un numero ni un signo, solo pueden empezar por una letra, aunque luego puedes seguir por un numero o una _ (Guion baja).

Ejemplo de variables inválidas y validas:

24Fuente = una variable invalida Alucard = una variable valida For = variable invalida

(38)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

38

Ahora les voy a mostrar cómo usar una variable para poder obtener una String que más tarde utilizaremos

Por ejemplo:

Script

Unidad = Drive.GetFreeSpace(“c:”);

Con eso obtendríamos una String alojada en la variable Unidad que contiene el espacio libre MB que quedan en la unidad C.

Ahora la aplicaremos a una etiqueta (Label)

Script

Label.SetText(“Lablel1”, Unidad);

Con eso aplicaríamos al Label1 el texto Unidad que corresponde a lo que Explique anterior mente (espacio libre…)

Para hacerlo solo tenemos que poner en el primer argumento el nombre del label entre comillas “” y el segundo argumento el nombre de la variable sin comillas, ya que si llevase comillas sería una String y no una variable.

Y como bien pueden ver ese código no se puede llamar por una variable ya que no devuelve nada, solo ejecuta una acción.

(39)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

39

Practica 1

Practicaremos lo que hemos aprendido en la teoría creando un pequeño reloj digital.

Pasos

1- Creamos un proyecto nuevo llamado Practica Reloj

2- Vamos a proyecto o Project y en Dimensiones (o Dimensions) es la

primera opción que sale y ahí ponemos 200 de ancho y 100 de alto al

proyecto.

3- Ahora crearemos una Label y ponemos la fuente que más nos guste y la

ponemos en el centro, tirando a la izquierda así como se muestra en la imagen:

4- Ahora damos 2 clics sobre el fondo de la página y damos a un clic a la

pestaña script, ahí buscamos la pestaña On Timer y nos colocamos sobre ella así como lo muestro en la imagen:

(40)

LIBRO DE SCRIPTING EN AMS 8 Tomo 1, Año 2011

40

Script gh = System.GetTime(TIME_FMT_HOUR) gm = System.GetTime(TIME_FMT_MIN) gs = System.GetTime(TIME_FMT_SEC)

Con eso obtendremos la hora, minutos y segundos, alojados cada uno de ellos en su variable respectiva.

6- Ahora ponemos debajo de ese código el siguiente: Script

Label.SetText(“Label1”, gh..”:”..gm..”.”..gs);

Con eso aplicaríamos al Label las horas:minutos.Segundos Los .. Sirven para juntar varias String o strings y variables les deberá haber quedado un código Así:

7- Ahora activaremos el temporizador, que ejecutara el código de On

Timer cada x tiempo.

Vamos a la pestaña On Preload y ponemos el siguiente código:

Script

(41)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

41

Con eso se ejecutaría a cada segundo, ya que el número de Page.SatartTimer está en milisegundos.

Aceptamos y probamos nuestro proyecto, como verán funciona perfectamente y se les vera de la siguiente manera:

Teoría del Script 3 Estructuras de Control

Estructuras de control (if, else, then, etc.)

Las estructuras de control en los scripts es muy útil, y sin ellas poca cosas podemos hacer…

Por el momento les voy a enseñar a usar el if, else, then, for, do y end.

(42)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

42

El if y el else son condiciones, es decir, si se cumple un requisito se hace una cosa, y si no se cumple pues se hace otra cosa.

Un script de ejemplo: Script gbt = Button.GetText(“Button1”) if gbt == “Instalar” then File.Open(“Autoplay\\Docs\\Setup.exe”, “”, SW_SHOWNORMAL); else

Dialog.Message(“Noticia”, “El texto del boton no es Instalar.”, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1); end

Ahora les voy a explicar cómo funciona ese script 1- Obtenemos el texto que lleva el “Button1”.

2- if (si… condición) el texto del botón es == (igual a…) “Instalar” then (entonces… se hace lo siguiente)

Abrir el archivo “Autoplay\\Docs\\Setup.exe”

else (pero si el texto del botón no es igual a “Instalar”…)

Saldrá un mensaje diciendo que “El texto del botón no es Instalar.” end (Aquí se acaba el if y el else)

Es fácil aunque no lo parezca, todo es acostumbrarse. El mismo script funcionaria igual de esta manera: gbt = Button.GetText(“Button1”)

if gbt == “Instalar” then

File.Open(“Autoplay\\Docs\\Setup.exe”, “”, SW_SHOWNORMAL); Elseif gbt ~= “Instalar” then

Dialog.Message(“Noticia”, “El texto del boton no es Instalar.”, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

(43)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

43

El único cambio en este script respecto al anterior es que hemos cambiado el else por elseif gbt ~= “Instalar” then

El elseif gbt ~= “Instalar” then significa esto:

elseif (pero si…) gbt (la variable gbt, que obtiene el texto del boton) ~= (no es igual a…)

“Instalar” then (entonces…)

Para que lo entiendan un poco mejor, diríjanse a la clase 2 del libro donde explico los símbolos de relación que podemos usar en los if else y elseif.

Con esto doy por explicada la parte del uso de if, y else.

Ahora dejo otros ejemplos más y unos ejercicios que deben de realizar.

Ejemplo 2

if, else, end, Calcula si eres mayor o menor de edad ingresando Tu nombre y Edad

Lo que debemos de hacer es agregar los objetos que miramos en la imagen y colocarles los nombres correspondientes para poder identificarlos rápidamente a la hora de estar realizando nuestro script.

(44)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

44

Una vez hecho eso solo nos queda escribir el siguiente código en el botón Comprobar en el procedimiento On Click:

Script

--declarando Stings

texto = Input.GetText("inpEdad") Nombre = Input.GetText("inpTexto") --declarando Variables

mayor = "Es mayor de Edad" menor = "Es menor de Edad"

--uso de las condiciones if texto >= "18" then

Input.SetText("inpresultado", Nombre.." "..mayor) else

Input.SetText("inpresultado", Nombre.." "..menor)

end

Ahora les voy a explicar cómo funciona ese script

1- --declarando Stings

texto = Input.GetText("inpEdad") Nombre = Input.GetText("inpTexto")

Esta parte lo que hace es almacenar las strigns que almacenal acciones, texto = Input.GetText("inpEdad") almacena los valores escritos en la input de Edad.

Nombre = Input.GetText("inpTexto") almacena los valores escritos en la input Nombre

2- Las variables mayor = ("Es mayor de Edad"), (menor = "Es menor de

Edad")

Lo que hacen es que almacenan un valor asignado en este caso el texto que pegara en la input de resultado dado como resultado una oración comprobando si el personaje ingresado es mayor o menor de edad.

3- if texto >= "18" then

Input.SetText("inpresultado", Nombre.." "..mayor) else

(45)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

45

Input.SetText("inpresultado", Nombre.." "..menor)

end

Pues esta parte lo que hace es comprobar si la edad ingresada es mayor a 18 años y si lo es realizara la primera acción en caso contrario

realizara la segunda.

Ejercicio

Realice un programa que use if, else, end Usando estas comparaciones Calcula cual número es mayor.

Para realizar este ejercicio debe de crear un proyecto colocándole por nombre calcular cual número es mayor, deberá verse como se muestra en la siguiente imagen:

(46)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

46

Probar Valores Numéricos

Otro uso común de la declaración if es probar un valor numérico para ver si este ha alcanzado cierta cantidad. Para demostrar esto, vamos creando otro botón que muestre un mensaje después de que hagas Click sobre el 5 veces.

1) Añade a la página un objeto de botón.

No importa cual botón elijas, o en que parte de la página coloques el botón. Solo necesitamos algo sobre lo cual clickear, de modo que podamos activar un evento On Click y ejecutar alguna acción.

2)

Agrega el siguiente script en el evento On Click del objeto de botón: nClicks = nClicks + 1;

xButton.SetText(this, "Conteo de clicks: " .. nClicks); if nClicks > 4 then

Dialog.Message("¡Bravo!", "Hiciste click " .. nClicks .. " veces."); end

(47)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

47

Haz doble Click en el nuevo objeto de botón que añadiste, luego haz Click en la pestaña script y escribe el script de arriba dentro del evento On Click.

Debería verse así cuando esté terminado:

La primera línea le agrega 1 al valor actual conteniendo en la variable llamada nClicks. (En el próximo paso le añadiremos algún otro script al evento On Preload de la página para ajustar esta variable a 0 cuando se cargue la página).

La segunda línea utiliza una acción xButton.SetText para cambiar el texto del objeto de botón a ―Conteo de Clicks: n‖, donde n es el valor actual de nClicks.

La acción xButton.SetText tiene dos parámetros. El primer parámetro es una cadena conteniendo el nombre del objeto sobre el cual quieres operar. En este caso, utilizamos la variable especial this, la cual contiene el nombre del objeto sobre el que es activado el evento On Click. Básicamente esto es lo mismo que utilizar el nombre del objeto, tal como lo siguiente.

(48)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

48

xButton.SetText(―xButton1‖, ―Conteo de clicks: ― ..nClicks);

El Segundo parámetro de la acción xButton.SetText es una cadena conteniendo el texto que quieres mostrar en el objeto de botón. Utilizamos el operador de eslabonamiento para unir el valor actual de nClicks al final de la cadena ―Conteo de Clicks: ―. Observa que esta cadena tiene un espacio en blanco al final de ella, así que habrá un espacio entre los dos puntos (:) y el valor de nClicks. (De este modo, la cadena resultante se verá mejor).

El operador de eslabonamiento cosiste en dos puntos seguidos (..). De hecho, con frecuencia es referido como el operador ―punto-punto‖. Esto es utilizado para unir dos cadenas juntas para formar una nueva cadena combinada. Es algo así como un ―pegamento‖ de cadenas.

Nota: Técnicamente, el valor interno nClicks no es una cadena (es un

número). Sn embargo, realmente esto no importa. Cuando se hace un eslabonamiento, AMS automáticamente convierte el número en la cadena equivalente como se requiere.

El resto del script es solo una declaración if que prueba si el valor nClicks es más grande que4, y muestra un mensaje cuando esto e4s verdadero. (Un par más operadores de eslabonamiento son utilizados en la acción Dialog.Message para crear la cadena de su segundo parámetro. Observa que también puedes incluir fácilmente el contenido de una variable ―a la mitad‖ de una cadena).

Una vez que hayas terminado la edición del script On Click del botón, haz click en aceptar para cerrar el editor de script.

(49)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

49

3) Agregamos la siguiente línea en el evento On Preload de la

página:

nClicks = 0;

Necesitamos inicializar nClicks antes de que el botón sea clickeado, así que nuestro script en el evento On Click del botón iniciara contando desde 0. Date cuenta que no podemos simplemente ajustar nClicks a 0 en el evento On Click del botón porque sería reajustado a cero cada vez que el botón fuera clickeado.

Para añadir una línea al evento On Preload de la página, solo haz doble Click en la superficie de la página, luego haz Click en la pestaña On Preload del editor de Script y agrégale la línea nClicks = 0; al script existente. Una vez que lo hayas hecho, deberá verse así.

4) Previsualiza el proyecto y haz Click 5 veces en el objeto de

botón.

Cada vez que hagas Click en el botón, su texto cambiara para mostrar cuantas veces has hecho Click sobre él. Después de que hayas

(50)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

50

clickeado 5 veces sobre el botón, aparecerá un mensaje diciéndote que hiciste Click 5 veces.

5) Sal de la vista previa.

Muy bien. Acabas de crear un pequeño programa muy sofisticado.

Consejo Para Tarea: Si quieres aventurarte, intenta si puedes

modificar el script para detener el anuncio del número de clicks una vez que se haya alcanzado los 10 clickeos.

Te doy una pista: necesitas utilizar un operador lógico como ―or‖ y ―and‖ para probar más de una cosa al mismo tiempo en la condición de la declaración if. Por ejemplo, podrías hacer que la prueba solo sea verdadera entre 3 y 7 utilizando una condición como esta:

if (nContar > 2) and (nContar < 8) then

--solo es verdadera si es mayor que 2 y menor que 8 end

La segunda línea en el script de arriba es un comentario (el cual realmente no hace nada). Todo lo que se escriba en una línea después de dos guiones (--) será completamente ignorado por AMS. Puedes utilizar tales comentarios cuando quieras añadir notas o explicaciones ―internas‖ en tus scripts.

(51)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

51

Script

Teoría del Script 4 Estructuras de Control Uso de

Ciclo FOR

Algunas veces es útil poder repetir varias veces un montón de acciones sin tener que escribirlas una y otra vez. Una manera de lograr esto es utilizando un ciclo for.

La sintaxis básica del ciclo for es:

for variable = start, end, step do hacer algo aquí

end

Por ejemplo:

for n = 10, 100, 1000 do Dialog.Message(―‖, n); end

(52)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

52

Este script simplemente cuenta desde 10 hasta 100, de 10 en 10, mostrando el valor actual de la variable n en un mensaje de cuadro de dialogo. Esto logra el mismo propósito que si escribes:

Dialog.Message(―‖, 10); Dialog.Message(―‖, 20); Dialog.Message(―‖, 30); Dialog.Message(―‖, 40); Dialog.Message(―‖, 50); Dialog.Message(―‖, 60); Dialog.Message(―‖, 70); Dialog.Message(―‖, 80); Dialog.Message(―‖, 90); Dialog.Message(―‖, 100);

Obviamente, el ciclo for hace mucho más fáciles las acciones de repetición similar.

Vamos utilizando un ciclo for sencillo para sumar todo los dígitos entre 1 y 100, y mostrar el resultado.

1) Agrega un objeto de botón en la página. Añade el siguiente script

al evento On Click de este botón.

n = 0;

for i = 1, 100 do n = n + i; end

Dialog.Message(―‖, ―La suma de todos los dígitos es:‖ ..n); El script debería verse así cuando esté terminado:

(53)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

53

La primera línea crea una variable llamada n y la ajusta a 0. La siguiente línea le ordena al ciclo for contar de 1 a 100, almacenando la ―cuenta‖ actual en cada etapa en una variable llamada i.

Durante cada ―paso‖ a través del ciclo, el script entre el ―do‖ y el ―end‖ será ejecutado. En este caso, este consiste en una única lenea que suma los valores actuales de n y de i, y luego almacena el resultado de nuevo en n. en otras palabras, le agrega i al valor actual de n.

Este ciclo for es lo mismo que escribir:

n = n + 1; n = n + 2; n = n + 3; n = n + 4; n = n + 5; n = n + 6; n = n + 7; n = n + 8; … hasta llegara 100

La última línea de nuestro script simplemente le muestra al usuario el resultado del cálculo en un mensaje de cuadro de dialogo.

Consejo: Puedes utilizar el botón Add Code para insertar un ejemplo

de un ciclo for, completando la sintaxis con comentarios explicativos. Luego puedes editar el ejemplo para ajustarlo a tus propias necesidades.

(54)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

54

2) Previsualiza el proyecto y haz Click en el objeto del botón.

Cuando hagas Click en el objeto de botón, el ciclo for ejecutara a la velocidad de la luz el cálculo de 100 vedes, y luego la acción Dialog.Message mostrando el resultado.

Todo esto sucede muy rápido.

3) Sal de la vista previa.

Probablemente no utilizaras los ciclos for con la frecuencia que utilizaras las declaraciones if, pero definitivamente vale la pena saber cómo se utilizan. Cuando necesites repetir pasos, estos pueden ahorrarte mucho esfuerzo.

Por supuesto que cuando hablamos de ahorrar esfuerzo, las verdaderas campeonas son las funciones.

(55)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

55

Teoría del Script 5 Estructuras de Control Uso de for y

do

Con el uso de for y do podemos repetir una acción tantas veces como queramos añadiendo variables, por lo que con esto es posible de que aunque sea el mismo código no siempre pase lo mismo al ejecutarlo, bueno mejor les enseño.

La estructura seria esta.

for nombre_de_la_variable = empezar,acabar,paso do Aquí iria la acción

end

Y ahora un script de ejemplo para que lo entiendan mejor:

Script

for e = 0,100,1 do

Label.SetText(“Label1”, e); end

Ese script le daría a la variable “e” un valor distinto cada vez, empezaría en el 0 y acabaría en el 100 yendo de 1 en 1 (el 0 equivale al empezar, el 100 al acabar, y el 1 al paso) entonces le aplicaría al “Label1” el texto0, luego el 1, luego el 2 y así sucesivamente hasta llegar al final, en este caso el 100, pueden hacer el ejemplo pero debo decir que no tiene un tiempo determinado, sino que hace la acción tan tapido como pueda, por lo que apenas les dará tiempo a ver los números y verán el 100 cuando acabe.

(56)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

56

Práctica 2

En esta práctica vamos a mejorar nuestro reloj, si el que hicimos en la primera lección.

Esta vez le añadiremos una sencilla opción de despertador.

1- Le añadiremos 1 Input en la parte de abajo y 2 Label que digan H:

(Hora) y M: (Minutos) se deberá ver de la siguiente manera:

2- Y vamos a la pestaña Script en el procedimiento On Timer en donde ya

debemos de tener el scritp del reloj que se vera de la siguiente manera:

Script

gh = System.GetTime(TIME_FMT_HOUR) gm = System.GetTime(TIME_FMT_MIN) gs = System.GetTime(TIME_FMT_SEC)

Label.SetText(“Label1”, gh..”:”..gm..”.”..gs);

Ahora debajo de ese código le añadiremos este otro código:

Script

igt1 = Input.GetText(“Input1”); igt2 = Input.GetText(“Input2”); if igt1 == gh and igt2 == gm then

Audio.Play(CHANEL_BACKGROUND); end

Eso obtendría el texto de la “Input1” y lo guardaría en la igt1 y obtendría el texto de la “Input2” y lo guardaría en igt2, después comprobaría si el texto de

(57)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

57

la input1 es igual a la hora y si el input2 es igual a los minutos, de ser así reproducirá el sonido previamente cargado en la pestaña On Show.

3- Y en la pestaña On Show ponemos esto:

Script

Audio.Load(CHANEL_BACKGROUND, "AutoPlay\\Audio\\Easy (short).ogg", false, false);

Previamente debemos poner el archivo de audio en la carpeta Autoplay\Audio, en mi caso copie el archivo Easy (short).ogg en esa carpeta.

4- Ahora guardamos el proyecto y lo ejecutamos, entonces ponemos la

hora y los minutos en la que queramos que suene y esperamos a que esa hora llegue, entonces el sonido empezará a sonar, y cuando esa hora pase el sonido parara (Si lo has puesto a las 22:01, cuando llegue a las 22:02 parara.)

Ejercicio

Para este ejercicio pondremos en práctica el uso de if, or, else, end para verifica si la letra ingresada es Vocal o Consonante.

(58)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

58

El programa deberá verse de la siguiente manera así como se muestra en la imagen:

En este programa el script que desarrollemos lo colocaremos en el botón Comprobar en el procedimiento On Click.

1- Escribimos el siguiente script en el botón Comprobar:

--declarando String

texto = Input.GetText("inpTexto") --uso de las condiciones

if texto == "" then

Input.SetText("inpResultado", "La Caja de Texto esta En BLANCO")

else

if texto == "a" or texto == "e" or texto == "i" or texto == "o" or texto == "u" then

Input.SetText("inpResultado", "La letra ingresada es una VOCAL")

else

Input.SetText("inpResultado", "La letra ingresada es una CONSONANTE")

end

(59)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

59

No explicare este script porque lo único nuevo es el uso de or que es (o) y está comparando el texto escrito en la input si es igual a “a” o “e” o “i” o “o” o “u” si lo son dirá que es una Vocal y en caso contrario es una Consonante, además le he agregado una condición extra para que cuando presiones el botón y no este escrito nada diga que la caja de texto está en blanco.

Ejercicio

Realizar el siguiente programa aplicando lo aprendido en las últimas clases, lo que se pondrán en práctica serán las estructuras de control y el uso de

variables y strings.

Las estructuras usadas son las de cadena, numéricas, decimales, condicionales.

1- El ejercicio de cadena realizaran un enlace el texto escrito en las dos

Input y las encadenara en la tercera Input.

2- El ejercicio de número realizara una suma de los números escritos en las

dos input y los sumara en la tercera Input.

3- El ejercicio de decimal realizara una suma de los números escritos en

las dos input y los sumara en la tercera Input.

4- El ejercicio condicional realizara una comparación booleana si el

radiobutton seleccionado es verdadero o falso dando una respuesta de la opción seleccionada en la Input.

(60)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

60

El ejercicio deberá verse así como se muestra en las siguientes imágenes.

Script 1

(61)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

61

Script 3

(62)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

62

Ejercicio

Este ejercicio trata del Manejo de cajas de texto, manejando las Cajas de Texto con true y false, lo que ara será habilitar o deshabilitar las cajas de texto presionando un botón de esa manera tendremos la voluntad de poder agregar información a ellas o no.

Deberá verse de la manera que se muestra en la imagen, como pueden ver he agregado 6 Input y 2 botones cada botón realizara una tarea diferente uno habilitara las Input y el otro las deshabilitara el script que utilizaremos en este ejercicio es muy sencillo solo usamos los valores booleanos Verdadero o Falso.

(63)

LIBRO DE SCRIPTING EN AMS 8 Tomo 1, Año 2011

63

Script Input.SetEnabled("inp1", true) Input.SetEnabled("inp2", true) Input.SetEnabled("inp3", true) Input.SetEnabled("inp4", true) Input.SetEnabled("inp5", true) Input.SetEnabled("inp6", true)

Eso es todo el script para ese botón lo que hace es habilitar todas las Input. Ahora aremos el scritp para el botón Deshabilitar:

Script Input.SetEnabled("inp1", false) Input.SetEnabled("inp2", false) Input.SetEnabled("inp3", false) Input.SetEnabled("inp4", false) Input.SetEnabled("inp5", false) Input.SetEnabled("inp6", false)

Esto es todo como pueden ver es casi el mismo que el de habilitar pero en este caso los valores o el segundo argumento es falso eso quiere decir que deshabilitara las input al darle un Click a dicho boto.

(64)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

64

EJERCICIO

En este ejercicio realizaremos una aplicacion que realice diferentes cálculos matemáticos.

El diseño del formulario deberá tener la siguiente apariencia.

Cuando tengas listo el diseño del formulario ya con sus nombres internos y ordenados, procederas a crear el script en cada uno de los RadioButtons, el script deberá colocarce en el procedimiento On Click de cada uno de los RadioButtons correspondiendo cada script a la operación relacionada, Suma, Resta, Multiplicacion, Duivision y el resultado deberá imprimierlo en la Input3.

Nota: La script que deberas de realizar es la aprendida en las lecciones

(65)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

65

Manejo de las Tablas

Las tablas son también muy importantes en la programación, al principio puede que queramos evitarlas y que nos resulte algo complicado usarlas, pero en cuanto nos acostumbramos a ellas las usaremos y nos ahorraran varias líneas de código innecesarias.

Las tablas son como las Strings, pero estas pueden albergar varias líneas a la vez, algo que resultara muy útil para no tener que trabajar como decenas o centenas de strings.

Hay varias formas de construir tablas, por ejemplo:

Código:

tablaAlucard = {“uno”, “dos”, “tres”, “cuatro”, “cinco”, “Hola Alucard”, “Que tal”}

Y después, podríamos llamar a cualquiera de las Strings de esa tabla de esta manera:

Código:

Llamando = Dialog.Message(“Noticia”, tablaAlucard[6], MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

(66)

LIBRO DE SCRIPTING EN AMS 8

Tomo 1, Año 2011

66

Con eso se mostraría un mensaje con la String 6 de la tabla, en este caso la Sting “Hola Alucard”.

También podemos hacer una tabla así:

Código:

tabladouglas = {};

tabladouglas.uno = “uno”; tabladouglas.dos = “2”; tabladouglas.tres3 = “tres”; Y llamarla de esta forma:

Código:

Llamando = Dialog.Message(“Noticia”, tabladouglas.tres3, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

Como ven es muy fácil de albergar muchas strings.

También se pueden obtener tablas de algunas acciones, como por ejemplo:

Código:

Buscar = File.Find(“C:\\MyDir\\”, “*.Docx”, false, false, nil, nil);

De esa manera se obtendrá una tabla que en cada línea estaría la ruta del archivo (incluyendo el mismo archivo y extensión)

Después podríamos acceder, por ejemplo, al primer archivo encontrado de la siguiente forma:

Código:

Referencias

Documento similar