Все началось с того, что вот тут: http://forum.pascal.net.ru/index.php?s=&showtopic=24653&view=findpost&p=137858 появилась просьба сделать этот форматтер более дружелюбным, чтоб с ним можно было работать не в консоли, в через графический интерфейс.
Вашему вниманию предлагается очередная версия такой оболочки (предыдущие были удалены, потому что не выдерживали никакой критики).
Я надеюсь, что интерфейс более или менее понятен, но все-таки: по кнопке "Открыть" выбираем входной (неформатированный) файл, он открывается в редакторе. Если видим "кракозябры" - выбираем нужную кодировку (над редактором для этого есть средства). И жмем "Форматировать".
Можно также скопировать нужный текст в буфер обмена (например, из браузера), и оттуда - в мою оболочку простым Ctrl+C/Ctrl+V. Но здесь есть небольшое отличие - если текст не из файла, а из буфера - то сменить кодировку невозможно.
"Сохранить" запрашивает имя выходного файла, и сохраняет его в той же кодировке, в которой он был изначально.
Предложения по улучшению интерфейса / описания глюков (особенно интересует корректность работы с кодировками на разных версиях Windows) - приветствуются. Желательно сообщить версию ОС, на которой замечен глюк, и присоединить скриншот, объясняющий проблему.
P.S. Почему тема здесь - а потому что написана программа на FPC под Lazarus-ом Отсюда и размер. Но размер я еще попробую уменьшить.
P.P.S. Исходников в архиве нет, только EXE-файл...
Список изменений:
1. Исправлена ошибка "невозможно открыть файл" при смене кодировки.
2. Добавлено расширение по умолчанию при сохранении файла.
3. Устранена небольшая недоделка при Drag & Drop-е в приложение (название перетянутого файла не отображалось в заголовке).
(08 Sep 2010)
4. Добавлен сброс ранее выбранной кодировки при очистке окна.
5. Добавлены настройки форматирования (стиль и отступы, там же - язык интерфейса, но пока эта опция недоступна: тестируется )
(15 Sep 2010)
6. Добавлено переключение языка интерфейса Русский/Английский
7. Измененные настройки сохраняются в INI-файле.
Начнем-с.
Win7. Вообще не работает.
1. Пробовал открыть файл. Не открывает.
2. Пробовал вписать или скопировать тест в программу - нормально. Но "форматировать" - неактивно, а при сохранении - белиберда.
Ух ты...
У меня файл открывается нормально:
Рассказывай, что за Win7, какой язык - системный
Насчет
Проверил, как и обещал, на W7 Ult 64 US. Результат тот же - все работает, как заявлено. Но после некоторых упражнений появилось одно замечание.
При заходе в прогу выбор кодировки неактивен. После открытия файла русские буквы в нем представлены знаком "?". Выбор кодировки теперь активен. После выбора кодировки (например, 866) - все нормально читается. Если мы теперь очистим окно, то выбор кодировки остается активным, причем с выбранной 866. Но если мы откроем теперь файл в кодировке 866, то прочесть его не сможем. Требуется повторное нажатие на "CP-866", чтобы текст стал читабельным. Иными словами, кодировка выбрана, но не применяется.
Решение этой проблемы может быть двоякое:
1. делать выбор кодировки неактивным по нажатии "Очистить";
2. напротив, держать его активным всегда, с самого начала, и применять кодировку при чтении файла; это потребует введения понятия "дефолтная кодировка", значение которого можно сохранять как и дефолтный фолдер открытия файла.
Способ 2 мне больше нравится )).
И еще одно: назначение кнопки "Снять формат" не совсем ясно.. Я полагал, что это типа Undo, но оказалось - нет (да undo и не нужно, собссно). Это типа сделать заготовку для последующего ручного форатирования уже в среде? Спорно..
Запустил на своей Win7 Home 64.. ооочень долго запускалась, секунд через 20 после запуска появилось окошко.
Хорошо получилось.. Кстати, как вариант, можно добавить ещё маску форматирования, где после then, else или do оператор begin не переносится на другую строку.
И ещё, при выходе программа спрашивает "Действительно хотите выйти без сохранения?", и там кнопки "Нет" и "Cancel" играют одну роль вроде)
Ps: Кнопка "Снять форматирование" нужна, для наглядости)
x86 Максимальная. Русский.
А кнопочка там очень хорошо смотриться!
Вынужденная пауза (связанная с невозможностью добраться до исходников и вообще до всей информации, которая находилась на компьютере - полетела видеокарта) закончилась, в первом посте - очередное обновление программы. Вроде все пожелания учел
Все равно сообщения со 2го поста вылетают.