SuperTalk es el lenguaje de programación utilizado en SuperCard . SuperTalk es descendiente de HyperTalk .
Extensiones al lenguaje base de HyperTalk
Sintaxis adicional
Una de las características más poderosas que SuperCard agrega al lenguaje HyperTalk son las propiedades del usuario . Donde HyperTalk tenía un conjunto fijo de propiedades en sus objetos, los scripters SuperCard pueden usar el comando para agregar nuevas propiedades a botones y campos. Estas propiedades pueden contener texto arbitrario (incluidos números y referencias de objetos, que también se representan mediante texto en xTalks) e incluso volcados de archivos completos.define property propName
SuperTalk proporciona varias variaciones de HyperTalk answer
y answer file
comandos, que permiten elegir varios elementos de una lista, elegir un icono de todos los iconos disponibles, elegir un instrumento MIDI para reproducir sonido o elegir un archivo de un formato de imagen compatible (incluida una vista previa) o discos y carpetas. A diferencia de los diálogos de HyperTalk, los diálogos de respuesta y pregunta de SuperTalk no cambian de tamaño de forma dinámica para contener más texto. Sin embargo, dado que SuperCard permite tener tarjetas (es decir, "páginas") en ventanas de tipos arbitrarios, uno puede construir fácilmente su propio diálogo que sea lo suficientemente grande. SuperTalk también tiene un alert
comando que muestra ventanas y hojas de alerta del sistema estándar, incluidos los iconos del sistema estándar.
Un comando de cambio está disponible para mayor legibilidad en condicionales complejos, y se pueden grabar varios tipos de medios (por ejemplo, capturas de pantalla de una tarjeta, sonido y películas QuickTime). También hay un clone
comando que es equivalente a copiar y pegar pero deja el portapapeles sin cambios, un comando de enumeración que crea variables globales con valores enteros secuenciales, y recientemente se agregó el repeat for each item x
comando familiar de MetaCard para iterar a través de listas.
SuperCard también ofrece manejo de excepciones usando una try
declaración con throw
comando asociado .
Diferencias e incompatibilidades
SuperTalk vino con un depurador de nivel de fuente muy por delante de HyperCard, pero el depurador de SuperTalk es una ventana modal y no le permite establecer puntos de interrupción simplemente haciendo clic al lado de una línea. Se trace
utiliza un comando especial para ingresar al depurador, donde se puede ver la línea de código que se está ejecutando actualmente, ejecutar comandos, evaluar expresiones, etc. Por eso, el depurador de SuperTalk debe activarse explícitamente en lugar de estar disponible de inmediato cuando se produce un error. se produce un error de secuencia de comandos.
El visual effect
comando es un poco más estricto en su sintaxis, pero a cambio admite numerosos efectos de transición adicionales, incluidas las transiciones QuickTime y módulos de complemento especiales (almacenados en recursos de tipo bifurcación de datos TRAN
). Se ha agregado un tipo especial de comando externo que no se descarga y puede poseer una ventana. Su tipo es XRTN
. Se diferencia notablemente del protocolo XCMD y tampoco utiliza el protocolo xWindoid que se introdujo más tarde para agregar ventanas a HyperTalk.
SuperTalk también usa un launch
comando para iniciar aplicaciones externas, diferente del open
comando de HyperTalk , que SuperTalk usa para abrir sus diversas ventanas (HyperTalk se desvió aquí al usar ).go to stack "foo" in new window
Modelo de objetos más rico
Por supuesto, SuperTalk también expone el modelo de objeto expandido de SuperCard, lo que hace posible crear controles deslizantes, barras de desplazamiento, indicadores de progreso y otras escalas, pintar y dibujar gráficos con secuencias de comandos y cuadros de lista nativos y objetos de menú de primera clase. También están disponibles varias ventanas con varios estilos (panel modal, no modal, de desplazamiento, redimensionable ..., paletas flotantes) y el enfoque y el alcance de activación se pueden modificar bajo el control total del script.
Desviaciones
Algunas partes de SuperCard se desvían del estilo inglés de HyperTalk. Esto incluye el alert
comando, que intentó emular answer
demasiado la sintaxis un poco incómoda del comando. Además, parece que con el tiempo, una serie de XCMD simplemente se incorporaron al motor como comandos integrados, manteniendo la sintaxis de llamada al controlador no muy memorable. El caso más obvio aquí es la movie
función, donde las películas se "clavan de manera invisible" en una ventana en lugar de implementarse como controles reales como controles deslizantes u otros elementos. También hay algunas propiedades que controlan el comportamiento general de la aplicación que son traducciones uno a uno de las API del sistema subyacente, por ejemplo, para usar el "administrador de apariencia" (el motor de temas en Mac OS 9).