Page 4 of 5

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

Posted: Thu 26 Nov, 2015 20:06
by Victorian

Latest post of the previous page:

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

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

Code: Select all

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

Code: Select all

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

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

Posted: Thu 26 Nov, 2015 20:21
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, если бы это обсуждение завершилось бы много лет назад результативно.

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

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

Я вот подумал, с разделителем \n даже нормальный алгоритм разбивки на строки в голову не приходит. Потому что \n будет разделителем только тогда, когда перед ними нет символов \ или их чётное количество. Может кто придумает регулярку?

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

Posted: Thu 26 Nov, 2015 21:02
by HaRT
Victorian wrote: Практика отвергает это.
Ваша может и отвергает, но это не есть репрезентативная выборка.
Victorian wrote: Вот что читаю в файле "Descript.ion"
Во-во, как и было сказано, получается неудобочитаемая строка, из которой, кроме того, неудобно копировать путь куда-то ещё.

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

Posted: Thu 26 Nov, 2015 21:24
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>", но это восемь символов на один разделитель вместо двух.

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

Posted: Thu 26 Nov, 2015 21:42
by Smitis
Проблемы начинаются только в FAR для многострочных описаний за счёт того, что не поддерживается нормально формат, принятый в TC.
Как сделают поддержку уже существующего способа в FAR, так проблема исчезнет.
Как уже было сказано, вряд ли кто-то будет делать совместимость с сомнительным форматом. Но это не ко мне, это к Far Team.
Я могу макрос написать. Версия 2.01 "как в ТС".
И что-то эта тема мне лично уже надоела.

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

Posted: Fri 27 Nov, 2015 07:55
by Smitis
Кстати, о птичках. Вот этот аргумент неплохо бы привести Гисляру:
Victorian wrote:Кто раньше применил, тот и навязал стандарт
В ФАР UTF-8 уже давно, вот пусть и делает, преобразовать не сложно. Как, кстати, и поддерживать старый формат (читаем в старом, пишем в новом). Заоодно пусть придумает, в какой кодировке нужно понимать этот самый символ 0xC2 и почему именно в этой кодировке и что делать тем, у кого кодировка в системе для неюникодных программ другая.

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

Posted: Fri 27 Nov, 2015 16:42
by Victorian
Smitis wrote: ни разу не понадобилось такая "пакетная" обработка
Кстати, я часто этим пользуюсь: делаю заготовку для группы файлов, которая является шаблоном, а за второй проход вношу уточняющую информацию.

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

Posted: Wed 02 Dec, 2015 11:40
by LAT
Victorian wrote:В "Компьютерра" предлагают вообще отказаться от FAR: http://www.computerra.ru/36189/vot-shes ... m-kotoryi/
А Вы комменты к статье не читали? :).

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

Posted: Wed 02 Dec, 2015 11:45
by Smitis
LAT wrote:А Вы комменты к статье не читали? :).
Аффтор из Компьтерры решил просто потроллить своих читателей :)

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

Posted: Wed 02 Dec, 2015 12:41
by Smitis
Попробуем ещё немного повоевать с форматом имени Гислера
DescriptionMultiEdit 2.02
Конвертируем ascii строку из двух байт 0x04 0xC2 в UTF-8 используя текущую кодовую страницу. Тогда сравнение и конвертация туда и обратно будут правильными не только для CP-1251.

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

Posted: Tue 23 Feb, 2016 21:25
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" как "\"

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

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

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

Posted: Mon 26 Dec, 2022 16:18
by Smitis
buniak_a_h, да, этой таблицы уже нет. Замените строку на local idtc = "\004\194"