Функция для работы с битовыми флагами в Qlua(Lua)

Автор записи: Дмитрий (Admin)
1 звезда2 звезды3 звезды4 звезды5 звезд (Голосов 6, среднее: 4,33 из 5)
Загрузка...

Qlua-основы

Сейчас в QLua появилась встроенная функция bit.test, которая решает ту же задачу, т.е. смысла в использовании функции CheckBit больше нет !


true - флаг установлен
false - флаг не установлен

-- Функция проверяет установлен бит, или нет (возвращает true, или false)
CheckBit = function(flags, _bit)
   -- Проверяет, что переданные аргументы являются числами
   if type(flags) ~= "number" then error("Ошибка!!! Checkbit: 1-й аргумент не число!") end
   if type(_bit) ~= "number" then error("Ошибка!!! Checkbit: 2-й аргумент не число!") end
 
   if _bit == 0 then _bit = 0x1
   elseif _bit == 1 then _bit = 0x2
   elseif _bit == 2 then _bit = 0x4
   elseif _bit == 3 then _bit  = 0x8
   elseif _bit == 4 then _bit = 0x10
   elseif _bit == 5 then _bit = 0x20
   elseif _bit == 6 then _bit = 0x40
   elseif _bit == 7 then _bit  = 0x80
   elseif _bit == 8 then _bit = 0x100
   elseif _bit == 9 then _bit = 0x200
   elseif _bit == 10 then _bit = 0x400
   elseif _bit == 11 then _bit = 0x800
   elseif _bit == 12 then _bit  = 0x1000
   elseif _bit == 13 then _bit = 0x2000
   elseif _bit == 14 then _bit  = 0x4000
   elseif _bit == 15 then _bit  = 0x8000
   elseif _bit == 16 then _bit = 0x10000
   elseif _bit == 17 then _bit = 0x20000
   elseif _bit == 18 then _bit = 0x40000
   elseif _bit == 19 then _bit = 0x80000
   elseif _bit == 20 then _bit = 0x100000
   end
 
   if bit.band(flags,_bit ) == _bit then return true
   else return false end
end
Пример использования

Если у Вас появились какие-то вопросы, задайте их в комментариях под статьей !!!

Отправка данных из Текущей таблицы параметров в C# посредством DLL

Автор записи: Дмитрий (Admin)
1 звезда2 звезды3 звезды4 звезды5 звезд (Голосов 9, среднее: 4,89 из 5)
Загрузка...

СнимокСкрипт в начале, при запуске, отправляет в C# посредством библиотеки функций (DLL) всю информацию из Текущей таблицы параметров по всем бумагам из классов: TQBR (акции), SPBFUT (фьючерсы), SPBOPT (опционы), данный фильтр расположен в функции SendAllParamStrings(). Так же, в начале каждой строки параметров передается текущее время ОС в миллисекундах, благодаря чему, на стороне C# вычисляется время задержки передачи данных. После отправки бумаг этих классов, скрипт отправляет новые данные по мере их поступления, используя функцию обратного вызова OnParam().Смотреть полностью...