Board logo

Subject: 如何为 CnPack 组件包捐献及移植组件代码 [Print This Page]

Author: Passion    Time: 2007-12-31 23:37     Subject: 如何为 CnPack 组件包捐献及移植组件代码

致愿意为 CnPack 组件包捐献组件代码的朋友

CnPack 组件包一直在开发人员和用户朋友的帮助中不断完善壮大,在此对移植和捐献代码给 CnPack 组件包的朋友表示诚挚的谢意。同时为了 CnPack 组件包的发展,也欢迎有更多的朋友将组件作品捐献出来移植入 CnPack 组件包。

将代码捐献给 CnPack 组件包有以下几个前提条件:
  1. 您同意将您的作品开源。CnPack 的所有产品都是开源免费的。
  2. 组件是 Delphi/Pascal 代码,功能比较典型、强大。
  3. 没有引用其他第三方的商业代码,这点很重要。
  4. 引用了网上其他开源代码时需要注明。

如果您和您的组件作品符合以上几个条件,而您又愿意将组件作品捐献给 CnPack 组件包,那么烦请按下面的步骤来:

将代码移植入 CnPack 组件包的前期步骤:

  1. 确定您的组件分类。CnPack 组件包目前有界面组件、数据库组件、不可视组件、普通公共组件、多语组件、网络通讯组件等几大分类。您也可以先参考我们的组件包源码来确定和您的组件有无重复。
    (关于如何获得 CnPack 的最新代码,请参考网站上的文档中心中的相关文档。)
  2. 写一段关于组件本身的简介,写明分类,并写个简单的例子,发给管理员。这一步的主要目的是让我们了解您的组件作品的功能、规模与用途,以决定是否能加入 CnPack 组件包。
    注:管理员信箱 master@cnpack.org,烦请在主题中标明“CnPack”或“组件”字样(没法子,垃圾邮件太多了)。

如果管理员认为您的组件作品不错,推荐移植,那么烦请您接着按以下步骤来:

  1. 修改各个源文件命名,以 Cn 开头。
  2. 修改组件名称和源文件的其他类名,以 TCn 开头。
  3. 源码要求格式整齐,变量等的命名比较规范,最好按 VCL 代码的格式来。不推荐用匈牙利命名法。
  4. 组件中用到的字符串,如果和界面有关,都要求单独提出来做成字符串常量的格式,以备组件的多语化之用(多语这一步我们来做)。字符串常量以 SCn 开头,中间不用下划线。
  5. 如果您的组件涉及到 Form(比如您为您的组件写组件编辑器需要弹出一个 Form 来处理部分内容),那么烦请将 Form 上的所有字符串也都单独提出来做成字符串常量,并在 Form 的 OnCreate 事件中用字符串常量对界面的各个属性进行赋值。这也是为了组件的多语化之用。
  6. 修改成功后,修改您的例子以适用这些重命名后的组件和源文件。此处例子中的文件名和类名等不需要用 Cn 字样。
  7. 写个帮助文档,简要列出并解释该组件特有的 public 以及 published 的所有属性、方法和事件。文档格式可用文本格式。我们负责将其格式化并将其并入 CnPack 的组件帮助文档中。
  8. 将组件源文件、例子、帮助文档打包发给我们。同时可注明您的姓名、网名和邮箱地址(三部分内容中,您至少需要写一个网名以供我们列入有贡献人员名单)。

其他注意事项:
  1. 您的组件最好能支持 Delphi 5 后的所有 IDE 版本。如果实在不能支持,我们也可以接受从 Delphi 7 开始支持。
  2. 如果您的组件有组件图标 dcr 文件,可以一并发给我们。不过 CnPack 组件包有统一风格的图标,因此您的组件图标可能会被修改一下以符合我们的风格。

我们接受组件后会将其并入 CnPack 组件包,并且在我们的有贡献人员名单中将出现您的名字。

再次感谢您的支持!
Author: kendling    Time: 2008-1-3 15:20

好东西,这个值得学习。。。
Author: 李啸林    Time: 2008-1-27 19:22     Subject: 咬文嚼字

我以为“捐献“ 改 ”贡献“ 更为合适些。

cnPack是一有国际影响的Delphi 辅助工具开源社区。如果你的组件或代码能被cnPack认可,是件光荣的事。做为一名Delphi开发人员,能够为非商业性cnPack做出自己力所能及的帮助,是件值得提倡的事。
Author: Passion    Time: 2008-1-27 20:06

感谢您的意见。
“捐献”,这里特指将原先风格命名等不符合CnPack规范的、但功能比较成熟的个人作品移植入CnPack组件包,而“贡献”则泛指参与CnPack开发,贡献者可以没有自己原始的作品,而直接在CnPack的需求上开发。两者还是有点儿区别的。
Author: ouyongke    Time: 2008-9-20 18:14

没错 没错,还是有区别的,我没有能力“捐献”,有时间时贡献一下还是不错的
Author: 0.2    Time: 2009-3-29 19:29

强烈支持
Author: xzhifei    Time: 2009-7-16 10:12

好,俺也捐献一个农历控件
Author: Passion    Time: 2009-7-16 13:54

目前CnMonthCalendar组件已经支持了部分农历功能,楼上可以看看?
Author: zsdentist    Time: 2015-12-4 22:22

目前CnMonthCalendar组件已经支持了部分农历功能 。但还是怀念lsscalendar




Welcome to CnPack Forum (http://bbs.cnpack.org/) Powered by Discuz! 5.0.0