• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Taller SoraScript para HAEduc 1

on

  • 2,514 views

Presentación del curso de SoraScript para HAEduc 1 realizado por: Lic. Héctor Sánchez

Presentación del curso de SoraScript para HAEduc 1 realizado por: Lic. Héctor Sánchez

Statistics

Views

Total Views
2,514
Views on SlideShare
1,730
Embed Views
784

Actions

Likes
0
Downloads
35
Comments
0

12 Embeds 784

http://sorascript.blogspot.com 744
http://sorascript.blogspot.com.es 12
http://sorascript.blogspot.in 6
http://www.sorascript.blogspot.com 4
http://sorascript.blogspot.com.ar 4
http://sorascript.blogspot.mx 4
http://translate.googleusercontent.com 3
http://sorascript.blogspot.de 2
http://sorascript.blogspot.ru 2
http://sorascript.blogspot.no 1
url_unknown 1
http://sorascript.blogspot.com.br 1
More...

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Taller SoraScript para HAEduc 1 Taller SoraScript para HAEduc 1 Presentation Transcript

    • Herramienta de Autor para la Educación http://www.haeduc.rimed.cu/ La Herramienta libre y multiplataforma para tus aplicaciones multimedia.
    • ¿Qué es Sora Script? El runtime de HAEduc emplea un intérprete de un lenguaje muy cercano al Basic, el intérprete de wxBasic, cuyo autor es David Cuny. Dicho intérprete es libre (licencia LGPL) y se puede descargar en http://wxBasic.sourceforge.net. Los autores de HAEduc emplearon este intérprete libre y a partir de modificaciones realizadas en el mismo, para adaptarlo a la metáfora que propone el sistema y con la adición de un proyector y objetos visuales y los métodos para su manejo, surge Sora Script que mantiene como esencia a wxBasic.
    • Fundamentos de WxBasic Las principales características del lenguaje son: • Es libre. • Multiplataforma (Windows y Linux). • Fácil de enseñar y aprender, basado en Basic. • Interpretado. • El runtime ocupa poco espacio en disco. En su sintaxis se revelan elementos de C, QBasic, Lua, Phyton y VB.NET. Si bien no es un lenguaje muy potente, los autores de HAEduc lo consideran suficiente para el desarrollo de recursos educativos y aplicaciones no muy complejas. Unido al hecho de que wxBasic es más flexible que el Basic comúnmente conocido y ha sido diseñado con muchas mejoras. Si a esto le sumamos las posibilidades gráficas del entorno de HAEduc, se puede disfrutar de un ambiente de desarrollo estable, acorde a las necesidades de un amplio grupo de usuarios.
    • Explorador de libro El código en Sora Script puede ser colocado en el libro, en la página y en los objetos.
    • Editor de Sora Script
    • Captura de eventos Las aplicaciones desarrolladas con HAEduc son guiadas por eventos. Por tanto todas las acciones que se ejecuten serán acciones derivadas de la ocurrencia de un evento. Es por ello que es necesario conocer la sintaxis de los eventos y los parámetros que manejan cada uno de ellos. En general un evento se puede capturar mediante una subrutina cuyo nombre esté compuesto por el nombre del evento y el del objeto sobre el que ocurre dicho evento (o la aplicación). Sintaxis: SUB nombreevento_nombreobjeto (listaparametros) // instrucciones END SUB
    • Ejemplo Pasos para la captura de eventos mediante Script (clic de un botón y mensaje). - Colocar un botón en la página. - Escribir el siguiente script en el objeto botón. sub mouseclick_boton1 ( par1 ) ssMensaje ( "Ocurrió el evento clic" ) end sub De la página 71 a la 81 del manual de referencia Sora Script pueden encontrar una lista de los eventos que ofrece el lenguaje.
    • Actividad 1: Captura de evento clic en una imagen.
    • Tipos de datos Todos los valores en wxBasic son almacenados por defecto como Variants. Sin embargo se pueden definir las variables con los siguientes tipos: • Variant • Integer • Number • String • DateTime • Object • Routine • Array • Table • List
    • Ámbitos de variables En modo de proyecto los ámbitos de clase y local de procedimientos (sub y function) se mantienen pero el global ahora desaparece para dar lugar a los ámbitos de Libro y de Página. Como cada proyecto sólo posee un libro, este constituye el ámbito superior, mientras que al existir un número indeterminado de páginas cada una de ellas constituye un ámbito en el que coexisten variables y procedimientos.
    • Actividad 2: Demostrar el concepto de ámbito mediante el empleo de variables.
    • Procedimientos y llamadas Un procedimiento Sub es un bloque de código que puede ser ejecutado a voluntad, en el momento que se requiera. Es esencialmente como una función, sólo que este no devuelve valores. SUB name ( [arg [= expr] {, arg [= expr]} ] [, ...] ) [ DIM variable {, variable } ] [ STATIC variable {, variable } ] [ SHARED variable {, variable } ] [ RETURN ] [ EXIT SUB ] { instrucciones } END SUB
    • Ejemplo & concatena dos expresiones de cadena.
    • Actividad 3: Crear un procedimiento que realice la suma de dos números y muestre el resultado.
    • Funciones FUNCTION name ( [arg [= expr]{,arg [= expr]} ] [, ...] ) [ DIM variable {, variable } ] [ STATIC variable {, variable } ] [ SHARED variable {, variable } ] [ RETURN expr {, expr} ] [ EXIT FUNCTION ] { instrucciones } END FUNCTION Por ejemplo: Function suma( a, b ) return a + b End Function
    • Actividad 4: Llamada a una función que devuelva el cuadrado de un número.
    • Estructuras condicionales Ejecuta un bloque de instrucciones dependiendo del valor de una expresión evaluada en cada ciclo. IF expresión THEN { instrucciones } { ELSEIF expr THEN { instrucciones } } [ ELSE { instrucciones } ] END IF <> diferente = igualdad‏ < menor que > mayor que <= menor o igual >= mayor o igual not negación lógica and Y lógico or O lógico
    • Ejemplo Determinar el rango en el que se encuentra un número.
    • Actividad 5: Crear un procedimiento que permita evaluar a un estudiante según, su calificación en una materia.
    • Select Case Permite ejecutar uno de varios bloques de instrucciones. Al igual que en C, sólo un caso será ejecutado. SELECT CASE expresión { CASE caseTest {, caseTest } { instrucciones } } [CASE ELSE { instrucciones } ] END SELECT Se pueden utilizar expresiones múltiples o intervalos en cada cláusula mediante las siguientes sintaxis de operadores: IS = | <> | < | > | < | >= expr expr TO expr expr
    • Ejemplo Determinar el rango en que se encuentra un número. SELECT CASE a CASE 1, 3 ssMensaje(&quot;el valor es 1, o 3&quot;) CASE 4 TO 6, 8 ssMensaje(&quot;el valor es 4, 5, 6, o 8&quot;) CASE IS < 12 ssMensaje(&quot;el valor es menor que 12&quot;) CASE ELSE ssMensaje(&quot;el valor el algún otro, distinto a los anteriores&quot;) END SELECT
    • Actividad 6: Crear un procedimiento que permita evaluar a un estudiante según, su calificación en una materia.
    • Estructuras cíclicas FOR variable = startExpr TO endExpr {STEP stepExpr} [CONTINUE] [BREAK] [EXIT FOR] { statement } ELSE { statement } END FOR | NEXT {variable}
    • Ejemplo Ciclo donde se muestre la variable del ciclo.
    • Actividad 7: Construya un algoritmo que reciba como entrada un cierto valor n y genere como salida n veces la palabra “hola”.
    • While WHILE expresión [ BREAK ] [ CONTINUE ] [ EXIT WHILE ] { instrucciones } [ELSE { instrucciones } ] END WHILE | WEND Contadores : contador = contador + 1 Sumadores : suma = suma + numero
    • Ejemplo Algoritmo que lance n veces un mensaje.
    • Actividad 8: Construya un algoritmo que reciba como entrada un cierto valor n y genere como salida el valor de la serie: 1+2+3+4+...+n
    • Objetos de proyector ‏ El proyector de HAEduc brinda 11 objetos diferentes para el diseño de las aplicaciones: 1. Imagen 2. Botón 3. Etiqueta 4. Caja de texto 5. Html 6. Video 7. Polígono 8. Lista 9. Reloj 10.Tabla 11.Texto
    • Ejemplo nombre_variable_objeto = ssObtObjeto(nombre_objeto)‏
    • Actividad 9: Modificar las propiedades: Posición, rotación, visibilidad y dimensiones de un objeto imagen, en tiempo de ejecución.
    • Creación y destrucción de objeto Mediante el script estos objetos visuales pueden ser instanciados mediante el empleo de clases internas de Sora Script. A cada objeto le corresponde una clase cuyo nombre está formado por el prefijo SS seguido del nombre del objeto: ssimagen, ssboton, ssetiqueta, ssctexto, ssreloj, sslista, sstexto. De esta forma por ejemplo para crear una lista mediante script podría hacerse de esta forma: Dim milista = sslista(“lista1”,sspunto(100,100),ssdim(80,200))
    • Ejemplo Crear un botón mediante script y destruirlo.
    • Actividad 10: Crear un objeto Html y visualizar en él, un contenido Web. dim mi_html sub pageenter_ejemplo(par1) mi_html = sshtml(&quot;html1&quot;,&quot;/home/usuario/Curso Haeduc/Curso ejemplo/datos/texto para html.html&quot;,sspunto(100,100),ssdim(600,400)) end sub
    • Actividad 11: Crear un botón y capturar su evento.
    • Temas Adicionales
    • Diálogos comunes Los diálogos de Sora Script son clases internas que permiten el intercambio de información entre el usuario y las aplicaciones. Estos diálogos son: ssDialogoColor Clase para la selección de colores por el usuario. ssDialogoFichero Clase para la selección de ficheros por el usuario. ssDialogoDirectorio Clase para la selección de directorios por el usuario. ssDialogoTexto Clase para la creación de cajas de diálogo de entrada de texto. ssDialogoFuente Clase para la selección de fuentes por el usuario. ssDialogoMensaje Clase para mostrar cajas de mensajes.
    • ssDialogoTexto Permite al usuario introducir valores durante la ejecución de un programa. ssDialogoTexto(contenido as string [, título as string= “Entre el texto”, valorpordefecto as string=“”, pos as sspunto= ssPosicionPorDefecto]) as ssDialogoTexto ssDialogoTexto::obtvalor obtvalor() as string Devuelve el valor introducido al cerrar la ventana de diálogo. ssDialogoTexto::estvalor estvalor(valor as string) Establece el valor por defecto del diálogo. ssDialogoTexto::mostrar mostrar() as integer Muestra un diálogo de entrada de texto previamente creado y devuelve los valores SS_ACEPTAR o SS_CANCELAR dependiendo del botón pulsado por el usuario al cerrar el diálogo.
    • Ejemplo Dim n1,n2 as integer sub promedio(num1,num2 as integer) promed=(num1+num2)/2 ssmensaje(promed) end sub sub mouseclick_boton1(par1) dim d1=new ssdialogotexto(&quot;Ingrese el primer número&quot;) d1.mostrar() dim d2=new ssdialogotexto(&quot;Ingrese el segundo número&quot;) d2.mostrar() n1=d1.obtvalor() n2=d2.obtvalor() promedio(n1,n2) end sub
    • Navegar entre páginas ssnavegar (npag as integer, transicion as integer = ss_t_sintransicion , velocidad as integer = ss_vt_medio ) as integer Permite navegar a una página conociendo su posición (npag) en la lista de páginas. Ejemplo: ssnavegar(3) ssnavegarapagina (pag as string, transicion as integer = ss_t_sintransicion , velocidad as integer = ss_vt_medio ) as integer Permite navegar a una página conociendo nombre (pag). Ejemplo: ssnavegarpagina(“pagina3”) ssnavegarsiguiente (transicion as integer = ss_t_sintransicion , velocidad as integer = ss_vt_medio ) as integer Permite navegar a la siguiente página. Ejemplo: ssnavegarsiguiente() ssnavegaranterior (transicion as integer = ss_t_sintransicion , velocidad as integer = ss_vt_medio ) as integer Permite navegar a la página anterior. Ejemplo: ssnavegaranterior() Si la página existe devuelve 1, sino 0
    • Botón Salir sub mouseclick_botoncerrar ( par1 ) resultado= ssmensaje ( &quot;Estas seguro de cerrar la aplicación:&quot; , &quot;Pregunta&quot; , SS_IPREGUNTA , SS_BSINO ) if resultado= SS_SI then ssaplicacionsalir () end if end sub
    • Colecciones Una colección es un agrupamiento de datos de tipo Variant a los que se puede tener acceso mediante un valor clave: Array (colección de tamaño estático)‏ List (colección ordenada dinámica)‏ Table (colección no ordenada dinámica)‏
    • Array Un Array es una colección de tamaño estático. Como las demás colecciones, es pasada por referencia. Se emplea el corchete para distinguirlos de una llamada a rutina. Veamos una declaración simple de un array: Dim miArray[10] Si el límite inferior del rango no es declarado, este se toma como cero. Se puede especificar un tipo de dato: Dim miArray[10] as Number También es posible hacer ambas cosas: Dim miArray[10] as Integer = 30
    • Ejemplo dim miArray[3] as array dim menor,aux as integer sub buscarmenor() menor=miArray[1] For i=2 to 3 aux=miArray[i] if aux < menor then menor=aux end if next ssmensaje(&quot;El número menor es: n&quot; & menor) end sub
    • sub mouseclick_boton1(par1) cadena=&quot;&quot; For i=1 to 3 dim dialogo=new ssdialogotexto(&quot;Introduce un valor: &quot;) dialogo.mostrar() valor=dialogo.obtvalor() miArray[i]=valor cadena=cadena & miArray[i]& &quot; n&quot; next texto=ssobtobjeto(&quot;texto1&quot;) texto.esttexto(cadena) buscarmenor() end sub
    • Lista Dim milista=[] sub pageenter_ejemplo(par1) l=ssobtobjeto(&quot;lista1&quot;) for i=1 to 5 dim dialogo=new ssdialogotexto(&quot;Ingresa el nombre: &quot;) dialogo.mostrar() b=dialogo.obtvalor() milista.append(b) a=milista[i] l.adicionarelemento(a) next end sub
    • SoraScript.blogspot.com Arrastrar imágenes Animaciones Sonido
    • Contacto [email_address] [email_address] Twitter: @hsg2020 http://sorascript.blogspot.com http://hsg2020.blogia.com
    •