Закажите услуги фрилансеров для вашего проекта прямо сейчас!

Размещение заказа на фриланс бирже бесплатно.

10 лет назад
Илья
33 года, Россия
11 лет в сервисе
Был онлайн 9 лет назад
1 отзыв
10 лет назад

Разработка компонентов для работы с БД для Delphi 2009-XE

Необходимо разработать 3 компонента на основе DataAccess(dbExpress и MySQL) и AlphaSkins (). Очень желательно в дополнение к компонентам сделать рабочую демку.

Необходимые компоненты:
1) TsDBTreeView:
Дерево, хранящееся в БД. Наследник TsTreeView. Использует 1 БД - список разделов. Ее структура: id, id родителя, id фильтра, название раздела.
Полностью за исключением фильтрации реализован на форуме AlphaSkins(ссылка ниже). Элементы можно удалять и добавлять - изменения вносятся в БД. Каждый элемент дерева имеет фильтр. По задумке при выборе элемента дерева его фильтр должен отображаться в TsDBFilter, а список TsDBListView - наполняться значениями в соответствии с фильтром. У элемента с пустым фильтром должен быть один ImageIndex, у элемента с непустым - другой.

2) TsDBListView:
Список для отображения записей из БД. Наследник TsListView. Использует 2 БД - фильтр и список элементов. Структура БД элементов: id, поле1, поле2... Название поля БД хранится в колонке списка.
Выбирает и отображает записи в соответствии с фильтром. Должен поддерживать пагинацию, т.е. отображать лимитированное число элементов с возможностью выбрать количество записей на странице и номер страницы пагинации. Должна быть возможность отредактировать значение того или иного поля - при этом в БД вносятся изменения.

3) TsDBFilter:
Визуальный Компонент для редактирования фильтра для отображаемых записей из БД. Думаю, что так же наследник TsTreeView. Структуру БД нужно будет придумать. Скорее всего она будет похожей на древовидную структуру разделов.
Отображает фильтр для текущего выбранного в TsDBTreeView элемента. Текущий корневой элемент фильтра содержит отдельные элементы фильтра и группы элементов. Элемент фильтра - это тройка "название поля"-"условие"-"значение". Условия для фильтра бывают: равен, не равен, меньше Чем, меньше чем или равен, больше чем, больше чем или равен, содержит, не содержит, определен (не пустой), не определен (пустой). Считается, элементы фильтра в данной группе объединяются с условиями И, И НЕ, ИЛИ, ИЛИ НЕ. Должна быть возможность редактировать фильтр средствами Object Pascal. Фильтр должен выдавать строку SQL-кода, подставив которую вместо ... в запрос "SELECT * FROM table WHERE ..." - мы получим элементы в TsDBListView. Примерный вид, как хотелось бы видеть фильтр, показан на рисунке.

За основу код можно взять из компонентов JVCL () и компонентов для работы с БД с форума AlphaSkins ( и ).

Было бы замечательно всё реализовывать на основе компонентов TsListView и TsTreeView, у которых к каждому свойству Data у TTreeNode и у TListItem привязан управляющий объект, с которым так же можно работать.

Код должен быть автономен от неродных для Delphi пакетов кроме AlphaSkins.

  1. Прием заявок
  2. Выбор исполнителя
  3. Выполнение заказа
  4. Обмен отзывами

Нет заявок

Другие заказы в категории «Прикладное ПО»

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