Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #87, МАРТ 2006 г.

Язык протектора

GPcH (www.dotfix.net)

Хакер, номер #087, стр. 087-142-2


Логично предположить, что value 1 и value 2 представляют собой первое и второе число, а accumulator - переменную для сохранения результата. Разумный вопрос: а как использовать переменные в value 1 и 2? Легко! Переменную указываем в макросовом виде. Пример: имеем переменную "a", в которой хранится число 10, и переменную "b", в которой хранится число 20, тогда конструкция:

add @a@@b@,150,c

Выполнится так: "а" приложится к "b" и составит 1020, а к этому числу нужно прибавить 150. В результате в переменной "c" будет 1020+150, то есть 1170. Думаю, методика понятна.

Ниже представлю некоторые другие команды для работы со строками, прототипы которых описаны в справке к программе: concat, chrtohex, hextochr, substr, length, createstring, rndbyte, settoclipboard. Имена команд интуитивно понятны и легко запоминаются, поэтому проблемы не должны возникнуть. Если и возникнут - далее язык будет рассмотрен на примерах.

Со строками закончили, пора перейти к командам ввода/вывода, предназначенных для общения разрабатываемого нами суперскрипта с пользователем. Весь ввод и вывод производится либо через формы запроса, либо через консоль. Вот основные команды:

messagebox <contents>, <message code>, <title>, <accumulator>

Аналог одноименной API, только последний параметр – результат, возвращаемый функцией и описывающий, что за кнопку нажал юзер для контроля результата.

inputbox <question>, <accumulator>

Форма запроса данных от пользователя. question - текст вопроса, accumulator - имя переменной, в которую будут занесены введенные пользователем данные.

- console.load <text> - грузит консоль с заголовком text.

- console.unload - выгружает консоль.

- console.print <text> - выводит text на консоль.

- console.get <accumulator> - запросит строку у юзера. Как только он ее введет, скрипт продолжит выполнение команд. Accumulator-переменная будет содержать введенные данные.

- console.color <forecolor>, <backcolor> - изменяет палитру, с которой будет выведена строка, командой console.print. Исключительно для украшения интерфейса.

- console.attributes <atributes> - меняет атрибуты консоли (сделано лишь для полной реализации консольных команд).

Для работы с реестром используются команды:

registry.set <key>, <path>, <parameter>, <value>

registry.get <key>, <path>, <parameter>, <accumulator>

Пригодятся, если скрипт имеет настройки, которые нужно один раз установить и больше не вводить.

Если же ini-файл ближе, то можно использовать:

ini.set <key>, <subkey>, <value>

ini.get <key>, <subkey>, <accumulator>

Если нужно приостановить выполнение команд на несколько секунд, то можно использовать команду pause <milliseconds> для воспроизведения музыки (чует мое сердце, что скоро GpCH начнет рассказывать, как же все это использовать для защиты программ): play <wav file>, хоть не xm, но все же сгодится. Для выхода из программы следует использовать команду exit. Если же ты спецкодер, то ты будешь счастлив, узнав что в скрипте есть возможность использовать API функции:

Назад на стр. 087-142-1  Содержание  Вперед на стр. 087-142-3