[far2] Макрос справляющийся с "некорректными" именами файлов

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

[far2] Макрос справляющийся с "некорректными" именами файлов

Post by John Doe »

Far 2 позволяет создавать файлы и папки с именами, "некорректными" с точки зрения системы. Речь идёт о а) слишком длииинных именах и путях, б) именах совпадающих с названиями системных устройств, в) именах оканчивающихся на пробел(ы) или точку(и).

"Некорректность" таких имён вопрос спорный, но факты таковы, что кроме фара мало чем ещё можно открыть эти файлы/папки.

Без сомнения способность фара работать с любыми именами очень полезна.
Однако легко создать файл/папку с таким именем случайно, и это может представлять проблему для неподготовленного пользователя:
Имена "House M.D." или "Ярославский А." выглядят безобидными, пробел на конце тоже легко получить вставляя откуда-то скопированный текст...

Для обеспечения "корректности" имён можно воспользоваться силами макроязыка.
Предлагаю в этом топике делиться макросами, служащими данной цели.



P.P.P.S
Плагин с аналогичной функциональностью: FIN — Fix Incorrect Names.

P.P.P.P.S
Макрос для Far 3, активируемый по событию: http://forum.farmanager.com/viewtopic.php?f=60&t=7864
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

"Прозрачная" версия вышеприведённого макроса

Post by John Doe »

Отличается тем, что назначается на сочетание, вызывающее диалог, и ожидает его закрытия.

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

Re: Макрос справляющийся с "некорректными" именами папок/файлов

Post by zg »

а не проще ли написать плагин, который по закрытию диалога создания папки корректирует имя? или даже выводит диалог с предупреждением.
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Re: Макрос справляющийся с "некорректными" именами папок/файлов

Post by Kildor »

«Напиши». Серьёзно, я бы был очень благодарен, но сам я не программист, и даже не «программист-гуманитарий». Макрос накрутить ещё как-то могу, а вот создать плагин — даже не представляю с чего бы начать.

> (отлавливает момент нажатия Enter)
А CtrlEnter?
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Макрос справляющийся с "некорректными" именами папок/файлов

Post by zg »

Kildor wrote:«Напиши».
я не вижу в этом проблемы, соответственно мне плагин не нужен.
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: Макрос справляющийся с "некорректными" именами папок/файлов

Post by t-rex »

John Doe wrote:Имена "House M.D." или "Ярославский А." выглядят безобидными
Безобидными? Я обиделся.
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Макрос справляющийся с "некорректными" именами папок/файлов

Post by John Doe »

zg wrote:а не проще ли написать плагин, который по закрытию диалога создания папки корректирует имя? или даже выводит диалог с предупреждением.
В таком элементарном виде - макрос проще, и диалог тоже легко вывести макросом.
Но если пытаться учесть все случаи, то плагин будет проще.

Kildor
CtrlEnter очень просто учесть, в обоих вариантах.

t-rex
Название папки вполне безобидно для незнающего, ведь не все пользователи посещают форум :D
https://t.me/FarManager — Telegram чат
User avatar
Тигрёнок
Posts: 391
Joined: Wed 03 May, 2006 06:07
Location: Россия
Contact:

Re: Макрос справляющийся с "некорректными" именами папок/фай

Post by Тигрёнок »

Поскольку тема Каталог с пробелом в конце закрыта (кому она, #$%, помешала?!), пишу сюда.
Править вводимые пользователем некорректные имена - прекрасно. Однако это, во-первых, костыль, а во-вторых, добровольный выбор пользователя.
А вот то, что FAR не умеет удалять созданные в нём же папки с пробелом или точкой в конце имени (хотя умеет их копировать, перемещать и переименовывать) - это полная креза!
Проверено под v2.0 (build 1481).
Съешь мыша – стань настоящим клавишником!
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Макрос справляющийся с "некорректными" именами папок/фай

Post by DrKnS »

Тигрёнок wrote:А вот то, что FAR не умеет удалять созданные в нём же папки с пробелом или точкой в конце имени (хотя умеет их копировать, перемещать и переименовывать) - это полная креза!
Нет, это полная ложь.

"Удалять" - это ShiftDel.

Вы же, скорее всего, пытаетесь "переместить в корзину".
"Перемещать в корзину" файлы с вышеописанными именами Windows Shell API не умеет.
Претензии можете отправлять в Microsoft.
кому она, #$%, помешала?!
Пункт 3.3 уже близко.
wolf
Posts: 1030
Joined: Fri 08 Apr, 2005 12:54
Location: Moscow

Re: Удаление концевых пробелов и точек при создании папки

Post by wolf »

John Doe wrote:Для примера привожу макрос обеспечивающий "корректность" имени при создании папки по F7.
А есть какие-то перспективы на то, что предложенные выше макры будут доведены до состояния регфайлов, входящих в состав %farhome%\Addons\Macros ?
ошибка — считать, что фар для пользователей. (с) zg
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Макрос справляющийся с "некорректными" именами папок/фай

Post by John Doe »

Для начала надо доделать их хотя бы для диалогов копирования/перемещения/переименования.
А помещать ли их в дистрибутив... Имхо не стоит, ибо костыль-костылём...

Нет нормальных макро-средств, даже для однозначной идентификации диалогов. (Когда-нибудь будет Dlg.Info.Id, а пока что в фаре GUID только для одного едиственного диалога проставлен).
А чтоб было более-менее по-людски нужно вообще разделить макросы по диалогам, как раньше DialogManager делал.
User avatar
Sergey Sarbash
Posts: 44
Joined: Fri 15 Apr, 2005 18:30
Location: г. Набережные Челны
Contact:

Re: Макрос справляющийся с "некорректными" именами папок/фай

Post by Sergey Sarbash »

Пробовал установить указанный макрос на диалог, Far выдаёт ошибку на DLGITEMTYPE_BUTTON и прочие константы.
И ещё - используется русская локализация, то есть в заголовке "Создать папку". В макросе тоже надо поправить в этом случае?
Помогите, пожалуйста.

Far 2.0 build 1489 x86
С уважением,
Сергей Сарбаш.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: Макрос справляющийся с "некорректными" именами папок/фай

Post by Skirda »

Константы в файле addons\Macros\MacroConsts.reg
В макросе для проверки "Title" вместо "Make folder" поставь "Создать папку"
We are the Borg. You will be assimilated.
So Say We All!
User avatar
Sergey Sarbash
Posts: 44
Joined: Fri 15 Apr, 2005 18:30
Location: г. Набережные Челны
Contact:

Re: Макрос справляющийся с "некорректными" именами папок/фай

Post by Sergey Sarbash »

Сердечно благодарю за помощь, всё получилось, кроме одного момента - теперь глючат диалоги копирования/перемещения... :) После нажатия Enter не отображаются информационные окна, отображающие ход процесса.

P.S. Прошу прощения, полечил, всё работает теперь! Разобрался самостоятельно на этот раз. :)
С уважением,
Сергей Сарбаш.
wolf
Posts: 1030
Joined: Fri 08 Apr, 2005 12:54
Location: Moscow

Re: Макрос справляющийся с "некорректными" именами папок/фай

Post by wolf »

Макрос совместим с макросами назначенными для диалогов или отрубит все нафиг?
ошибка — считать, что фар для пользователей. (с) zg
Locked

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