orekton
orekton личный блог
22 августа 2014, 15:20

Qlua для чайников. Часть 2

Продолжу публикацию уроков «Qlua для чайников». В первой части мы научились писать программу “Hello, World” и выставлять программно заявки. Сегодня пойдем дальше. Вы, наверное, обратили внимание, что все программы, которые мы написали на прошлом уроке, сразу же заканчивают работу, как только выполнили все запрограммированные функции? Возникает вопрос: как быть, если надо, чтобы программа работала постоянно, следила за рынком и совершала сделки? Очень просто. Надо сделать так, чтобы при запуске программа повторяла набор команд. Для этих целей в языке Qlua предусмотрены циклы.
С циклами мы уже столкнулись на прошлом уроке, когда писали групповой ввод заявок. Только в тот раз у нас цикл повторялся заданное количество раз. Но в языке есть и другие виды циклов. Например, цикл по условию. Этот цикл повторяется, пока выполняется определенное условие. Если это условие выполняется вечно – программа будет выполняться до тех пор, пока включен компьютер или пока вы ее принудительно не завершите.


Давайте рассмотрим пример.

is_run=true
count=1
function main()
      while is_run do
            sleep(2000)
            message(«Hello, World! №»..tostring(count),1)
            count=count+1
      end
end
function OnStop(stop_flag)
      is_run=false
end
Данная программа у нас будет каждые 2 секунды выдавать сообщение “Hello, World!”,  с номером, каждый раз большим на 1:
 Qlua для чайников. Часть 2
И это будет до тех пор, пока мы не остановим ее кнопочкой «Остановить»:
Qlua для чайников. Часть 2 
Теперь разберем программу.
Сначала у нас идет строка

is_run=true
Этой строкой мы присваиваем переменной is_run значение true (истина). Эта переменная у нас обозначает признак, запущена ли программа. Когда пользователь нажимает кнопочку «Остановить», происходит событие OnStop. Если у нас в программе есть функция с именем OnStop, то код внутри этой функции запуститься на выполнение. Функция обозначается словом function, после нее идет имя функции, которое обязательно должно начинаться с буквы, может содержать в себе латинские буквы и цифры, а так же знак _. Никакие другие символы (пробел, русские буквы, специальные знаки) в именах функций не допускаются. После имени функции идут скобки, а в них список аргументов функции. Потом идет программный код, относящийся к данной функции, который оканчивается словом end.
Функции могут быть двух видов – пользовательские и предопределенные.
Полная версия статьи на robostroy.ru
3 Комментария
  • AlexeyTikhonov
    22 августа 2014, 15:28
    А можно на QLUA написать следующее:
    чтобы в 23:50:00
    1. останавливался экспорт по DDE
    2. разрывалась связь
    3. Quik завершал работу
    ?
  • Advait
    22 августа 2014, 16:08
    Спасибо! Ждем продолжения.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн