Контроль версии терминала

Опубликовано в QLua

Поскольку 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 - это минимальная версия терминала по умолчанию

Комментарии   

# PASHAsoft 01.11.2013 17:16
Аналогичная функция из QL

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
# PASHAsoft 01.11.2013 17:19
почему-то не запостилось целиком
функция есть в библиотеке
sourceforge.net/projects/qllib

Недостаточно прав для комментирования

Архив QLua