Контроль версии терминала
Поскольку QLua (сейчас) активно развивается, новые возможности могут оказаться недоступными в старых версиях терминала. Поэтому во избежание неприятных моментов необходимо контролировать версию терминала из скрипта.
-- Проверка допустимости версии терминала -- Параметр - минимальная допустимая версия
-- строка вида "6.6.0.118" или таблица { 6, 6, 0, 118 }
-- Если не получилось узнать версию (очень старый терминал), возвращает nil
-- иначе возвращает 2 значения
-- Boolean - версия терминала выше или равна требуемой
-- String - версия терминала function quik.version(minimal_version)
-- Получаем таблицу с версией терминала, в котором запущен скрипт local quik_version_str = getInfoParam("VERSION")
if quik_version_str == "" then
return
end
local quik_version = string.split(quik_version_str,".")
minimal_version = minimal_version or m4_quik_minimal_version if type(minimal_version) == "string" then
minimal_version = string.split(minimal_version,".")
end return tonumber(table.format(minimal_version,"%03s")) <= tonumber(table.format(quik_version,"%03s")),quik_version_str
end
m4_quik_minimal_version - это минимальная версия терминала по умолчанию
function versionLess(ver1,ver2)
local begin,ver_1=0
for ver_2 in string_gmatch(v er2,'%d+') do
_,begin,ver_1=string_find(ver1,'(%d+)',begin+1)
if ver_1~=ver_2 then return not ver_1 or ver_1+0
функция есть в библиотеке
sourceforge.net/projects/qllib
RSS лента комментариев этой записи