Looking for a scheduling/calendar component

孤者浪人 提交于 2019-12-21 20:29:53

问题


I'm looking for a custom visual component for Delphi 7 which handles scheduling on a calendar. I'm not looking for an actual calendar, and I'm definitely not looking for some overhauled licensed component. I just want a simple visual component, with a trackbar-like list of items. For example, along the left, I could have employee names listed. Each of those records stretches across the control. To the right, the X axis represents time, and each employee (Y Axis) record could have multiple time periods (start..finish), which are not only displayed to the right of the employee, but also user can resize each period, drag them, delete them, etc. It's obviously going to be used for that exact purpose, for scheduling employee hours. I don't need anything which is integrated with anything else, such as database, I can do all that work myself. I just want a simple control that can be used for visually creating such a schedule.


回答1:


Visual Plan-It sounds like it might fit the bill. It's one of the old TurboPower Software component libraries they were nice enough to make open-source when they went out of the VCL business.

You didn't mention what version of Delphi, but AFAIK the above works with all versions of Delphi through 7. You may be able to find an updated version for D2009 and above (with Unicode support) if you search around a bit.

EDIT: After looking at Visual Plan-It, it appears there are only a few changes you have to make to get it to compile under XE2. If you open the Delphi 7 package (v103_d7.dpk) and then choose Install from the Project Manager context menu, you'll get an error on many lines containing a pointer dereference operator (^) as in List^; simply remove the operator leaving the member name, as in List.

The remaining errors are related to an invalid call to inherited; (changing it to inherited SetPointer(Ptr, Size); instead fixes it, and a call to LoadBitmap that complains about incompatible types: PWideChar and PAnsiChar - this one just requires changing LoadBitmap to LoadBitmapA, as the param passed to the function that calls it is declared as receiving a PAnsiChar parameter.

You'll also need to write your own descendent of TVpCustomDataStore (see VpBaseDS.pas) to handle data storage; the demos use a BDE or Flex database, and since I don't have either of them installed I can't give you a screen capture. I may have a version installed for D7 or 2007 at my office; I'll check tomorrow, and if so update my answer then.



来源:https://stackoverflow.com/questions/7882803/looking-for-a-scheduling-calendar-component

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!