2. Темы проектов

2.1. 1. Компонент графического оформления приложения

2.1.1. Целевая установка

Разработать невизуальный компонент, обеспечивающий графическое оформление приложения.

2.1.2. Требования и ограничения

  • "заливка" главной формы приложения фоновым рисунком из графического файла формата jpg;

  • настройка режима выбора случайного файла из файлов, находящихся в определенной папке приложения;

  • настройка режима "заливки": растягивание, размещение по центру и "укладка плиткой" (аналогично фоновому рисунку экрана);

  • настройка цветовой палитры элементов управления форм приложения;

  • вызов диалога настройки параметров компонента;

  • сохранение параметров в реестре.

2.2. 2. Компонент чтения новостей из ленты RSS

2.2.1. Целевая установка

Разработать невизуальный компонент, обеспечивающий чтение новостей из ленты формата RSS.

2.2.2. Требования и ограничения

  • полная поддержка стандарта RSS;

  • настройка адреса ленты и параметров принимаемых новостей (тема, дата и т.д.);

  • выгрузка прочитанных данных в таблицу, размещаемую в памяти;

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

2.3. 3. Компонент отображения изображения из двоичных полей баз данных

2.3.1. Целевая установка

Разработать компонент-аналог (или наследник) компонента TDBImage, обеспечивающий чтение и отображение изображения, содержащегося в двоичном поле базы данных.

2.3.2. Требования и ограничения

  • поддержка форматов bmp и jpg;

  • автоматическое распознавание формата по сигнатуре поля.

2.4. 4. Компонент-построитель графиков

2.4.1. Целевая установка

Разработать графический элемент управления, обеспечивающий построение графиков.

2.4.2. Требования и ограничения

  • построение произвольного количества графиков;

  • значение каждой ординаты (по оси Y) вычисляется в специальном событии;

  • автоматическое определение количества точек абсциссы по ширине компонента;

  • задание области определения (по оси X);

  • установка цвета каждого графика в специальном событии;

2.5. 5. Компонент отображения иерархических структур из базы данных

2.5.1. Целевая установка

Разработать компонент-наследник TTreeView, обеспечивающий отображение иерархических данных из таблицы реляционной базы данных.

2.5.2. Требования и ограничения

  • таблица отображаемых элементов имеет как минимум 3 поля – целочисленный идентификатор элемента, его название, целочисленный идентификатор родительского элемента;

  • ветви дерева подгружаются по мере обращения к подчиненным элементам (при распахивании родительского элемента);

  • база данных содержит таблицу детализации элементов, содержание котрой показывается при выборе определенной ветви дерева.

2.6. 6. Компонент генеалогического дерева

2.6.1. Целевая установка

Разработать графический элемент управления, являющийся узлом генеалогического дерева.

2.6.2. Требования и ограничения

  • хранит и отображает фамилию, имя, отчество и пол человека;

  • обеспечивает связь со следующими элементами: супруг, мать, отец.

  • установленные связи изображаются графически прямыми линиями.

2.7. 7. Трехмерный элемент корпусной мебели

2.7.1. Целевая установка

Разработать компонент, моделирующий трехмерное изображение элемента корпусной мебели.

2.7.2. Требования и ограничения

  • элемент изображается в аксонометрической (прямоугольной изометрической) проекции;

  • внешний вид элемента задается следующими параметрами: ширина, высота, глубина, цвет фасада, цвет боковых стенок.

2.8. 8. Графический компонент с логотипом

2.8.1. Целевая установка

Разработать компонент (наследник TImage), обеспечивающий автоматическое добавление к графическим файлам изображения логотипа.

2.8.2. Требования и ограничения

  • изображение логотипа храниться в специальном свойстве компонента;

  • логотип поддерживает прозрачность;

  • логотип добавляется в изображение сразу после загрузки файла;

  • при сохранении графического изображения в файл логотип тоже записывается;

  • положение логотипа может изменяться по вертикали (внизу, наверху) и по горизонтали (слева, справа).

2.9. 9. Графический таймер с обратным отсчетом

2.9.1. Целевая установка

Разработать компонент, имитирующий изображение стрелочного таймера с обратным отсчетом.

2.9.2. Требования и ограничения

  • таймер устанавливается на время в диапазозе 1-59 секунд;

  • при старте таймера стрелка перемещается в соответствии с истекшим временем;

  • последние 5 секунд сопровождаются коротким сигналом (гудком);

  • последний (6-й) гудок (при истекшем времени) имеет более высокий тон и большую продолжительность.

2.10. 10. Просмотрщик гитарных аккорды

2.10.1. Целевая установка

Разработать компонент, графически изображающий основные гитарные аккорды.

2.10.2. Требования и ограничения

  • поддерживаются основные минорные и мажорные трезвучия всех тональностей;

  • графически отображаются 6 струн и пронумерованные лады шестиструнной гитары;

  • лады, на которых прижимаются струны, изображаются с черными точками;

  • аккорд изображается своим условным обозначением.

