30 июл. 2013 г.

Резервное копирование баз Firebird

Собственное решение по следам старой дискуссии

Монитор подключений к базам данных Firebird

Случился небольшой перерыв в работе над переводом документации по Windows Ribbon Framework for Delphi. По-моему, прекрасный повод поделиться своими наработками! Критика приветствуется!

Монитор подключений к базам данных Firebird — утилита, позволяющая в реальном времени отслеживать подключения пользователей, состояние соединений и продолжительность текущих сеансов работы пользователей. Может контролировать подключения к одной и более базам данных и, при необходимости, принудительно закрывать «зависшие» соединения.

Для получения необходимой информации утилита использует таблицы мониторинга  (monitoring tables), ничего сверхестественного! Забирать можно здесь (upd. 07-04-2018: исходники доступны на GitHub). 

И немного скриншотов:


26 июл. 2013 г.

Windows Ribbon Framework. Контекстные окна

Перевод. Оригинал Context Popups

В Windows Ribbon Framework под термином "контекстное окно" понимаются контекстные меню и контекстные панели инструментов, которые выводятся, когда пользователь кликнул правой клавишей "мыши" по фрагменту документа.

25 июл. 2013 г.

Windows Ribbon Framework. Вкладки

Перевод. Оригинал Ribbon Tabs

Шаблон WordPad включает в себя три вкладки: Home (Главная), View (Вид) и Print preview (Предварительный просмотр). Если вы решите исследовать эти вкладки, то увидите, что фреймворк поддерживает следующие элементы управления:

Windows Ribbon Framework. Представления

Перевод. Оригинал Designing Ribbon Views

Приступим к собственно проектированию "ленты". Вкладка Views (Представления) окна Ribbon Designer дает вам возможность создания двух видов представлений: непосредственно "ленты" и контектных окон.

Windows Ribbon Framework. Команды

Перевод. Оригинал Specifying Ribbon Commands

В Windows Ribbon Framework представление и логика строго разделены подобно тому, как в Delphi разделены элементы управления (представление) и действия (классы TActionList и TAction). Более того, фреймворк требует, чтобы каждому действию, доступному пользователю, соответствовала команда.