【问题标题】:Looking for a scheduling/calendar component寻找日程安排/日历组件
【发布时间】:2011-10-24 22:39:10
【问题描述】:

我正在寻找用于处理日历日程安排的 Delphi 7 的自定义可视化组件。我不是在寻找一个实际的日历,我绝对不是在寻找一些经过大修的许可组件。我只想要一个简单的视觉组件,带有类似轨迹栏的项目列表。例如,在左侧,我可以列出员工姓名。这些记录中的每一个都跨越控件。右边,X轴代表时间,每个员工(Y轴)记录可以有多个时间段(start..finish),不仅显示在员工右侧,还可以调整每个时间段的大小,拖动它们,删除它们,等等。它显然将用于那个确切的目的,用于安排员工工作时间。我不需要与其他任何东西(例如数据库)集成的任何东西,我可以自己完成所有工作。我只想要一个简单的控件,可以用来直观地创建这样的时间表。

【问题讨论】:

    标签: delphi user-controls calendar scheduling


    【解决方案1】:

    Visual Plan-It 听起来可能符合要求。这是旧的 TurboPower Software 组件库之一,当他们退出 VCL 业务时,它们已经足够开源了。

    您没有提到 Delphi 的哪个版本,但上面的 AFAIK 适用于 Delphi 到 7 的所有版本。如果您搜索一下,您可能能够找到 D2009 及更高版本(支持 Unicode)的更新版本.

    编辑:查看 Visual Plan-It 后,您似乎只需进行一些更改即可使其在 XE2 下编译。如果您打开 Delphi 7 包 (v103_d7.dpk),然后从 Project Manager 上下文菜单中选择 Install,您将在包含指针取消引用运算符 (^) 的许多行上收到错误,如 List^ ;只需删除留下成员名称的运算符,如List

    其余错误与对inherited; 的无效调用有关(将其更改为inherited SetPointer(Ptr, Size); 来修复它,以及对LoadBitmap 的调用抱怨incompatible types: PWideChar and PAnsiChar - 这个只需将LoadBitmap 更改为LoadBitmapA,因为传递给调用它的函数的参数被声明为接收PAnsiChar 参数。

    您还需要编写自己的 TVpCustomDataStore 后代(参见 VpBaseDS.pas)来处理数据存储;演示使用 BDE 或 Flex 数据库,由于我没有安装它们中的任何一个,我无法给您截屏。我的办公室可能安装了 D7 或 2007 版本;明天我会检查,如果是,请更新我的答案。

    【讨论】:

    • 另一个必要的改变是在 VpNavBar, TVpCustomNavBar.Paint Var Offset;我更改为 AOffset 以避免使用与过程稍后出现的 TRect.Offset 方法相同的名称。 ~2298、2300、2302、2303、2305、2466、2467、2468行
    • 我可以在 Delphi 2010 上使用 Visual Plan-It 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-06
    • 2020-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-17
    相关资源
    最近更新 更多