вот наваял либу для получения данных из таблиц multilist. проверено, работает с квиком 7.20 и 8.1. пользуйтесь.
вот ссылка: [url]https://www.dropbox.com/s/7efuodbysetlxu8/lua_multilist.zip?dl=0[/url]
пример скрипта:
package.cpath = getScriptPath() .. "\\lua_multilist.dll"
require "multilist"
function main()
htable = multilist_find_table("Текущая таблица параметров")
message("rowcount: " .. tostring(multilist_get_rowcount(htable)), 1)
message("colcount: " .. tostring(multilist_get_colcount(htable)), 1)
tmp = ""
tbl = multilist_get_row(htable, 1)
for k, v in pairs(tbl) do
tmp = tmp .. k .. "=" .. v .. "; "
end
message(tmp, 1)
message("CELL[1,1] = " .. multilist_get_cell(htable, 1, 1))
htable = multilist_find_table("Системные сообщения")
message("hTable = " .. tostring(htable) .. " CELL[4,3] = " .. tostring(multilist_get_cell(htable, 4, 3)))
end
ps: поставляется as is, использовать на свой страх и риск. теоретически, есть небольшая вероятность, что получение данных вклинится в запись данных в таблицу квиком, и тогда мы или можем получить не то значение, или квик запишет не в ту ячейку. но вероятность этого крайне мала. мое дело - предупредить. не знаю пока, можно ли с этим как-то бороться, и вообще, случается ли такое, это чисто теоретическое заключение.