Ru-Board.club
← Вернуться в раздел «Программы»

» Far Manager

Автор: Alexyz21
Дата сообщения: 15.02.2016 17:43
нет, нужен мастер Но если кто-нибудь подскажет, как из p1.FileName получить обычную строку, содержащую FileName, то можно попробовать.
Автор: wseventeen
Дата сообщения: 15.02.2016 18:13
Если получать обычную строку, будут проблемы с производительностью.
Лучше воспользоваться, например, wcspbrk() для поиска разделителей.
Автор: Angel_Ka
Дата сообщения: 15.02.2016 18:36
Alexyz21
Однако мастерами по макросам круче Вас кажется можно считать только shmuz и Jon_Dow. И оба они сейчас, похоже, круто заняты. Так что теперь вся надежда на появление новой звезды или на Ваш творческий рост...

Автор: Alexyz21
Дата сообщения: 15.02.2016 18:46
Ну Вы сравнили - я против означенных товарищей, этот - палец, во!
Автор: Angel_Ka
Дата сообщения: 15.02.2016 19:04
Не расслабляйте свой потенциал уничижением. Планка задана. И это полезный стимул. Удачи Вам всем нам на пользу!
Автор: Alexyz21
Дата сообщения: 15.02.2016 19:18
Angel_Ka
ваша лесть направлена не в ту сторону, переориентируйте её на wseventeen, он сможет.
Автор: Angel_Ka
Дата сообщения: 15.02.2016 19:25
Это просто шутки.

И то, что спектр возможностей уважаемого wseventeen намного шире, чем макросы, и так очевидно.
Автор: Alexyz21
Дата сообщения: 15.02.2016 20:14
Хорошо бы под Индикатор сортировки выделить хотя бы 2 символа, тогда прямую и обратную сортировки можно было бы отображать +- , а первым символом шло бы обозначение режима сортировки.
Автор: Angel_Ka
Дата сообщения: 15.02.2016 21:00
В Вашем макросе слэши я заменил на nN (работаем, как правило, в русской раскладке). Вот и получается n - это прямая сортировка (начинать с мЕньших номеров), а N - обратная (начинать с бОльших номеров). Как и в нативных режимах сортировки.
Автор: Alexyz21
Дата сообщения: 16.02.2016 12:04
Angel_Ka, обновил.
Автор: Angel_Ka
Дата сообщения: 16.02.2016 15:13
Alexyz21
ЗдОрово!
Бегло ознакомился с новой версией макроса. И по первому впечатлению кажется пока наблюдаю не совсем то, что я сам себе представлял. Но надо пробовать основательнее на том материале, который есть на практике. Потому что мои ожидания ведь могут оказаться и заблуждением. А то, что получилось, может оказаться весьма пригодным, хоть и в другом, не ожидаемом раньше, ключе. Поэксперементирую больше, и доложусь. В любом случае Большое спасибо!

Но приметил также и пару явных шероховатостей: 1) если диалог Input Box сбросить по Esc, то он всё равно срабатывает как будто по Enter; 2) независимо от того, выбираю ли я в меню Custom: by name from 2nd word или Custom: by name from offset, индицируются соответственно O или o, а не слэши.
Автор: Alexyz21
Дата сообщения: 16.02.2016 16:40
п.1 - поправил, п.2 - такова текущая реализация в FAR3, дескрипшены, индикаторы и др. поля из макроса не перечитываются, соответственно в меню и пр. элементах будет лишь то значение, с которым FAR3 стартовал.

Хотел бы также отключать изменение направления сортировки, если изменяем OFFSET, но как это реализовать из имеющейся доки не вкурил. Хотел изменять на лету RevertSorting - упёрся в п.2.

Если кто-то знает как победить вышеназванные вопросы - пусть поскажет.
Автор: shmuz
Дата сообщения: 16.02.2016 17:07

Цитата:
дескрипшены, индикаторы и др. поля из макроса не перечитываются

Индикатор не является полем макроса, и он может быть изменён функцией Panel.LoadCustomSortMode.
Автор: Alexyz21
Дата сообщения: 16.02.2016 17:10
shmuz

Цитата:
он может быть изменён функцией Panel.LoadCustomSortMode.

- Как? Беру
Код: Panel.LoadCustomSortMode (Mode, {
Description = Description; Indicator = Indicator;
Compare = function(p1,p2,opt) ... end;})
Автор: shmuz
Дата сообщения: 16.02.2016 17:11

Цитата:
Хотел изменять на лету RevertSorting - упёрся в п.2.

Но в оригинальном макрофайле оно же происходит на лету и никуда не упирается.
Автор: Alexyz21
Дата сообщения: 16.02.2016 17:15
в оригинальном оно инициализируется с таким значением при старте и после уже не изменяется
Автор: shmuz
Дата сообщения: 16.02.2016 17:19
Alexyz21
Просьба прекратить редактировать свои сообщения после того, как на них уже дан ответ. Я не могу/не буду перечитывать ваши старые сообщения по несколько раз.

