Общение


Способы запуска программ


NQL не является универсальным языком программирования, на нем нельзя написать полноценную программу с графическим интерфейсом пользователя. Поэтому фрагменты NQL-кода часто должны выполняться в каком-то другом приложении. Поговорим о том, как выполняются NQL-программы, то есть, как вы используете готовые скрипты на SQL - как из OS, так и из других программ.

Выполнение всегда происходит по одному и тому же сценарию: ваша программа в текстовом виде находится в файле или в переменной в памяти. Дополнительно есть две области для входных и выходных данных и, возможно, еще несколько параметров. Иными словами, вы имеете текст программы и передаете его интерпретатору. Такой "полностью динамический" механизм позволяет не только загружать файлы во время выполнения, но и конструировать программы прямо во время выполнения - точно так же, как это делается с командами SQL. Обратная сторона, быстродействие, в сети вряд ли будет критическим местом - запросы к сети, как правило, будут раз в 100-1000 медленнее интерпретации.

Первый способ выполнения - в среде разработки IDE. Фактически вы можете выполнять программу в трех режимах: выделенном (не рекомендую - подвешивает систему), фоновом и отладочном. В последнем случае код выполняется по одной строке, и вы по ходу дела имеете доступ к переменным, стеку данных и прочим подробностям рантайма. Как вариант - с помощью IDE создать файл бота с расширением .BOT. Это бинарная форма программы после синтаксического разбора, созданная для поставки ваших программ в "нечитабельном" виде.

Способ номер два - создать независимой приложение, выбрав в IDE Create EXE. Само приложение располагается на рабочем столе (несколько нетипичное поведение, обычно на стол выкладывается ярлык). У независимых модулей есть дополнительные возможности - выводить данные о текущем состоянии программы в специальных областях нотификации. При выполнении таких программ вы можете прикрепить к своей программе скин - bmp-образ, и таким образом сделать вашего бота ни на что не похожим.


Начало  Назад  Вперед