2.11. 11. Генератор гармонических гамм

2.11.1. Целевая установка

Разработать невизуальный компонент, позволяющий генерировать гаммы различной тональности.

2.11.2. Требования и ограничения

  • поддерживаются минорные и мажорные гармонические гаммы всех 12-и тональностей;

  • октава гаммы и продолжительность нот задается в свойствах компонента.

2.12. 12. Компонент редактирования данных с автоматическим словарем

2.12.1. Целевая установка

Разработать компонент, обеспечивающий редактирование данных с поддержкой автоматически формирующегося словаря.

2.12.2. Требования и ограничения

  • словарь формируется в алфавитной последовательности

  • в словарь попадают все неповторяющиеся значения из поля редактируемой таблицы.

2.13. 13. Компонент автоматического расчета концентрации раствора

2.13.1. Целевая установка

Разработать компонент, графически изображающий цилиндрический сосуд, частично или полностью заполненный цветной жидкостью.

2.13.2. Требования и ограничения

  • уровень жидкости отображается в соответствии с наполнением сосуда;

  • жидкость в сосуде представляет собой раствор 100-процентного концентрированного вещества (концентрата) в прозрачном растворителе;

  • цвет концентрата задается в свойстве компонента;

  • по соотношению концентрата и растворителя автоматически вычисляется концентрация раствора, которая отображается численно (в процентах) и влияет на цвет раствора в сосуде (чем меньше концентрация, тем светлее раствор).

2.14. 14. Графический анализатор спектра

2.14.1. Целевая установка

Разработать графический элемент управления, отображающий спектральный состав звукового сигнала.

2.14.2. Требования и ограничения

  • входной звуковой сигнал берется с выхода звуковой карты компьютера;

  • звуковой сигнал с помощью быстрого преобразования Фурье переводится в спектральную область и графически отображается в компоненте.

2.15. 15. Компонент фотографическая виньетка

2.15.1. Целевая установка

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

2.15.2. Требования и ограничения

  • маска имеет овальную форму по размеру изображения;

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

  • маска накладывается с "размытыми" краями, степень "размытости" задается в свойстве компонента.

2.16. 16. Компонент автоматического обновления приложения

2.16.1. Целевая установка

Разработать невизуальный компонент, обеспечивающий контроль версии приложения и его автоматическое обновление в случае наличия на сервере более новой версии.

2.16.2. Требования и ограничения

  • сравнение номеров версий запущенного приложения и его дистрибутивной копии на сервере;

  • копирование новой версии приложения на компьютер пользователя и запуск приложения новой версии;

  • реакция на изменение номера версии приложения задается свойствами компонента (загружать ли новую версию при изменении основного номера версии, мажорного (второго) номера версии, минорного (третьего) номера, номера сборки (четвертого)).

2.17. 17. Элемент технологического оборудования бункер с материалом

2.17.1. Целевая установка

Разработать графический элемент управления, имитирующий бункер, заполненный сыпучим материалом.

2.17.2. Требования и ограничения

  • бункер представляет собой цилиндрическую емкость с условно прозрачными стенками;

  • уровень материала отображается в соответствии с объемом бункера и объемом находящегося в нем материала;

  • цвет материала задается в свойстве компонента;

  • бункер оборудован датчиком минимально допустимого уровня материала, положение датчика задается свойством компонента и отображается графически в виде пунктирной линии;

  • при уменьшении объема материала ниже допустимого уровня срабатывает датчик и происходит специальное событие.

2.18. 18. Элемент технологического оборудования ленточный транспортер

2.18.1. Целевая установка

Разработать графический элемент управления, имитирующий ленточный транспортер.

2.18.2. Требования и ограничения

  • транспортер расположен горизонтально и может двигаться вправо;

  • правый валик транспортера является ведущим, транспортер включается и выключается щелчком мыши над ведущим валиком;

  • движение транспортера отображается изменением цвета ведущего валика и имитацией вращения валиков.

2.19. 19. Элемент технологического оборудования винтовой транспортер (шнек)

2.19.1. Целевая установка

Разработать графический элемент управления, имитирующий винтовой транспортер.

2.19.2. Требования и ограничения

  • транспортер расположен горизонтально и может перемещать материал вправо;

  • транспортер включается и выключается щелчком мыши;

  • движение транспортера отображается изменением цвета и имитацией вращения винта (шнека).

2.20. 20. Элемент технологического оборудования выгружающий затвор

2.20.1. Целевая установка

Разработать графический элемент управления, имитирующий затвор (открывающийся люк), выгружающий материал.

2.20.2. Требования и ограничения

  • затвор представляет собой люк с отодвигающейся в сторону крышкой;

  • затвор отрывается и закрывается щелчком мыши;

  • цвет выгружаемого материала задается свойством компонента и/или битовым изображением;

  • в открытом состоянии крышка затвора меняет цвет, из люка затвора выгружается материал (выгрузка материала изображается движением цветовых переходов материала и/или движением фактуры).