Введение

Американская радиостанция SuperTalk является языком сценариев, используемым в SuperCard. SuperTalk - это потомка HyperTalk.

Дополнительный синтаксис

Одной из самых мощных функций, которые SuperCard добавляет в язык HyperTalk, являются свойства пользователя. В случае, когда HyperTalk имел фиксированный набор свойств на своих объектах, скрипты SuperCard могут использовать команду define property propName для добавления новых свойств к кнопкам и полям. Эти свойства могут содержать произвольный текст (включая числа и ссылки на объекты, которые также представлены с помощью текста в xTalks), и даже сбросы целых файлов. SuperTalk предоставляет несколько вариаций команд файлов ответа и ответа HyperTalk, которые позволяют выбрать несколько элементов из списка, выбрать иконку из всех доступных икон, выбрать инструмент MIDI для воспроизведения звука или выбрать файл поддерживаемого формата изображения (включая предварительный просмотр) или диски и папки. В отличие от диалогов HyperTalk, диалоги SuperTalk отвечают и спрашивают не все изменяют размер динамически, чтобы содержать больше текста. Однако, поскольку SuperCard позволяет иметь карты (т.е. "страницы") в окнах произвольных типов, можно легко создать свой собственный диалог, который достаточно велик. SuperTalk также имеет команду оповещения, которая отображает стандартные окна и листы оповещения системы, включая стандартные иконки системы. Для повышения читабельности в сложных условных условиях доступна команда переключения, а также могут быть записаны различные типы носителей (например, захват экрана карты, звук и фильмы QuickTime). Существует также команда клонирования, которая эквивалентна копированию и вставке, но оставляет вкладку без изменений, команда перечисления, которая создает глобальные переменные с последовательными целыми значениями, и недавно была добавлена знакомая команда MetaCard для итерации через списки. SuperCard также предлагает обработку исключений с использованием инструкции try с соответствующей командой throw.

Различия и несовместимости

SuperTalk был поставлен с дебгугером на уровне исходного кода намного раньше, чем HyperCard, но дебгугер SuperTalk является модальным окном и не позволяет устанавливать точки прерывания, просто нажимая рядом с строкой. Для входа в отладчик используется специальная команда trace, где можно просмотреть текущую строку кода, выполнить команды, оценить выражения и т. д. Из-за этого, дебгугер SuperTalk должен быть включен, вместо того, чтобы быть доступным сразу же, когда происходит ошибка скрипта. Команда визуальных эффектов немного строже в своем синтаксисе, но в обмен поддерживает многочисленные дополнительные эффекты перехода, включая переходы QuickTime и специальные модули вставки (сохраняемые в ресурсах форка данных типа TRAN). Добавлен специальный вид внешней команды, которая не разгружается и может владеть окном. Его тип - XRTN. Он заметно отличается от протокола XCMD, а также не использует протокол xWindoid, позже введенный для добавления окон в HyperTalk. SuperTalk также использует команду запуска для запуска внешних приложений, отличную от команды open HyperTalk, которую SuperTalk использует для открытия своих различных окон (HyperTalk отклонился здесь, используя ).

Более богатая модель объекта

Конечно, SuperTalk также раскрывает расширенную объектную модель SuperCard, позволяя создавать слайдеры, скроллеры, индикаторы прогресса и другие шкалы, скриптовая краска и рисование графики, а также собственные списочные ящики и первоклассные объекты меню. Также доступны несколько окон с несколькими стилями (модальная панель, немодальная, прокрутка, изменяемый размер, плавающие палитры), а фокус и область активации могут быть изменены под полным контролем скрипта.

Отклонения

Некоторые части SuperCard отклоняются от английского аналога HyperTalk. Это включает в себя команду "Alert", которая пыталась слишком сильно подражать немного неуклюжему синтаксису команды "Reply". Кроме того, похоже, что с течением времени ряд XCMD просто были встроены в движок как встроенные команды, сохраняя не очень запоминающийся синтаксис вызова обработчика. Самый очевидный пример - функция фильма, где фильмы "невидимо прикреплены" к окну, вместо того, чтобы быть реализованными в качестве реальных элементов управления, таких как слайдеры или другие элементы. Существуют также некоторые свойства, которые контролируют поведение общего приложения, которые являются один к одному переводом базовых системных API, например, для использования "менеджера внешнего вида" (двигателя тематики в Mac OS 9).