Ищите компонент календаря / календаря - PullRequest
3 голосов
/ 25 октября 2011

Я ищу пользовательский визуальный компонент для Delphi 7, который обрабатывает планирование в календаре.Я не ищу актуальный календарь, и я определенно не ищу какой-то пересмотренный лицензионный компонент.Я просто хочу простой визуальный компонент с трекбарным списком элементов.Например, слева можно указать имена сотрудников.Каждая из этих записей простирается через контроль.Справа ось X представляет время, и каждая запись сотрудника (ось Y) может иметь несколько периодов времени (начало..конец), которые отображаются не только справа от сотрудника, но и пользователь может изменять размер каждого периода,перетащите их, удалите их и т. д. Очевидно, он будет использоваться именно для этой цели, для планирования рабочего времени сотрудников.Мне не нужно ничего, что интегрировано с чем-либо еще, например, с базой данных, я могу делать всю эту работу самостоятельно.Я просто хочу простой элемент управления, который можно использовать для визуального создания такого расписания.

1 Ответ

8 голосов
/ 25 октября 2011

Визуальный план-Это звучит так, как будто это может соответствовать всем требованиям. Это одна из старых библиотек компонентов TurboPower Software, которые были достаточно хороши, чтобы делать их открытыми, когда они выходили из бизнеса VCL.

Вы не упомянули, какая версия Delphi, но AFAIK вышеупомянутое работает со всеми версиями Delphi до 7. Вы можете найти обновленную версию для D2009 и выше (с поддержкой Unicode), если поискать немного .

РЕДАКТИРОВАТЬ: После просмотра Visual Plan-It, кажется, есть только несколько изменений, которые вы должны сделать, чтобы заставить его скомпилировать под XE2. Если вы откроете пакет Delphi 7 (v103_d7.dpk) и затем выберете Install из контекстного меню Project Manager, вы получите ошибку во многих строках, содержащих оператор разыменования указателя (^), как в List^ ; просто удалите оператора, оставив имя члена, как в List.

Остальные ошибки связаны с неправильным вызовом inherited; (вместо него вместо inherited SetPointer(Ptr, Size); исправляется и вызов LoadBitmap с жалобой на incompatible types: PWideChar and PAnsiChar - для этого просто нужно изменить LoadBitmap на LoadBitmapA, поскольку параметр, переданный функции, которая вызывает его, объявляется как получающий параметр PAnsiChar.

Вам также потребуется написать собственный потомок TVpCustomDataStore (см. VpBaseDS.pas) для хранения данных; Демо-версии используют базу данных BDE или Flex, и, поскольку у меня нет ни одной из них, я не могу сделать снимок экрана. У меня может быть установлена ​​версия для D7 или 2007 в моем офисе; Завтра проверю, и если да, то обновлю свой ответ.

...