finsight / QUIKSharp

QUIK# (QUIK Sharp) is the QUIK Lua interface ported to .NET.
Other
230 stars 134 forks source link

lua getClientCodes #317

Open IFetisov opened 2 years ago

IFetisov commented 2 years ago

Кто-нибудь пользуется этой функцией. У меня локально такая версия. --- Функция возвращает все коды клиента

function qsfunctions.getClientCodes(msg)
local ListCodes={}
for i=0,getNumberOf("money_limits")-1 do
    local clientcodes = getItem("money_limits",i)
    table.insert(ListCodes,clientcodes)
end
msg.data=ListCodes
return msg
end

Здесь лежит такая (При запуске она у меня куда то в бесконечный цикл уходит) --- Функция возвращает все коды клиента

function qsfunctions.getClientCodes(msg)
local client_codes = {}
for i=0,getNumberOf("MONEY_LIMITS")-1 do
    local clientcode = getItem("MONEY_LIMITS",i).client_code
    if clientcode ~= nil then
        fnd = false
        for index, value in ipairs(client_codes) do
            if value == clientcode then
                fnd = true
            end
        end
        if fnd == false then
            table.insert(client_codes, clientcode)
        end
    end
end
msg.data = client_codes
return msg
end
Pr0phet1c commented 2 years ago

Странно. Эта функция встроена в демо-приложение, и вроде никто больше не жаловался на его зависание. Сам только что проверил - у меня все работает. Правда, у меня только один код клиента, но это не должно оказывать существенного влияния на работоспособность функции.