Дневник |
|
Главная страница | Просмотр банковских выписок | Текстовый редактор | Интерпретатор | Игра "Осиновый лес" | CMS | Дневник |
|
21.09.2025 WeekendCMS |
Пользовательский интерфейс CMS работает. Да, всё очень просто, но это именно то, что мне нужно. Сегодняшний вариант сайта сделан уже при помощи собственной CMS. Рабочий вариант программы разместил в репозитории сайта в папке cms. |
20.09.2025 WeekendCMS |
Оказалось, что довольно трудно вести даже такой простой сайт, как у меня. Решил автоматизировать некоторую работу. Сегодня сделал маленькую систему управления контентом, пока без пользовательского интерфейса. Надеюсь, что завтра его сделаю. Планирую, что это будет всего несколько полей в единственном окошке. |
14.09.2025 AspenForest |
Попробовал в действии созданный язык программирования Weekend Game Language. Написал крошечную игрушку. Забавно. Добавил пункты меню "Вид" для переключения языка интерфейса в BankViewer и WeekendTextEditor. |
13.09.2025 WeekendInterpreter |
Улучшение кода, описание проекта, описание моего, побыстрому придуманного, языка программирования, тестирование, правки мелкие и не очень... В общем, сегодня ничего нового. |
07.09.2025 WeekendInterpreter |
Занимался I18n и L10n. В меню "Вид" включил пункты "Русский" и "English" для переключения языков интерфейса. Конечно, тут же пришли идеи о том, как можно сделать расширение приложения без перекомпиляции новыми языками интерфейса. Но я обдумал это и принял решение остановиться. Не буду крошечное учебное приложение без веских причин оснащать суперсистемой поддержки языков. Моё решение сопровождать каждый проект на двух языках добавило работы, несмотря на то, что переводчики отлично справляются с переводом несложных фраз, используемых для комментирования кода. Но я заметил, что если в начале работы я переводил переводчиком каждую фразу, то теперь, мне становится легче иногда самому написать фразу на английском, чем копипастить в переводчик и обратно. Происходит привыкание к языку, и это здорово! |
06.09.2025 WeekendInterpreter |
Доделалал интерпретатор, включив в проект оставшиеся задуманные команды. В качестве тестирования написал программу примера использования команд (CommandsDemo.wgl). Это не может считаться серьёзнымм тестированием, но и интерпретатор, прямо скажу, немного уступает по сложности Java и даже ABAP :) |
31.08.2025 WeekendInterpreter |
Сегодня у меня две новости: первая — интерпретатор выводит сообщение "Привет, Мир!", |
вторая — у меня кончился отпуск. Надо собираться и лететь домой, и это грустно. |
![]() |
![]() |
30.08.2025 WeekendInterpreter |
Интерпретатор делаю как текстовый редактор, у которого появилось меню "Выполнить" с двумя пунктами: "Выполнить" и "Остановить". Центральная часть экрана разбита на две части. В верхней части расположен сам редактор, а в нижней - область, в которой будет отображаться всё, что выводит программа, интерпретируемая интерпретатором. И кстати, каждый проект будет в двух формах: русскоязычной и англоязычной. Для меня это полезно. |
24.08.2025 |
Сегодня летал на воздушном шаре. |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Мы получили сертификаты: |
![]() |
23.08.2025 |
Придумал и реализовал заготовку для этого сайта. Что-то более сложное для данного применения, думаю, не пригодится. Ну а если пригодится, тогда и придумаю нечто более сложное. А пока так:
А теперь я иду плавать в море, потому, что я в отпуске и сегодня: |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
17.08.2025 WeekendTextEditor |
Интернационализация и локализация. Думаю это должно быть в любом приложении. |
16.08.2025 Bankviewer |
Новый READMY, интернационализация (это интересно), локализация (это интересно), перевод всех комментариев на английский язык (хочется попробовать, что из этого выйдет). |
10.08.2025 WeekendInterpreter |
Обдумывал идею проекта. Почитал всякое. Создание даже самого простого языка программирования полезно. Создан репозиторий weekendinterpreter. |
09.08.2025 WeekendTextEditor |
Сделан новый пункт меню и кнопка на инструментальной линейке: "Заменить...". Исправлена работа "Поиск...". Теперь поиск ищет от того места, где находится курсор. JEditorPane стал теперь составной частью класса Editor. Методы выдачи сообщений вынесены из главного класса приложения в класс Messages. Это не улучшает работу программы, но уменьшает её сложность. |
03.08.2025 WeekendTextEditor |
Создан репозиторий weekendtexteditor. Переделываю Bankviewer в WeekendTextEditor. Для редактирования текста используется JEditorPane. Добавлены пункты меню: "Создать", "Сохранить" и "Сохранить как…". Также добавлены кнопки в инструментальную линейку. При открытии файла проводится проверка наличия изменений в уже открытом файле (если таковой имеется). В меню "Правка" добавлены пункты "Отменить" и "Повторить", активность которых скоординирована с действиями пользователя. Пункт "Вырезать" теперь активизируется, если пользователь выделяет фрагмент редактируемого текста. В меню "Вид" появился пункт "Использовать моноширинный шрифт", "Увеличить шрифт", "Уменьшить шрифт" и "Размер шрифта по умолчанию". Для увеличения шрифта я использую комбинацию Ctrl+Equals, а не Ctrl+Plus, потому что так удобнее на моём ноутбуке. Конечно, не помешало бы подправить систему поиска строки в тексте, сделать возможность искать с заменой. Но на сегодня это всё. |
02.08.2025 Bankviewer |
В меню "Вид" добавлены пункты "Отображать инструментальную линейку" и "Отображать строку состояния". Эти установки сохраняется между запусками программы. Приложение, а точнее, отображённая таблица, теперь открывает контекстное меню при нажатии правой кнопки мыши. |
27.07.2025 Bankviewer |
Добавил возможность открытия файла с помощью технологии Drag and Drop. Для этого в методе BankViewer.makeJEditorPane() создал безымянного наследника DropTarget, в котором определил метод drop(DropTargetDropEvent e). Уложился в несколько строк. Открывать файлы стало удобнее. Теперь, если файл перед вами в Проводнике, то нет необходимости указывать его в JFileChooser, перемещаясь по папкам. Достаточно перетащить файл из Проводника в окно BankViewer, и он будет отображён. Но бывает, что после открытия трех файлов возникает необходимость снова открыть снова первый. Для этого реализовано запоминание последних открытых файлов в пункте меню "Файл" (класс LastFiles). Кроме этого, появился новый пункт меню "Вид". Это возможность установить имеющийся на вашем компьютере Look and Fill. В приложении за это отвечает класс LAF. |
26.07.2025 Bankviewer |
Сделан поиск строки в отображённой таблице. Теперь программа умеет искать в отображённой банковской выписке строки так же, как это умеет делать любой текстовый редактор. Поиск осуществляет класс Finder. Естественно, понадобилось окно для указания строки поиска и каких-то особенностей поиска (вниз, вверх, учитывать ли регистр). Для этого создан класс FinderFrame. Чтобы расположить элементы пользовательского интерфейса в этом окне, идеально подходит менеджер расположения GridBagLayout, но он уж очень "многословен", во всяком случае, мне он таким представился. Поэтому для сокращения количества строк кода я сделал некоторое упрощение GridBagLayout - класс GBL. В случае удачного поиска найденный фрагмент подсвечивается в отображённой таблице, а в случае неудачи выдаётся сообщение в строке состояния. Для реализации строки состояния создан класс StatusBar. Это JPanel с тремя текстовыми полями. Крайне правое отведено для сообщений, а остальные два решено использовать для отображения количества строк и колонок в таблице. В меню и инструментальную линейку добавлены новые пункты/кнопки. Причём пункты "Вырезать" и "Вставить" добавлены только потому, что они присутствуют в большинстве приложений. Конкретно в этом приложении они не работают. Обнаружил, что при нажатии кнопки в инструментальной линейке фокус передаётся на нажатую кнопку. Всё правильно. Но если я выделил текст в таблице и нажал кнопку в инструментальной линейке, то выделение снимается. Неожиданно. К счастью, оказалось это легко исправить вызовом для кнопок линейки setRequestFocusEnabled(false). |
20.07.2025 Bankviewer |
Создал класс Convertor, который преобразует исходный файл банковской выписки в структуру, удобную для отображения. Для генерации тестовых файлов банковской выписки сделал самостоятельную программу TestGenerator. Она находится в пакете game.weekend.bankviewer.util. В тексте программы можно указать имя файла, количество строк банковской выписки, и она сгенерирует тестовый файл. Программа готова! Ей присвоена версия 01.00. |
19.07.2025 Привет, Github и Gitflic! |
Создан профиль weekend-game. Создан репозиторий bankviewer для первого проекта. Это просмотрщик файлов банковской выписки, написанный с использованием Java. Для разработки используется Eclipse. Сделал каркас приложения: создал JFrame как основное окно, расположил в нём JEditorPane для будущего отображения банковской выписки, сделал систему запоминания и восстановления положения окна на экране между запусками программы (класс Proper), создал меню и инструментальную линейку (класс Act), обернул JFileChooser в класс Filer для удобства использования, в главный класс приложения BankViewer вставил методы для отображения сообщений. В результате получил приложение с интерфейсом SDI, которое пока ничего не делает. Собственно, преобразование файла «ключ-значение» в HTML-файл программа пока не содержит. |
|
Главная страница | Просмотр банковских выписок | Текстовый редактор | Интерпретатор | Игра "Осиновый лес" | CMS | Дневник |
Смотрите мои проекты на https://github.com/weekend-game (EN) или https://gitflic.ru/user/weekend-game (RU). Пишите мне по адресу weekend_game@mail.ru |