Использование far.Text для рисования на просмотрщике/редакторе

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
User avatar
Grom PE
Posts: 28
Joined: Sun 21 Jun, 2015 14:24
Has thanked: 5 times

Использование far.Text для рисования на просмотрщике/редакторе

Post by Grom PE » Thu 19 Oct, 2017 15:21

Не нашёл ни одного примера на Lua с использованием far.Text() со значимыми параметрами, то есть для рисования чего-либо на экране консоли.

Пробую:

far.Text(1,1,0x0F,"test")

Ничего не происходит. В документации тоже негусто.
Потом обнаружил, что в панелях этот код действует, а где хотелось бы, и где пытался всё это время, в редакторе — нет.

В редакторе и просмотрщике действует какая-то дополнительная буферизация или же far.Text() там поломан?

User avatar
zg
zero-gravity
Posts: 5426
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 59 times
Contact:

Использование far.Text для рисования на просмотрщике/редакторе

Post by zg » Thu 19 Oct, 2017 15:30

редактор и просмотрщик перерисовываются сразу после выполнения макроса.
вот так можно увидеть, что работает:

Code: Select all

Macro
  area:"Common"
  key:"CtrlShiftQ"
  action:->
    far.Text(1,1,0x0F,"test")
    far.Text()
    mf.waitkey()

User avatar
Grom PE
Posts: 28
Joined: Sun 21 Jun, 2015 14:24
Has thanked: 5 times

Использование far.Text для рисования на просмотрщике/редакторе

Post by Grom PE » Thu 19 Oct, 2017 15:43

Про вызов far.Text() дважды я бы не догадался! А как тогда рисовать на редакторе, сохраняя интерактивный ввод?

User avatar
zg
zero-gravity
Posts: 5426
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 59 times
Contact:

Использование far.Text для рисования на просмотрщике/редакторе

Post by zg » Thu 19 Oct, 2017 16:08

Grom PE wrote:
Thu 19 Oct, 2017 15:43
А как тогда рисовать на редакторе, сохраняя интерактивный ввод?
без подробностей сложно что-то сказать.

User avatar
Grom PE
Posts: 28
Joined: Sun 21 Jun, 2015 14:24
Has thanked: 5 times

Использование far.Text для рисования на просмотрщике/редакторе

Post by Grom PE » Thu 19 Oct, 2017 16:26

Например, хотелось бы рисовать в EditorEvent после события EE_REDRAW.

Мой скрипт изменяет режим ввода в редакторе, типа плагина Draw Lines, и пока он активен, нужно об этом где-то показывать. Можно использовать editor.SetTitle(), но хотелось бы не терять имя текущего файла из видимости.

User avatar
John Doe
Бюрократ
Posts: 11711
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 24 times
Been thanked: 123 times

Использование far.Text для рисования на просмотрщике/редакторе

Post by John Doe » Thu 19 Oct, 2017 18:08

Grom PE wrote:
Thu 19 Oct, 2017 16:26
хотелось бы не терять имя текущего файла из видимости.
Можно не терять, выводите и его.

User avatar
Grom PE
Posts: 28
Joined: Sun 21 Jun, 2015 14:24
Has thanked: 5 times

Использование far.Text для рисования на просмотрщике/редакторе

Post by Grom PE » Thu 19 Oct, 2017 18:14

John Doe wrote:
Thu 19 Oct, 2017 18:08
Можно не терять, выводите и его.
Тем не менее, это всё обходные пути. Совсем мало места останется, а если ещё какую-то информацию выводить? Лучше найти общее решение.

User avatar
John Doe
Бюрократ
Posts: 11711
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 24 times
Been thanked: 123 times

Использование far.Text для рисования на просмотрщике/редакторе

Post by John Doe » Thu 19 Oct, 2017 18:17

Например?

User avatar
Grom PE
Posts: 28
Joined: Sun 21 Jun, 2015 14:24
Has thanked: 5 times

Использование far.Text для рисования на просмотрщике/редакторе

Post by Grom PE » Thu 19 Oct, 2017 18:43

При ширине экрана в 90 строк и добавлении "[Punched tape input]" в title уже не остаётся места для файла: "C:\...Punched tape input]". Так что этот метод — на крайний случай.

User avatar
zg
zero-gravity
Posts: 5426
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 59 times
Contact:

Использование far.Text для рисования на просмотрщике/редакторе

Post by zg » Thu 19 Oct, 2017 18:58

выведите диалог, всё что ненужно в DN_INPUT транслируйте в editor.ProcessInput.

User avatar
John Doe
Бюрократ
Posts: 11711
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 24 times
Been thanked: 123 times

Использование far.Text для рисования на просмотрщике/редакторе

Post by John Doe » Thu 19 Oct, 2017 19:18

Grom PE wrote:
Thu 19 Oct, 2017 18:43
"[Punched tape input]"
Что ж вы так, экономнее надо)

Но мой вопрос был о другом: что собственно вы предлагаете, в качестве общего решения

User avatar
Grom PE
Posts: 28
Joined: Sun 21 Jun, 2015 14:24
Has thanked: 5 times

Использование far.Text для рисования на просмотрщике/редакторе

Post by Grom PE » Thu 19 Oct, 2017 19:28

Я хотел выкрутиться вот так:



Но подозреваю, что это нечто ужасное, да и Far после такого издевательства при закрытии редактора завалился %)
John Doe wrote:
Thu 19 Oct, 2017 19:18
что собственно вы предлагаете, в качестве общего решения
Собственно, рисовать поверх редактора, в чём и тема.
zg wrote:
Thu 19 Oct, 2017 18:58
выведите диалог, всё что ненужно в DN_INPUT транслируйте в editor.ProcessInput.
Спасибо, попробую.

User avatar
John Doe
Бюрократ
Posts: 11711
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 24 times
Been thanked: 123 times

Использование far.Text для рисования на просмотрщике/редакторе

Post by John Doe » Thu 19 Oct, 2017 19:36

Grom PE wrote:
Thu 19 Oct, 2017 19:28
Я хотел выкрутиться вот так:
"Выкрутиться" и "общее решение" это разные вещи.
Grom PE wrote:
Thu 19 Oct, 2017 19:28
Но подозреваю, что это нечто ужасное
Не то что бы.
С виду работает

User avatar
zg
zero-gravity
Posts: 5426
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 59 times
Contact:

Использование far.Text для рисования на просмотрщике/редакторе

Post by zg » Thu 19 Oct, 2017 19:38

Grom PE wrote:
Thu 19 Oct, 2017 19:28
Я хотел выкрутиться вот так
у меня работает, возможно у вас фар старый, как раз недавно far.Timer(1,…) исправляли.

User avatar
John Doe
Бюрократ
Posts: 11711
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 24 times
Been thanked: 123 times

Использование far.Text для рисования на просмотрщике/редакторе

Post by John Doe » Thu 19 Oct, 2017 19:50

Единственная проблема: redraw вызывается и при неактивном редакоре, когда на экране меню (особенно если курсор перемещать)
Не знаю даже зачем так.

User avatar
zg
zero-gravity
Posts: 5426
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 59 times
Contact:

Использование far.Text для рисования на просмотрщике/редакторе

Post by zg » Thu 19 Oct, 2017 19:57

а вдруг что-то в редакторе поменялось?

Post Reply

Return to “Нужна помощь”