Когда i2 равно 0, восстанавливается предыдущий графический режим и экран очищается.
Когда i2 равно 1, подаётся звуковой сигнал, программа ждёт нажатия на клавишу перед восстановлением предыдущего графического режима.
Когда i2 равно 2, графический режим не восстанавливается и экран не очищается.
Комментарии:
Под DOS32 или WIN32 system_exec() запускает только .exeи .comпрограммы. Для запуска пакетных файлов .batили встроенных команд DOS следует пользоваться system() - некоторые команды DOS, такие как DEL и т.п., не являются отдельными программами, фактически они встроены в командный интерпретатор операционной системы.
Под DOS32 и WIN32 system_exec() не позволяет осуществлять перенаправление стандартных входа и выхода в командной строке st. Не разрешается также забирать в кавычки строки, которые содержат пробелы в именах каталогов и файлов.
Коды возврата из программ DOS или Windows обычно находятся в пределах от 0 до 255, 0 соответствует "нормальному завершению".
Вы можете запускать и дочерние программы Euphoria с использованием функции system_exec(). Программы Euphoria могут выдавать код возврата по команде abort().
system_exec() не запускает новую копию командного интерпретатора DOS.
Пример 1:
integer exit_code
exit_code = system_exec("xcopy temp1.dat temp2.dat", 2)
if exit_code = -1 then
puts(2, "\n не могу запустить xcopy.exe\n")
elsif exit_code = 0 then
puts(2, "\n успешное выполнение xcopy\n")
else
printf(2, "\n отказ xcopy с кодом ошибки %d\n", exit_code)
end if
Пример 2:
-- исполняет myprog с двумя именами файлов в качестве аргументов
if system_exec("ex \\test\\myprog.ex indata outdata", 2) then
puts(2, "отказ!\n")
end if
См. также:
system, abort
tan
Синтаксис:
x2 = tan(x1)
Описание:
Выдаёт тангенс x1, когда x1 выражен в радианах.
Комментарии:
Данная функция может быть применена к атому или ко всем элементам ряда.
Пример:
t = tan(1.0)
-- t равно 1.55741
См. также:
sin, cos, arctan
task_clock_start
Синтаксис:
task_clock_start()
Описание:
Перезапускает часы, используемые диспетчером для управления задачами реального времени. Эту подпрограмму необходимо вызвать, когда вы хотите возобновить выполнение задач реального времени, приостановленных командой task_clock_stop().
Комментарии:
Команды task_clock_stop() и task_clock_start() предназначены для приостановки и возобновления выполнения задач реального времени.
Вызов task_clock_start() корректирует плановое время всех задач реального времени на тот промежуток времени, который прошёл с момента вызова task_clock_stop(). Это позволяет игре, модели или другой программе продолжаться плавно за счёт того, что часы диспетчера задач оказываются развязанными от общесистемных часов.
Задачи общего времени при этом не затрагиваются.
Пример:
-- приостановить игру, пока игрок отвечает на телефонный звонок
task_clock_stop()
while get_key() = -1 do
end while
task_clock_start()
См. также:
task_clock_stop, task_schedule, task_yield, task_suspend
task_clock_stop
Синтаксис:
task_clock_stop()
Описание:
Останавливает часы диспетчера, ответственные за выполнение плана задач реального времени. Выполнение плана возобновится по команде task_clock_start(). Задачи общего времени могут продолжать выполняться. Текущая задача также может продолжать выполняться, но если это задача реального времени, управление от неё будет передано диспетчеру.
Комментарии:
Вызывайте task_clock_stop(), когда вам необходимо, чтобы диспетчер задач приостановил выполнение задач реального времени. Например, когда вы хотите временно остановить игру или программную модель, чтобы затем, после некоторого перерыва, продолжить её исполнение из точки остановки.
Функция time() этой командой не затрагивается, команда действует только в отношении часов диспетчера многозадачности Euphoria.
См. также:
task_clock_start, task_schedule, task_yield, task_suspend
task_create
Синтаксис:
a2 = task_create(i1, s)
Описание:
Оформляет заданную процедуру как новую задачу для передачи её диспетчеру многозадачности. Аргумент i1 представляет собой номер процедуры Euphoria, составляющей новую задачу. Ряд s - это список аргументов, которые будут поданы в процедуру-задачу, когда начнётся её исполнение. Выдаваемый результат, a2, является номером задачи, под которым она будет фигурировать в системе многозадачности Euphoria.
Комментарии:
Функция task_create() позволяет оформить новую задачу, но не запускает её на исполнение.
Каждая из задач имеет свой набор частных переменных и свой собственный стек вызова. Глобальные и местные переменные действуют для всех задач.
Читать дальше