Макросы для работы с описаниями файлов

Здесь выкладываются готовые к использованию макросы и скрипты.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Макросы для работы с описаниями файлов

Post by HaRT »

Latest post of the previous page:

Victorian wrote: вполне понятно большинству образованных людей
Какая чушь!
Не путайте образованность и профессиональные знания.
Victorian wrote: важна даже не лучшесть
Вы недооцениваете важность удобоваримости однострочного представления описания при использовании инструментов, которые (пока?) не поддерживают многострочные описания. Вообще-то я уверен, что поддержка многострочных описаний в ближайшие 10 лет не будет внесена в ядро Фара.
Victorian wrote: вероятность использования \n в исходном описании ничтожно мала
Ерунда.
Вам же привели пример: в описании фигурирует какой-то путь в файловой системе. N — достаточно распространённая буква для начала имени файла/папки.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Макросы для работы с описаниями файлов

Post by Smitis »

это не так, потому как это не имя начинающееся с "n...", а перевод строки за "\".
aaa\nnn будет выглядеть как aaa\\\nnn
Существующая в Си традиционная замена с префиксом "\" вполне понятно большинству образованных людей
Спорный тезис. Кроме того, есть ещё такая вещь, как удобочитаемость. И вот у символов \n среди текста удобочитаемости нет.
Тут важна даже не лучшесть, а поддержка всеми разработчиками различных программ.
Пока поддерживает (ли?) только один разработчик.
А вот если свой стандарт будут поддерживать FAR и XnView, то разработчиков, поддерживающих новый стандарт будет в ДВА раза больше :)
Разум когда-нибудь победит.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Макросы для работы с описаниями файлов

Post by Smitis »

HaRT wrote:Вообще-то я уверен, что поддержка многострочных описаний в ближайшие 10 лет не будет внесена в ядро Фара.
Ну это как раз решается макросом. Тут важнее будет поддержка UTF-16 (CP-1200)
Разум когда-нибудь победит.
Victorian
Posts: 80
Joined: Sun 11 Oct, 2009 05:55
Has thanked: 1 time

Макросы для работы с описаниями файлов

Post by Victorian »

HaRT wrote:Вам же привели пример: в описании фигурирует какой-то путь в файловой системе. N — достаточно распространённая буква для начала имени файла/папки.
Практика отвергает это.

Вот исходная строка:

Code: Select all

Путь к файлу C:\File\name\filename.ext, затем конечный символ\
а тут продолжение на другой строке.
Вот что читаю в файле "Descript.ion"

Code: Select all

1.jpg Путь к файлу C:\\File\\name\\filename.ext, затем конечный символ\\\nа тут продолжение на другой строке.В
Victorian
Posts: 80
Joined: Sun 11 Oct, 2009 05:55
Has thanked: 1 time

Макросы для работы с описаниями файлов

Post by Victorian »

Smitis wrote:разработчиков, поддерживающих новый стандарт будет в ДВА раза больше :)
Это не так. Конечно же, XnViewMP набирает популярность, но пользователей XnView всё же больше. Не думаю, что переход на MP будет таким быстрым, есть консервативность пользователей.
Однако, поддержка UTF планируется также и в XnView, но не так быстро. Скорее, наибольшая по популярности эта программа как раз и навяжет свой способ хранения многострочных описаний.
Популярность же "FAR Manager" крайне низка. Я им пользуюсь всегда. Мои коллеги - профессиональные программисты, и все они пользуются только "Total Commander". Многие пользуются TC, и хотя покупающих её мало, но она достаточно популярна. На Android-устройствах Total Commander вообще бесплатный. FAR Manager этим похвастаться не может. Жаль.
Программа сама по себе замечательная: http://www.myfreesoft.ru/far-manager.html

В "Компьютерра" предлагают вообще отказаться от FAR: http://www.computerra.ru/36189/vot-shes ... m-kotoryi/
Думаю, это необоснованно, так как FAR Manager 3.0 с поддержкой UNICODE очень удобен. Однако, сходство с "Norton Commander" мешает его популярности, хотя когда-то способствовало его быстрому появлению.
По этой причине я не вижу смысла "надавить" на разработчика Total Commander. Он уже используется, и у пользователей создано много описаний файлов, которые уже придётся поддерживать. Можно было эту проблему решить, когда способ кодирования строк только делал первые шаги в Total Commander.
Был шанс быть тут "законодателем мод" программе FAR Manager, если бы это обсуждение завершилось бы много лет назад результативно.
Last edited by Victorian on Thu 26 Nov, 2015 21:12, edited 1 time in total.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Макросы для работы с описаниями файлов

Post by Smitis »

Victorian wrote:Вот что читаю в файле "Descript.ion"
Ну хорошо, достаточно удваивать только символ \. Всё равно читаемость не очень.
Не думаю, что переход на MP будет таким быстрым, есть консервативность пользователей.
Я стал использовать XnViewMP вместо XnView исключительно из-за юникода. Плохо, что из-за QT он раздувается к каждой версии. Тем не менее, я думаю как только автор скажет "Готово!" (зарелизит) и уберёт старый XnView с сайта большинство быстро переберётся на новую версию.
Он уже используется, и у пользователей создано много описаний файлов, которые уже придётся поддерживать.
Реально пользуются?

Я вот подумал, с разделителем \n даже нормальный алгоритм разбивки на строки в голову не приходит. Потому что \n будет разделителем только тогда, когда перед ними нет символов \ или их чётное количество. Может кто придумает регулярку?
Разум когда-нибудь победит.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Макросы для работы с описаниями файлов

Post by HaRT »

