Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Free Pascal, Pascal ABC и другие _ Графическая оболочка для PtoP

Автор: volvo 7.09.2010 19:26

Все началось с того, что вот тут: http://forum.pascal.net.ru/index.php?s=&showtopic=24653&view=findpost&p=137858 появилась просьба сделать этот форматтер более дружелюбным, чтоб с ним можно было работать не в консоли, в через графический интерфейс.

Вашему вниманию предлагается очередная версия такой оболочки (предыдущие были удалены, потому что не выдерживали никакой критики).

Я надеюсь, что интерфейс более или менее понятен, но все-таки: по кнопке "Открыть" выбираем входной (неформатированный) файл, он открывается в редакторе. Если видим "кракозябры" - выбираем нужную кодировку (над редактором для этого есть средства). И жмем "Форматировать".

Можно также скопировать нужный текст в буфер обмена (например, из браузера), и оттуда - в мою оболочку простым Ctrl+C/Ctrl+V. Но здесь есть небольшое отличие - если текст не из файла, а из буфера - то сменить кодировку невозможно.

"Сохранить" запрашивает имя выходного файла, и сохраняет его в той же кодировке, в которой он был изначально.

Предложения по улучшению интерфейса / описания глюков (особенно интересует корректность работы с кодировками на разных версиях Windows) - приветствуются. Желательно сообщить версию ОС, на которой замечен глюк, и присоединить скриншот, объясняющий проблему.

P.S. Почему тема здесь - а потому что написана программа на FPC под Lazarus-ом smile.gif Отсюда и размер. Но размер я еще попробую уменьшить.
P.P.S. Исходников в архиве нет, только EXE-файл...

Список изменений:
1. Исправлена ошибка "невозможно открыть файл" при смене кодировки.
2. Добавлено расширение по умолчанию при сохранении файла.
3. Устранена небольшая недоделка при Drag & Drop-е в приложение (название перетянутого файла не отображалось в заголовке).

(08 Sep 2010)
4. Добавлен сброс ранее выбранной кодировки при очистке окна.
5. Добавлены настройки форматирования (стиль и отступы, там же - язык интерфейса, но пока эта опция недоступна: тестируется smile.gif )

(15 Sep 2010)
6. Добавлено переключение языка интерфейса Русский/Английский
7. Измененные настройки сохраняются в INI-файле.

Автор: sheka 8.09.2010 0:15

Начнем-с. lol.gif
Win7. Вообще не работает.
1. Пробовал открыть файл. Не открывает.
2. Пробовал вписать или скопировать тест в программу - нормально. Но "форматировать" - неактивно, а при сохранении - белиберда.Прикрепленное изображение

Автор: volvo 8.09.2010 1:24

Ух ты...

У меня файл открывается нормально:
Прикрепленное изображение

Рассказывай, что за Win7, какой язык - системный smile.gif

Насчет

Цитата
Пробовал вписать или скопировать тест в программу - нормально. Но "форматировать" - неактивно
- да, тут есть небольшая моя недоработка, поправил в первом сообщении. Но опять же, вторую часть - не подтверждаю, после нажатия на "Сохранить" получаю стандартный диалог сохранения:
Прикрепленное изображение

Подождем, может кто-то еще проверит на Семерке...

Автор: Lapp 8.09.2010 4:15

Цитата(volvo @ 7.09.2010 22:24) *
Подождем, может кто-то еще проверит на Семерке...
Кто-то проверяет.. ... ... smile.gif

Так.
OS: Windows 7 Starter, 32 (а Starter и не бывает 64)), US English.
Программа запустилась ОК, хотя я ее переназвал (pasform.exe).
Файл (в нем все строки с первой позиции) открылся, отображается правильно (кроме русских букв, заменены на ?).
Кодировку 866 применила верно, русский текст теперь читается.
Кнопка "Форматирование" активна.
Форматирование применено верно.
Файл записан.
Записанный файл в Far читается верно (кодировка 866).
Выход из программы успешный.

Тест 100% успешный.

Спасибо! smile.gif

