возможность из Lua писать в консольный буфер FARа
возможность из Lua писать в консольный буфер FARа
есть ли возможность из Lua писать в консольный буфер FARа без его затирания при восстановлении панелей/экрана, как это делают штатно запускаемые фаром консольные приложения (аналог вызова echo в командном интерпретаторе)?
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: LuaMacro — Lua как язык макросов
Похоже, что такой возможности нет (и не только из Lua, а вообще из плагинов), если не считать макросы типа
Буду рад ошибиться.
Code: Select all
lm:post print("dir /w") Keys("Enter")
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Re: LuaMacro — Lua как язык макросов
Code: Select all
PanelControl(FCTL_GETUSERSCREEN);
print("hello, world");
PanelControl(FCTL_SETUSERSCREEN);
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: LuaMacro — Lua как язык макросов
hScr не играет роли здесь, он игнорируется LuaFAR'ом.
И вылезла попутно одна проблема: io.write не выводит правильно в консоль текст в UTF-8.
Не могу найти определение функции error из checkarg
Почитавши форум накатал две функции
для вывода на экран. Я, конечно слепой, но не смог найти определение функции error даже контекстным поиском по всем исходникам luamacro. Помогите найти!
- John Doe
- Бюрократ
- Posts: 13862
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Re: Не могу найти определение функции error из checkarg
http://www.lua.org/manual/5.1/manual.html#pdf-error
P.S.
Учитывайте также что основой LuaMacro является библиотека LuaFAR
P.S.
Учитывайте также что основой LuaMacro является библиотека LuaFAR
Re: Не могу найти определение функции error из checkarg
немного оффтоп, но касательно функции printToFARConsole:
создавал внешний процесс, получал от него консольный вывод, отправлял в юзерскрин этот вывод. при убиении процесса получал ошибку lua (аля должен быть параметр для io.write а получен nil), обошел введением дополнительной проверки как-то так:
создавал внешний процесс, получал от него консольный вывод, отправлял в юзерскрин этот вывод. при убиении процесса получал ошибку lua (аля должен быть параметр для io.write а получен nil), обошел введением дополнительной проверки как-то так:
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: Не могу найти определение функции error из checkarg
Раз пошла такая пьянка, вот модификация, которая позволяет (у меня по крайней мере) выводить и русский текст, если на входе UTF-8. "Чисто юникодные" символы, естественно, таким путём не выведешь.
print должен выводить в Console, а не в буфер клавиатуры Far
Многие ли пользуются функцией
print
? Предлагаю сделать поведение функции print более похожим на print в обычном lua, т.е. print мог бы выводить информацию на Descktop (ConsoleOutput), а не повторять функциональность Keys
. Такое поведение ломает совместимость, однако я не думаю что кто-то в макросах использовал текущую версию print
.- John Doe
- Бюрократ
- Posts: 13862
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Re: print должен выводить в Console, а не в буфер клавиатуры
print не повторяет функциональность Keys
Re: print должен выводить в Console, а не в буфер клавиатуры
Как раз очень много в макросах принта. Одно дело написать print("some command") и другое Keys("s o m e space c o m m a n d")
А уж в случае с макросами аналогами truetemplate…
А уж в случае с макросами аналогами truetemplate…
Пользуюсь ФАРом больше 20 лет © собирательный.
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: userscreen под панелями — отдельное окно ("Desktop")
Смотрите мануал LuaFAR, panel.GetUserScreen, panel.SetUserScreen. Там и пример имеется.gotar wrote:А как выводить информациию на этот desktop из Lua макросов? Может быть у кого нибудь уже есть готовый код.
возможность из Lua писать в консольный буфер FARа
Как что то записать на экран Desktopa?
Мой план:
1. Сохранить номер текущего окна
2. Переключиться в нулевое окно
3. Записать информацию на стандартный вывод
4. Ввостановить текущее окно
полностью провалился
На всякий случай привожу текст скрипта COMMIT по всей видимости не нужен. Я его сделал с горя.
Мой план:
1. Сохранить номер текущего окна
2. Переключиться в нулевое окно
3. Записать информацию на стандартный вывод
4. Ввостановить текущее окно
полностью провалился
На всякий случай привожу текст скрипта COMMIT по всей видимости не нужен. Я его сделал с горя.
luaprint
- стандартный print
до его переопределения в LuaMacro.