Victorian wrote: Практика отвергает это.
Ваша может и отвергает, но это не есть репрезентативная выборка.
Victorian wrote: Вот что читаю в файле "Descript.ion"
Во-во, как и было сказано, получается неудобочитаемая строка, из которой, кроме того, неудобно копировать путь куда-то ещё.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Victorian
Posts: 80
Joined: Sun 11 Oct, 2009 05:55
Has thanked: 1 time

Макросы для работы с описаниями файлов

Post by Victorian »

HaRT wrote: получается неудобочитаемая строка, из которой, кроме того, неудобно копировать путь куда-то ещё.
Так в чём же дело?
В самом Total Commander проблемы нет, - там в окне показывается многострочный текст, без удвоения символа "\\".
Я как пользователь FAR получаю файлы в сопровождении описаний, сделанных в Total Commander. Если нет многострочного описания, то нет и его признака 0x04, и следовательно, замены символа "\" не происходит, - строка имеет обычный вид.
Проблемы начинаются только в FAR для многострочных описаний за счёт того, что не поддерживается нормально формат, принятый в TC.
Как сделают поддержку уже существующего способа в FAR, так проблема исчезнет.

P.S. В сам файл Descript.ion редактором лезть нет смысла, а если я всё таки это сделаю для каких-то целей, то для меня удобнее как раз использование префикса "\", чем спецсимвола. Просто в том же редакторе FAR с помощью макросов за несколько секунд отформатирую текст для последующего помещения в таблицу MS Word, причём в ячейке текст будет многострочным. Читается же "сырой" Descript.ion удобно с видимыми символами \n благодаря когда-то полученной практике длительной работы на языке Си. Также мне удобно использовать разделители "<CR><LF>", но это восемь символов на один разделитель вместо двух.
Last edited by HaRT on Thu 26 Nov, 2015 21:28, edited 1 time in total.
Reason: Исправлено цитирование
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Макросы для работы с описаниями файлов

Post by Smitis »

Проблемы начинаются только в FAR для многострочных описаний за счёт того, что не поддерживается нормально формат, принятый в TC.
Как сделают поддержку уже существующего способа в FAR, так проблема исчезнет.
Как уже было сказано, вряд ли кто-то будет делать совместимость с сомнительным форматом. Но это не ко мне, это к Far Team.
Я могу макрос написать. Версия 2.01 "как в ТС".
И что-то эта тема мне лично уже надоела.
Разум когда-нибудь победит.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Макросы для работы с описаниями файлов

Post by Smitis »

Кстати, о птичках. Вот этот аргумент неплохо бы привести Гисляру:
Victorian wrote:Кто раньше применил, тот и навязал стандарт
В ФАР UTF-8 уже давно, вот пусть и делает, преобразовать не сложно. Как, кстати, и поддерживать старый формат (читаем в старом, пишем в новом). Заоодно пусть придумает, в какой кодировке нужно понимать этот самый символ 0xC2 и почему именно в этой кодировке и что делать тем, у кого кодировка в системе для неюникодных программ другая.
Разум когда-нибудь победит.
Victorian
Posts: 80
Joined: Sun 11 Oct, 2009 05:55
Has thanked: 1 time

Макросы для работы с описаниями файлов

Post by Victorian »

Smitis wrote: ни разу не понадобилось такая "пакетная" обработка
Кстати, я часто этим пользуюсь: делаю заготовку для группы файлов, которая является шаблоном, а за второй проход вношу уточняющую информацию.
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

Макросы для работы с описаниями файлов

Post by LAT »

Victorian wrote:В "Компьютерра" предлагают вообще отказаться от FAR: http://www.computerra.ru/36189/vot-shes ... m-kotoryi/
А Вы комменты к статье не читали? :).
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Макросы для работы с описаниями файлов

Post by Smitis »

LAT wrote:А Вы комменты к статье не читали? :).
Аффтор из Компьтерры решил просто потроллить своих читателей :)
Разум когда-нибудь победит.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Макросы для работы с описаниями файлов

Post by Smitis »

Попробуем ещё немного повоевать с форматом имени Гислера
DescriptionMultiEdit 2.02
Конвертируем ascii строку из двух байт 0x04 0xC2 в UTF-8 используя текущую кодовую страницу. Тогда сравнение и конвертация туда и обратно будут правильными не только для CP-1251.
Разум когда-нибудь победит.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Макросы для работы с описаниями файлов

Post by Smitis »

Обновление. Давно не обнавлял, поэтому "скачок" версии.
DescSS 1.06, DescriptionEdit (CtrlZ) 1.03
- Макросы CtrlZ переименованы в DescriptionEdit.
- В шапку добавлен DescriptionMultiEdit.
- Мелкая правка связаная с использованием langs.
- Для поиска по маске теперь вместо mf.fmatch используется функция far.ProcessName.
- При вставке из буфера обмена макросами AltZ и AltV символы окончания строк (\r\n) заменяются на пробелы.
- Вместо Cfg_Get используется функция Far.GetConfig.
- В связи с некоторыми изменениями FarApi не работала иницилизация начального значения.
- С некоторых пор в ФАРе быстрый поиск, вызванный через макрос, не закрывается при вызове макросом для области Search любого меню. Добавлена проверка и выход из Search.
- Обработка "BackSlash" как "\"
Разум когда-нибудь победит.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Макросы для работы с описаниями файлов

Post by buniak_a_h »

buniak_a_h wrote: Fri 23 Dec, 2022 10:14 Что-то я попробовал установить. Наткнулся на странность: вызов функции unicode.ascii.char (строка 53, файл DescriptionMultiEdit.lua). В таблице unicode нет поля (подтаблицы) ascii!!!.
Post Reply

Return to “Полезные макросы и скрипты”