А по поводу ваших вопросов - мне легче будет написать макрос самому, чем на все их ответить. По-видимому вам стоит ещё пару раз перечитать документацию.
Автор: Alexyz21
Дата сообщения: 16.02.2016 17:41
В оригинальном
Код: local OFFSET = 15
local Mode = 110
local Description = "Sort by name offset by "..OFFSET
local Indicator = "/\\"
Автор: VictorVG2
Дата сообщения: 16.02.2016 17:51
Alexyz21

Насчёт редактирования ответов shmuz прав - одно дело опечатку исправить (запятую, букву), другое смысл - последнее прямо запрещено Правилами форума.
Автор: Alexyz21
Дата сообщения: 16.02.2016 17:56
Когда я его начал править, ответа я ещё не видел - либо его ещё не было, либо страница не была обновлена, у меня автоматическое обновление страниц отключено, поэтому ответ Schmuel пришёл до того, как я отправил исправленный вариант. Кто знал, что комментарий так быстро придёт.
Автор: VictorVG2
Дата сообщения: 16.02.2016 18:01
Alexyz21

Ладно, ну вышла накладка, бывает.
Автор: shmuz
Дата сообщения: 16.02.2016 18:23
Alexyz21

Подсказка 1: никто не мешает определить более одного режима сортировки.
Подсказка 2: функцию Panel.LoadCustomSortMode можно вызывать из функции action макроса.
Подсказка 3: существует функция Panel.CustomSortMenu.

Надеюсь, что этих подсказок будет достаточно.
Автор: Alexyz21
Дата сообщения: 16.02.2016 18:37
Так вроде в оригинальном макросе всё и так на лету переключалось-отображалось, или не?
Автор: shmuz
Дата сообщения: 16.02.2016 18:52

Цитата:
Так вроде в оригинальном макросе всё и так на лету переключалось-отображалось, или не?

Да, там всё, что надо было переключать, это прямая/обратная сортировка. На лету.

Пожалуй на какое-то время оставлю вас в покое.
Автор: Alexyz21
Дата сообщения: 16.02.2016 19:18

Цитата:
Пожалуй на какое-то время оставлю вас в покое.

Вот так всегда Речь же шла об индикаторе и меню, ну да ладно - благодаря вашей подсказке вызывать из action(), индикатор обновляется, а вот меню не хочет, впрочем в диалоге и так видно какой OFFSET, так что и так сойдёт.

Angel_Ka, лови рождённого в муках
Автор: Angel_Ka
Дата сообщения: 16.02.2016 20:58
Alexyz21

Цитата:
Angel_Ka, лови рождённого в муках


Да, спасибо БОЛЬШУЩЕЕ! Мне почему то сразу показалось, что Вы таки справитесь с этой сложной задачей.
Макрос у меня помечен как вариант 5 и я его почти час уже гоняю. Ранее означенные шероховатости Вами устранены, а я вот всё ещё продолжаю приноравливаться к получившемуся способу сортировки.

И, похоже на то, что мне сподручнее иметь не столько единый макрос комплексной сортировки для BreakSymbols = "-_ ", а, как приоритет — несколько макросов раздельно для сортировки на минус, подчёркивание, пробел, точку, запятую и, возможно, ещё какой понадобится. И теперь, когда Вами сделано основное дело, с этим я, пожалуй, уже и сам справлюсь. Ну а в крайнем случае, надеюсь, смогу обратиться к Вам за помощью. Ещё раз СПАСИБО ОГРОМНОЕ за макрос!

shmuz И Вам особая благодарность за консультации!

Добавлено:
shmuz И чуть не забыл: также ОСОБАЯ БЛАГОДАРНОСТЬ Вам за чудесную идею и её реализацию в базовом макросе!
Автор: shmuz
Дата сообщения: 16.02.2016 21:42
Angel_Ka

Цитата:
также ОСОБАЯ БЛАГОДАРНОСТЬ Вам за чудесную идею и её реализацию в базовом макросе!

Спасибо, приятно слышать. Но не могу без уточнения: идея реализована не в базовом макросе (это только пример), а в Far + LuaMacro.
Автор: Angel_Ka
Дата сообщения: 17.02.2016 15:05
Alexyz21
Поскольку, как я вижу, Вы не потеряли ещё интерес к макросу, и продолжаете его оттачивать, у меня к Вам просьба: нельзя ли и во втором макросе сделать интерактивный ввод символ(а/ов)-разделителей? А то, после опробования, предварительное намерение сделать на его основе ряд макросов оказалось дюже не продуктивным.
Автор: Alexyz21
Дата сообщения: 17.02.2016 15:26
По аналогии не хотите попробовать? - Я же также манкипрагграммёр
Автор: Angel_Ka
Дата сообщения: 17.02.2016 15:47
Alexyz21

Цитата:
По аналогии не хотите попробовать?

Ещё как хочу! И со временем обязательно попробую. Но сейчас хотел бы воспользоваться тем, что Вы полностью в теме.

И чисто для инфы: пока что вариант от 09:09 17-02-2016 пачкает в меню:
Custom: by name from OFFSET 2
Custom: by name from OFFSET 4
Custom: by name from OFFSET 5
+ Custom: by name from OFFSET 6

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: оффтоп


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.