Latest post of the previous page:
Ни за что не подумал бы, sqliteDB ерунду показываетShmuel wrote:данные там не в "родных Lua форматах", а в текстовом (UTF-8)
Latest post of the previous page:
Ни за что не подумал бы, sqliteDB ерунду показываетShmuel wrote:данные там не в "родных Lua форматах", а в текстовом (UTF-8)
Разве это не BLOB? SQLiteDB его воде в соответствии с типом показываетJohn Doe wrote:Ни за что не подумал бы, sqliteDB ерунду показываетShmuel wrote:данные там не в "родных Lua форматах", а в текстовом (UTF-8)
Code: Select all
mf.msave("keyA","param","value")
mf.msave("keyB","param",{value=1})
local obj = far.CreateSettings()
require"lua_explorer"(obj:Enum())
В базу будет записано:John Doe wrote:Code: Select all
mf.msave("keyA","param","value") mf.msave("keyB","param",{value=1})
Shmuel wrote:Заметил дефект в Lua Explorer:Это при просмотре базы плагина EdtFind.Code: Select all
"FindColor" │number │0x0000000f (8589934607) "MatchColor" │number │0x00000000 (64424509440)
Ребят, у меня сейчас довольно трудновато со временем, не все сразу, по мере возможности.John Doe wrote:[. . .]
EGez
Просьба обратить отдельное внимание на использование вашего скрипта для просмотра произвольных таблиц.
В частности, чтобы не ползли столбцы стоит обрезать длинные строки.
Также найден дефект: http://forum.farmanager.com/viewtopic.p ... 83#p108683
Code: Select all
macro:post printf("0x%x", 8589934607) -> 0xf
macro:post printf("0x%x", 64424509440) -> 0x0
Code: Select all
macro:post printf("0x%x", -1) -> 0xffffffff
macro:post printf("0x%x", 2^32 - 1) -> 0xffffffff
macro:post printf("0x%x", 2^32) -> 0x0
macro:post printf("0x%x", 2^32 + 1) -> 0x1
Разбейте число на две 32-битных части и примените к ним следующий формат:EGez wrote:Что касается дефекта, похоже на то, что функция format не умеет с такими числами работать:Code: Select all
macro:post printf("0x%x", 8589934607) -> 0xf macro:post printf("0x%x", 64424509440) -> 0x0
Code: Select all
"0x%x%08x"
Разумеется )EGez wrote:Ребят, у меня сейчас довольно трудновато со временем, не все сразу, по мере возможности.
Code: Select all
macro:post print(2^64 - 1) -> 1.844674407371e+019
macro:post print(2^64) -> 1.844674407371e+019
macro:post print(2^64 + 1) -> 1.844674407371e+019
macro:post print(2^64 + 2) -> 1.844674407371e+019
Именно для наглядности, таблицы как подменю.EGez wrote:Пометки таблиц? Ну, есть же колонка type, хотя, если только для наглядности - можно сделать,
Смысл не в том, чтобы защититься от изменений, а о том, чтобы не смущать пользователя видимостью функциональности, которая не сработает.EGez wrote:а вот в отключении "средств редактирования" я смысла вообще не вижу.
1. Возможны, конечно. Приблизительный диапазон от -10^308 до +10^308.EGez wrote:К дефекту еще раз, по поводу форматирования "0x%x%x", а если в таблицах еще большие числа будут? Кстати, возможны ли они, чисто технически?
Т.е. если tostring() не может иначе изображать 64-битное число, то мне самому этим заниматься? Может не стоит?Shmuel wrote:[. . .]
2. Числа, для которых bit64.type() возвращает не nil, желательно показывать со всеми значащими цифрами, а не как floating point.
Code: Select all
LuaJIT/Win7(32)
macro:post print(2^46) -> 70368744177664
macro:post print(2^47) -> 1.4073748835533e+014
Стоит или не стоит - только вам решать, как автору.EGez wrote:Т.е. если tostring() не может иначе изображать 64-битное число, то мне самому этим заниматься? Может не стоит?