Поведение, когда нужно сделать выбор из нескольких макросов

Здесь обсуждается всё, что касается макросов.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by John Doe »

Latest post of the previous page:

Возвращаясь к прошлому обсуждению:
Shmuel wrote:
John Doe wrote:Зачем множить сущности?
Я вижу только усложнение.
Со стороны это может показаться так. Детально объяснять сейчас нет времени. Когда что-то живое появится, можно будет говорить конкретнее.
Живое появилось, и хотелось бы поговорить конкретнее.


Т.е. появилась новая сущность, да ещё и с собственным форматом.
1) Почему бы не продолжать хранить их как раньше и в прежнем формате?
2) Почему вообще понадобилось отдельная сущность?
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by NightRoman »

Наверное, потому что это дает больший контроль над тем, что определено файлом клавиатурного макроса. Если бы это был обычный макро-скрипт, то он мог бы все что угодно делать и кучу макросов определить или ни одного. А тут ожидается конкретно определение данных для одного единственного макроса. Мне такой подход понятен вроде.

Мне только интересно из любопытства - имена файлов клавиатурных макросов существенны?
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by Shmuel »

John Doe wrote:Зачем понадобилась новая отдельная сущность, да ещё и с собственным форматом?
Почему бы не продолжать хранить их как раньше и в прежнем формате?
Макросы, записываемые с клавиатуры, выделены в отдельную сущность, поскольку, в отличие от "стационарных" макросов, они:
1. Являются "read-write" (стационарные являются "read-only").
2. Являются средством временной автоматизации, то-есть покрывают какие-то сиюминутные нужды, после чего обычно удаляются. Их "сиюминутность" обуславливает их высокий приоритет. Если такой макрос оказался полезным в долговременном плане (что бывает редко), его следует сделать стационарным.

Что касается их формата, то это - детали реализации. На данный момент выбран самый простой из всех форматов. Вообще, пользователю не рекомендуется полагаться на детали содержимого папки internal. Нет гарантии неизменности форматов макросов, имён файлов и прочих деталей внутри этой папки.
NightRoman wrote:Мне только интересно из любопытства - имена файлов клавиатурных макросов существенны?
Да, они более чем существенны - при удалении или модификации этих макросов. Не исключено, что поля "area" и "key" будут вообще убраны из содержимого этих файлов, а останутся только в имени.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by John Doe »

1. Являются "read-write" (стационарные являются "read-only").
Правильно ли я понимаю, что основная причина выделения их в отдельную сущность состоит в том, что реализация "write" для стационарных проблематична?
Если такой макрос оказался полезным в долговременном плане (что бывает редко), его следует сделать стационарным.
Будь они в одном формате - это существенно упростило бы такой перенос.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by NightRoman »

Да, они более чем существенны - при удалении или модификации этих макросов. Не исключено, что поля "area" и "key" будут вообще убраны из содержимого этих файлов, а останутся только в имени.
Да, это я и имел в виду. Если инфа в имени файла, то внутри как-то некошерно повторять. (Но это так, типа дублирование *почти* всегда плохо).
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by Shmuel »

John Doe wrote:
1. Являются "read-write" (стационарные являются "read-only").
Правильно ли я понимаю, что основная причина выделения их в отдельную сущность состоит в том, что реализация "write" для стационарных проблематична?
Реализация "write" для стационарных просто не нужна. Открывается редактор, в нём эта функциональность уже имеется.
John Doe wrote:
Если такой макрос оказался полезным в долговременном плане (что бывает редко), его следует сделать стационарным.
Будь они в одном формате - это существенно упростило бы такой перенос.
Согласен, но поскольку данные макросы обычно короткие и простые, а необходимость в переносе возникает редко, то и проблемы как бы нет.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by John Doe »

Shmuel wrote:
John Doe wrote:
1. Являются "read-write" (стационарные являются "read-only").
Правильно ли я понимаю, что основная причина выделения их в отдельную сущность состоит в том, что реализация "write" для стационарных проблематична?
Реализация "write" для стационарных просто не нужна. Открывается редактор, в нём эта функциональность уже имеется.
Как-бы нужна.
В идеале хочется нажать клавишу, получить список назначенных на неё макросов, и чтобы редактор открылся с нужным файлом, и в нужном месте.
Shmuel wrote:
John Doe wrote:Будь они в одном формате - это существенно упростило бы такой перенос.
Согласен, но поскольку данные макросы обычно короткие и простые, а необходимость в переносе возникает редко, то и проблемы как бы нет.
Многие сложные макросы начинаются с простого.
Да и вообще удобно начинать макрос с клавиатуры, чтобы фар создал "шаблон". Особенно для неподготовленного пользователя


И наличие избыточных сущностей мне видится проблемой.
Начиная с того, что это сложно в понимании.

Обсуждаем ли вообще вариант событий с объединением макросов обратно, в один тип?
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by NightRoman »

