Как очистить данные в setCell, Как очистить данные в setCell по условию и как правильно прочитать данные из getClassSecurities("SPBFUT"),используя getParamEx.На ум приходить только {"RIM0","SiM0"}
Вопрос больше пока по первой части..Я создаю таблицу,получаю данные с помощью getParamEx.Пытаюсь сделать условие,что если условие верно,то в таблице отображается инструмент,если нет,то заполнить поля nil.Но когда условие срабатывает я не получаю пустую таблицу..А таблица просто замораживается,пока вновь условие не станет верным.Не знаю как правильно удалить инструмент и очистить таблицу.
local rows, columns = GetTableSize (t_id) InsertRow(t_id, rows) -- добавить новую строку вниз таблицы для "Итого"
SetWindowCaption(t_id, "Опционы")
-- исполнять цикл, пока пользователь не остановит скрипт или не закроет окно таблицы while IsRun do if IsWindowClosed(t_id)==true then IsRun=false end
local currentPrice=0 local lastPrice=0 local bid = 0 local ask = 0 local profitPerc = 0 local currentSecCode= "" local fullNameOfInstrument = "" local rowInPortfolioTable = {} -- строка из таблицы "Лимиты по бумагам" local tableInstrument = {} -- данные "Таблицы текущих торгов" local iRowInOutTable = 1 local razn = 0 local raznPercent = 0
if raznPercent > 5 then -- окрашиваем ColourRowInGreen(iRowInOutTable)
elseif raznPercent<-5 then ColourRowInRed(iRowInOutTable)
else ColourRowInYellow(iRowInOutTable) end iRowInOutTable = iRowInOutTable+1
sleep(500) -- пауза сек. end --end --message("script table portfolio finished") end
function ColourRowInRed(num_row) SetColor(t_id, num_row, QTABLE_NO_INDEX, RGB(255,150,150), RGB(0,0,0), RGB(255,150,150), RGB(0,0,0)) end function ColourRowInYellow(num_row) SetColor(t_id, num_row, QTABLE_NO_INDEX, RGB(255,255,200), RGB(0,0,0), RGB(255,255,200), RGB(0,0,0)) end function ColourRowInGreen(num_row) SetColor(t_id, num_row, QTABLE_NO_INDEX, RGB(150,255,150), RGB(0,0,0), RGB(150,255,150), RGB(0,0,0)) end
-- Округляет число до указанной точности function math_round (num, idp) local mult = 10^(idp or 0) return math.floor(num * mult + 0.5) / mult end -- удаление точки и нулей после нее function RemoveZero(str) while (string.sub(str,-1) == "0" and str ~= "0") do str = string.sub(str,1,-2) end if (string.sub(str,-1) == ".") then str = string.sub(str,1,-2) end return str end function OnStop() DestroyTable(t_id) IsRun = false end
Здравствуйте, Для очистки значения в ячейке, нужно передать ему пустое значение соответствующее типу данных. Для строковых типов, пустым является "", для числовых 0. Пример: SetCell(t_id, row, 1, "") SetCell(t_id, row, 2, tostring(""),0)
Здравствуйте..Спасибо..Я вроде пытался так сделать,но не получалось..А если я использую массив,могу я удалить,который не проходит по условию,чтобы значения очистились??Например я хочу использовать getClassSecurities,чтобы все инструменты класса проверялись по условию,и ненужные отбраковывались??Как такое можно сделать??И можно ли вообще??Совсем,не против,если посоветуете что почитать или ознакомиться по этой теме))
Вопрос не понятен. Вы хотите удалить строку в GUI таблице? (тут речь про таблицу которую Вы видите глазами в терминале) Или удалить значение из массива? (тут речь НЕ про визуальную таблицу, а про Lua таблицы table) Или удалить значение из середины строки? (getClassSecurities ведь возвращает строку)
В идеале,я хочу чтобы полученная строка getClassSecurities подставяла значения класса в таблицу setCell,а которые не проходят по условию,в неё не попадают.Наверное нужно использовать for для этих целей,чтобы каждый инструмент перебирался..Сначала наверное нужно разделить строку getClassSecurities??.Не совсем глубоки познания в языке..
Здравствуйте!!А такой момент..После использования данного цикла перебора строки,у меня в созданной таблице так и остаётся одна строка,просто инструменты в ней перебираются..А как добавить всю строку с инструментами в таблицу??Чтобы созданная таблица расширялась вниз в зависимости от количества инструментов?
Так он добавляет новые столбцы в таблицу.А надо чтобы он перезаписывал данные.Чем можно воспользоваться??Например делаешь условие и таблица постоянно растёт.
psih, Вы ошибаетесь, функция НЕ добавляет новые столбцы. Она добавляет новые строки. Судя по Вашему изначальному вопросу ровно это Вам и надо, разве нет?
Sergey Gorokhov написал: psih, Вы ошибаетесь, функция НЕ добавляет новые столбцы. Она добавляет новые строки. Судя по Вашему изначальному вопросу ровно это Вам и надо, разве нет?
не совсем))У меня изначально была таблица,из которой я не мог убрать значения,очистить её..Но спасибо за помощь)