Page 1 of 1

Расширение при сохранении файла

Posted: Tue Dec 18, 2012 9:38 pm
by vadim
Проблема:
Было замечено, что при сохранении созданного файла на компьютер в качестве расширения к названию файла не всегда подставляется установленное по умолчанию. Например, если задано расширение по умолчанию txt и сохраняется файл с названием Семенов С.М. , то расширение к этому названию добавлено не будет. Я так понимаю, что программа посчитала, что раз есть в названии точка, то все, что идет за ней уже есть расширение и другого подставлять не нужно. Как с этим быть? Я привык вставлять точки в названия файлов и такое поведение редактора мне сильно мешает.

Предложение:
Если это не решается простыми средствами и нужно менять алгоритм и вносить изменения в код программы, то может вообще пойти другим путем? Например, в настройках редактора "Параметры\Дополнительно" вместо поля "расширение по умолчанию при сохранении" сделать поле "расширения при сохранении". В этом поле через пробел задавать неограниченное количество используемых пользователем расширений. Параметр запомнить в файле AkelPad.ini При сохранении файла в окне "Сохранить как" в поле "Тип файла" в выпадающем меню должны появиться все заданные в настройках расширения для сохранения файла. В нем один раз выбирается расширение для сохранения текущего файла и после сохранения оно запоминается в AkelPad.ini как параметр DefaultSaveExt= . Теперь, каждый раз при сохранении файлов в этом поле будет стоять это расширение, как выбранное по умолчанию и подставляться ко всем сохраняемым файлам. Если нужно другое расширение, то его следует заново выбрать из выпадающего меню и сохранить с ним файл. Тогда уже оно запомнится как расширение по умолчанию.
При этих операциях алгоритм автоматического определения наличия расширения должен быть отключен. Включать этот алгоритм можно установкой галочки в чекбоксе в окне "Сохранить как", либо в настройках "Параметры\Дополнительно" . Уж не знаю как лучше и нужен ли этот алгоритм вообще, т.к. всегда можно в окне "Сохранить как" в поле "Тип файла" выбрать "Все файлы (*.*)" . В этом случае расширение файла не подставляется вообще, а значит файл останется со старым расширением.

Я не программист и как все это сделать программно не знаю, так что излагаю только логическую конструкцию.

Posted: Tue Dec 18, 2012 9:52 pm
by FeyFre
1. Расширением в ОС Windows считается текст от последней точки в имени файла до конца имени файла. Изменить это невозможно впринципе. Баста.
2. А как Ваше предложение решает Вашу проблему?

Posted: Wed Dec 19, 2012 3:21 am
by Lenchik
SaveAs.js от VladSh

Posted: Wed Dec 19, 2012 6:02 am
by Fr0sT
Можно добавить опцию в Акел - "всегда подставлять расширение". Либо действительно сторонними средствами.

Posted: Wed Dec 19, 2012 3:20 pm
by vadim
FeyFre wrote:1. Расширением в ОС Windows считается текст от последней точки в имени файла до конца имени файла. Изменить это невозможно впринципе. Баста.
2. А как Ваше предложение решает Вашу проблему?
1. Я знаю, что все, что идет после последней точки Винда считает расширением. Но Редактор подставляет расширение, если его нет и не подставляет, если оно есть - значит есть автомат в программе, которые отслеживает наличие расширения у файла. Этот автомат нужно отключить. Тогда ничего в Винде и менять не надо, т.к. ВСЕГДА будет подставляться расширение, заданное пользователем!

2. Если ВСЕГДА подставляется расширение заданное мной, то и проблема моя сразу решится. Глупая автоматика не будет вмешиваться в мои действия и заданное мной в настройках расширение обязательно подставится к имени файла сколько бы точек в нем ни стояло!

Posted: Wed Dec 19, 2012 3:30 pm
by DV
vadim
file.cpp.txt,
file.asm.txt,
file.xml.txt,
file.txt.txt,
...
клёво!

Posted: Wed Dec 19, 2012 3:46 pm
by vadim
DV wrote:vadim
file.cpp.txt,
file.asm.txt,
file.xml.txt,
file.txt.txt,
...
клёво!
Во-первых в настройках должен быть чекбокс, где возможно включение и отключение этого автомата. Если он так нужен - включите!

Во-вторых все вышеизложенное применяется только для вновь создаваемых в редакторе файлов, а не для редактируемых. Если вы редактируете старый файл, то у него уже есть или нет расширение и он сохраняется с тем же названием с каким был загружен в редактор. Т.е ваш файл file.cpp так и сохранится как file.cpp а файл с именем file сохранится с именем file

Если вы при сохранении вновь созданного файла помимо основного названия прописали и расширение file.txt, то при отключенном автомате определения наличия расширения файл пропишется как file.txt.txt . Если вы часто допускаете такие ошибки, то автомат лучше включить.

Posted: Wed Dec 19, 2012 8:06 pm
by Serge Yolkin
ИМХО, такая функция, если уж она так нужна, должна быть реализована чем-то внешним: плагин, скрипт. Не дай Бог, проглядеть такой включенный чекбокс на работе (командные и конфигурационные файлы разного телекоммуникационного оборудования - около 20 типов текстовых (внутри) файлов). Можно до утра себе рабочий день продлить.

Posted: Wed Dec 19, 2012 8:34 pm
by VladSh
vadim
Чем не подходит вышеуказанный SaveAs.js?

Posted: Wed Dec 19, 2012 8:42 pm
by FeyFre
Serge Yolkin
> командные и конфигурационные файлы разного телекоммуникационного оборудования
Не дай Бог лобые тектсовые-конфигурационные файлы так сохранять...

Posted: Thu Dec 20, 2012 7:10 am
by Fr0sT
(командные и конфигурационные файлы разного телекоммуникационного оборудования
Едва ли они создаются именно средствами Акеля

Posted: Thu Dec 20, 2012 9:51 am
by Serge Yolkin
Fr0sT
И создаются тоже, хотя чаще редактируются. Для особо экзотических даже подсветки сделал (в основном, для подсказок)

Posted: Thu Dec 20, 2012 11:57 am
by DV
По теме, предложенный функционал мне представляется удобным лишь при такой реализации:
- диалог сохранения файла будет включать два новых элемента: галочку "[ ] Всегда подставлять расширение" и парное к галочке окно ввода, в котором это расширение будет фигурировать - например, "txt". Введенное расширение будет сохраняться в настройках программы и восстанавливаться при каждом запуске. Добавляться к имени файла это расширение будет только в том случае, если галочка установлена.
Если же один или оба этих элемента будут не в диалоге сохранения, где они всё время на виду, то их наличие будет приводить больше к путанице и проблемам.

Posted: Thu Dec 20, 2012 12:51 pm
by VladSh
Т.к. настраивать только нужные типы файлов в проге скорее всего будет невозможно, то я не вижу смысла в каких-либо вообще переделках. Всё устраивает и так; есть гораздо более важные вещи, которые бы реализовать в первую очередь.