John Doe
Критичный подход - это хорошо. Но ты не нагнетаешь черезчур?
В идеале хочется нажать клавишу, получить список назначенных на неё макросов, и чтобы редактор открылся с нужным файлом, и в нужном месте.
Может быть, ну и что. Много чего в Фаре хочется еще, "что б само".
Да и вообще удобно начинать макрос с клавиатуры, чтобы фар создал "шаблон". Особенно для неподготовленного пользователя

Да не поможет это неподготовленному пользователю. А шаблонов полно в аддонах.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by Shmuel »

John Doe wrote:В идеале хочется нажать клавишу, получить список назначенных на неё макросов, и чтобы редактор открылся с нужным файлом, и в нужном месте.
Никто не против. Это никак не нарушает общую концепцию. (Качественные патчи принимаются).
John Doe wrote:И наличие избыточных сущностей мне видится проблемой.
Начиная с того, что это сложно в понимании.

Обсуждаем ли вообще вариант событий с объединением макросов обратно, в один тип?
1. Не разделяю ваше вИдение.
2. Обсуждать можно всё. Лично я необходимости в "объединении обратно" не ощущаю. Но я здесь не диктатор, просто на данном этапе занимаюсь макросами больше других. И далеко не все решения принимаю единолично.
То-есть, пожалуйста, обсуждайте, если переубедите меня - хорошо. Единственно, у меня нет возможности отвечать на каждое сообщение на тему макросов в форуме, увы.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by Max Rusov »

John Doe wrote:В идеале хочется нажать клавишу, получить список назначенных на неё макросов, и чтобы редактор открылся с нужным файлом, и в нужном месте.
Это не "write", просто надо помнить привязку. "Write" был бы, если бы макрос редактировался через диалог, я ля MacroView, а потом писался в файл.
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by Aidar »

John Doe wrote:...В идеале хочется нажать клавишу, получить список назначенных на неё макросов, и чтобы редактор открылся с нужным файлом, и в нужном месте.
Нелегко будет найти макрос, создаваемый динамически и/или не напрямую через Macro {}. (Вроде, через debug можно вроде получить номер строки в файле до самого вызова Macro, но не уверен.)
John Doe wrote:Многие сложные макросы начинаются с простого.
Да и вообще удобно начинать макрос с клавиатуры, чтобы фар создал "шаблон". Особенно для неподготовленного пользователя... Обсуждаем ли вообще вариант событий с объединением макросов обратно, в один тип?
1. Функция конвертирования клавиатурного макроса в обычный.
2. Для клавиатурных макросов добавить поле-признак +
проверка соответствия названия файла макроса его содержимому.
3. Ручное конвертирование на основе заготовки и алгоритма.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by John Doe »

Max Rusov wrote:
John Doe wrote:В идеале хочется нажать клавишу, получить список назначенных на неё макросов, и чтобы редактор открылся с нужным файлом, и в нужном месте.
Это не "write", просто надо помнить привязку. "Write" был бы, если бы макрос редактировался через диалог, я ля MacroView, а потом писался в файл.
В идеале как-то так и должно быть.
Но возможности диалога встроенного редактора, как и Macroview, давно уже не соответствуют реалиям макроязыка.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by John Doe »

Aidar wrote:Нелегко будет найти макрос, создаваемый динамически и/или не напрямую через Macro {}.
Думаю это дело техники. И надо ли вообще такие макросы редактировать напрямую?
Aidar wrote:1...2...3...
Вот об этом я и говорю - зачем оно надо?
В идеале для пользователя всё должно быть максимально прозрачно, если фару нужны подобные манипуляции - пусть прячет внутри.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by Max Rusov »

John Doe wrote:
Max Rusov wrote:"Write" был бы, если бы макрос редактировался через диалог, я ля MacroView, а потом писался в файл.
В идеале как-то так и должно быть.
Вот уж - фтопку. Редактировать программный код с помощью диалогов - худшее из ламерств. Не 1C чай.
Шаблоны рулят.
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by Aidar »

John Doe wrote:...И надо ли вообще такие макросы редактировать напрямую?
Нужно - обычные, а клавиатурные - только если понадобится преобразовать в обычные.
John Doe wrote:
Aidar wrote:1...2...3...
Вот об этом я и говорю - зачем оно надо?
В идеале для пользователя всё должно быть максимально прозрачно, если фару нужны подобные манипуляции - пусть прячет внутри.
Для пользователя клавиатурные макросы прозрачны: FAR+luamacro сам сохранит файл и сам исполнит.
Для тех, кто решит сделать обычный макрос на основе клавиатурного, я и предложил три варианта решения.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by John Doe »

Max Rusov wrote:Редактировать программный код с помощью диалогов - худшее из ламерств.
Многие пользователи сейчас обиделись :-)
Лично я ещё во времена реестра использовал редактор для правки макросов (был плагинчик).
В данном случае я выступаю не сторонником диалогов, а сторонником однотипного подхода ко всем макросам.
Post Reply

Return to “Обсуждение макросов”