Не мешало бы:
1. иметь возможность менять опции (размер отступа, стиль..);
2. иметь интерфейс также и на английском;
3. (размечтался)) иметь возможность замены одной кодировки на другую.

Чуть позже проверю на W7 Ult 64, US

Автор: volvo 8.09.2010 4:26

Цитата
иметь возможность менять опции (размер отступа, стиль..);
Это есть уже (вплоть до настройки цветов), осталось дать доступ через интерфейс.

Цитата
(размечтался)) иметь возможность замены одной кодировки на другую.
Это, кстати, проще всего - достаточно перед сохранением спрашивать, оставить ли файл в оригинальной кодировке, или сменить. Сделаем. Все одно сейчас праздники начинаются, завтра - Новый Год у нас smile.gif

По поводу мультиязыкового интерфейса - надо будет посмотреть, какие средства для этого есть в Лазарусе. Скорее всего есть, потому как сам Лазарус меняет язык легко и непринужденно smile.gif

Автор: Lapp 8.09.2010 4:34

Цитата(volvo @ 8.09.2010 1:26) *
завтра - Новый Год у нас smile.gif
О, и правда же!
С наступающим! smile.gif

Автор: Lapp 8.09.2010 7:40

Проверил, как и обещал, на W7 Ult 64 US. Результат тот же - все работает, как заявлено. Но после некоторых упражнений появилось одно замечание.

При заходе в прогу выбор кодировки неактивен. После открытия файла русские буквы в нем представлены знаком "?". Выбор кодировки теперь активен. После выбора кодировки (например, 866) - все нормально читается. Если мы теперь очистим окно, то выбор кодировки остается активным, причем с выбранной 866. Но если мы откроем теперь файл в кодировке 866, то прочесть его не сможем. Требуется повторное нажатие на "CP-866", чтобы текст стал читабельным. Иными словами, кодировка выбрана, но не применяется.

Решение этой проблемы может быть двоякое:

1. делать выбор кодировки неактивным по нажатии "Очистить";
2. напротив, держать его активным всегда, с самого начала, и применять кодировку при чтении файла; это потребует введения понятия "дефолтная кодировка", значение которого можно сохранять как и дефолтный фолдер открытия файла.

Способ 2 мне больше нравится )).

И еще одно: назначение кнопки "Снять формат" не совсем ясно.. Я полагал, что это типа Undo, но оказалось - нет (да undo и не нужно, собссно). Это типа сделать заготовку для последующего ручного форатирования уже в среде? Спорно..

Автор: volvo 8.09.2010 15:08

Цитата
Это типа сделать заготовку для последующего ручного форатирования уже в среде?
Ну, вообще-то эта кнопочка появилась по http://forum.pascal.net.ru/index.php?s=&showtopic=24653&view=findpost&p=145279 Jabbson-а, но я погонял программку на разных файлах - похоже, что эта кнопка действительно не нужна, форматтер сам прекрасно справляется с любым текстом. Уберу в дальнейшем.

Цитата
С наступающим!
Спасибо... smile.gif

P.S. Обновление в первом посте.

Автор: Unconnected 8.09.2010 16:31

Запустил на своей Win7 Home 64.. ооочень долго запускалась, секунд через 20 после запуска появилось окошко.

Хорошо получилось.. Кстати, как вариант, можно добавить ещё маску форматирования, где после then, else или do оператор begin не переносится на другую строку.

И ещё, при выходе программа спрашивает "Действительно хотите выйти без сохранения?", и там кнопки "Нет" и "Cancel" играют одну роль вроде)

Ps: Кнопка "Снять форматирование" нужна, для наглядости)

Автор: sheka 9.09.2010 23:39

x86 Максимальная. Русский.

А кнопочка там очень хорошо смотриться!

Автор: volvo 16.09.2010 2:39

Вынужденная пауза (связанная с невозможностью добраться до исходников и вообще до всей информации, которая находилась на компьютере - полетела видеокарта) закончилась, в первом посте - очередное обновление программы. Вроде все пожелания учел unsure.gif

Автор: sheka 3.10.2010 5:14

Все равно сообщения со 2го поста вылетают.