Ссылка на сайт > в Dynalist (MarkDown Link To Dynalist) — расширение для Google Chrome позволяет сохранить в буфере обмена ссылку на сайт, который открыт на активной вкладке Google Chrome, в формате MarkDown для дальнейшей её вставки в Dynalist или в любом другом месте. (далее…)
Метка: github
Шаблон программы: два раздела с управлением через дерево меню
В этой заметке предлагаю вашему вниманию шаблон программы, который реализует прототип программы, представляющей два функциональных раздела «Команды» и «Настройка программы«, действия в которых можно производить через дерево меню.
Шаблон включает в себя уже как описанные ранее «полезности», так и многое нового. В программе можно найти: возможность сохранения настроек программы в xml-файле настроек в «своей» папке раздела Program Data, ведение настраиваемого лог-файла, апдейт файла настроек при изменении версии программы, упакованная иконка программы, состоящая из иконок различного размера для разного представления, подраздел «О программе» в разделе «Настройка программы«, в котором показано как можно использовать иллюстрации и ссылки на сайты и т.д. (далее…)
Работа с базами данных: MS Access
• Работа с БД FireBird
• Работа с БД SQLite
• Работа с БД MS Access
Для примера работы с БД MS Access я использую предыдущий проект текущего цикла заметок. Новый проект называется WorkWithDB_MSAccess. Файл БД создаётся при первом запуске программы. Дополнительно, как и предыдущие проекты, этот проект имеет встроенный логгер для визуального сопровождения хода действия программы и механизм использования настроек программы. Проект, приводимый в качестве примера, полностью рабочий и его можно забрать с GitHub-а. (далее…)
Работа с базами данных: SQLite
• Работа с БД FireBird
• Работа с БД SQLite
• Работа с БД MS Access
Пример, которым я буду демонстрировать работу с БД SQLite из java, работает с файлом БД «database.db«, находящимся в корне программы (для простоты). Файл БД создаётся при первом запуске. Этот проект имеет встроенный логгер для визуального сопровождения хода действия программы и механизм использования настроек программы.
За основу взят предыдущий проект данной тематики с некоторыми доработками и улучшениями. Проект, приводимый в качестве примера, полностью рабочий и его можно забрать с GitHub-а. (далее…)
Мои типовые программные заготовки: сохранение настроек «на стороне»
• Ведение лога
• Сохранение настроек
• Сохранение настроек «на стороне»
• Индикация процесса
Если взять мою запись «Мои типовые программные заготовки: сохранение настроек«, то для высших версий Windows, начиная с 8-ой, способ сохранения файла настроек в корневой папке размещения программы не совсем будет правильным. Ведь для этих версий Windows, чтобы всё работало как надо, дополнительно требуется специальная настройка папки с программой, чтобы была возможность производить изменения в файлах и манипулировать служебными файлами. Так, например, если будет произведена штатная установка программы в «Program Files«, то изменять из программы (а тем более из запускаемых модулей), содержимое любых файлов будет запрещено. Для подобных манипуляций со служебными файлами есть специальные резервации, например, раздел «Мои документы«, «Local Application«, «Application Data» и т.п. (далее…)
Работа с базами данных: FireBird
• Работа с БД FireBird
• Работа с БД SQLite
• Работа с БД MS Access
Чтобы каждый раз не искать наработки «общения» с базами данных, решил запустить небольшой цикл записей, как минимум трилогию, посвященных особенностям работы с используемыми мной БД. В каждой статье будет необходимая и достаточная информация, чтобы использовать БД. Тонкостей не обещаю, глубин — также, но информации хватит, чтобы сразу подобраться к данным БД. Проект, приводимый в качестве примера, полностью рабочий и его можно будет забрать с GitHub-а. (далее…)
Мои типовые программные заготовки: индикация процесса
• Ведение лога
• Сохранение настроек
• Сохранение настроек «на стороне»
• Индикация процесса
Продолжит мои программные заготовки типовой проект, не имеющий своего GUI, но из-за того, что выполнение задачи может занимать какое-то время, было бы желательно видеть, что некий процесс выполняется. Такой шаблон очень удобно использовать при программировании внешних java-модулей для запуска их из других программ. Именно такое использование java-модулей, как расширение уже существующей функциональности программы, написанной на Delphi, мне приходится постоянно применять. (далее…)
Мои типовые программные заготовки: сохранение настроек
• Ведение лога
• Сохранение настроек
• Сохранение настроек «на стороне»
• Индикация процесса
Настройки программы можно сохранять множеством способов. В данной заметке я рассмотрю один из них, а именно — сохранение настроек во внешнем xml-файле. Этот пример будет полезен также опытом работы с xml-файлами. При таком способе нет необходимости проводить дополнительные программные мероприятия по оформлению процедуры изменения настроек в самой программе. Настройки можно легко изменить через любой текстовый редактор. У этого способа есть и достоинства и недостатки, но своя ниша для использования у него бесспорно есть. (далее…)
Мои типовые программные заготовки: ведение лога
• Ведение лога
• Сохранение настроек
• Сохранение настроек «на стороне»
• Индикация процесса
Каждый раз, когда начинается новый проект, программист практически всегда хаотически ищет в своих закромах: какой-такой проект можно использовать, чтобы не «придумывать велосипед». Иногда бывает, что такой проект есть, иногда, — что вернуть существующее решение под текущие нужды сложнее, чем написать с нуля. Эти проблемы меня затрагивают не в меньшей степени, поэтому перед очередным проектом решил сразу создать коллекцию типовых проектов-заготовок с минимальным набором необходимого инструментария. (далее…)
Вызов методов из Java классов в Delphi
В продолжение темы Java-Delphi (см. о вызове из Java функций DLL-delphi) на сей раз публикую решение зеркальной задачи — вызов из Delphi методов Java классов. Резоны для этого могут быть самые разные, для меня, как застарелого делфиста, важен единственный — хочу писать только на Java. Поэтому при сопровождении delphi-программ делаю функциональные расширения максимально на Java, если пользователи захотят воспользоваться новым функционалом — поставят Java… В дальнейшем планирую портировать полностью сопровождаемые программы на Java и при таком подходе сделать это будет гораздо проще. (далее…)