华表CELL组件的应用技能提升

南京天相软件有限公司 朱孝兵
本人所在单位于二○○二年购买了Cell组件, 此期间使用Cell组件开发了不少项目, 现将自己使用的一些感受及经验整理成文, 抛砖引玉之作, 期待得到大家指点 。
安 装 篇
Cell组件是遵循ActiveX标准的控件, 很容易安装到自己的开发环境中 。
【华表CELL组件的应用技能提升】 1、 安装华表公司的Cell组件 。
2、 打开DELPHI, 选择ComponentImport ActiveX Control…菜单 。
3、 在Import ActiveX窗体中选择Cell5.2 ActiveX Control Module选项, 点击最下面的Install…按钮 。
4、 在Package窗体中点击Compile、Install按钮, 退出时选择不保存 。
5、 在控件区的ActiveX页中出现一个Cell图标, 表示安装成功 。
6、 直接将Cell图标拖到Form中即可使用 。
7、 Cell组件提供了几种开发环境中的Demo, 可以直接照办使用, 那基本就是一个现成的产品 。
初 级 篇
初期使用Cell组件进行二次开发, 主要用于表格套打、表格计算、表的控制等功能 。
1、表格套打
许多行政管理部门在发放证书或格式文件管理过程中, 对套打功能要求是比较高的 。 南京建工系统发放的建筑工程竣工备案证书以前就是用Word排个模版, 但是实际内容与模版预留空间不符时, 或者多敲了换行键, 整个格式就乱套了, 工作人员又要重新排版, 反复打印、调试, 真是浪费时间、浪费纸张、浪费精力 。 我们就用Cell组件做了一个模版, 结合业务系统自动提取工程概况, 现在用户点击工程名称, 马上就在屏幕上看到备案证书全部内容, 各单元格中的文字可以用调整大小、自动换行等方法控制展现, 并且只打印原来要手工填写的内容, 大大地提高了工作效率和正确率 。 这点在金山WPS和微软Word、Excel都没有实现 。

华表CELL组件的应用技能提升

文章插图

屏幕登记界面
华表CELL组件的应用技能提升

文章插图

套打预览效果
技术提示:对套打中要控制单元格内容是否打印, 有两种方法:一是最终用户进入单元格属性直接设置 。 二是开发人员使用SetCellPrintHide命令控制打印机是否打印 。
2、表格计算
这一点与Excel的计算功能类似, 就不多说了 。
3、表的控制
最近写一个业务单操作与流程管理对应的软件项目, 要求在一张完整的业务单上, A登记前半部分申报内容, 不能看到后面的记录和审批内容, B只能查看A登记内容的一部分, 且不允许修改A登记的任何内容, 但对自己的内容可以输入, 如此一层一层的控制, 最后F可以看到全部内容, 但仍然不允许修改 。 经过各种试验比较, 最后选用Cell组件完成了这个项目主体框架部分 。 整个程序只用了80多行语句就实现了控制50多种表, 而且结构清晰, 可维护性强, 足以应付将来增加更多业务项目表的功能 。
华表CELL组件的应用技能提升

文章插图

A登记(B试验记录不可见)
华表CELL组件的应用技能提升

文章插图

B试验(A内容部分禁看, 全部禁改)
技术提示:我们首先封闭单元格属性的直接操作, 然后结合各个流程点的操作权限和Cell组件的命令来控制表单的展现形式 。 具体使用的命令如下:SetCellShowHide控制哪些单元格内容在屏幕上显示或隐藏, SetRowUnHidden/SetRowHidden控制哪些行需要显示或隐藏, SetCellInput控制哪些单元格是输入或只读.
提 高 篇
Cell组件作为一个控件, 似乎只能被动地填充数据, 实现表格自身的计算、套打等功能, 很长一段时间我们也就这么用了 。 随着应用的深入, 我们感觉将Cell表格作为宿主程序, 根据用户在表格中输入的内容向我们的开发环境提出请求很有必要, 而且控制更加灵活 。 经过华表公司的介绍, 原来奥秘尽在Cell组件提供的自定义函数中, 我们在自定义函数中可以实现一些表格无法实现的功能, 包括界面控制和后台数据库处理, 使Cell组件完全与我们的开发环境融为一体, 最大限度地发挥Cell组件的功能和表格的便利 。
在From的Create事件中定义函数接口 。
procedure TForm1.FormCreate(Sender: TObject);
var
strFun: WideString;
begin
strFun := '"天相函数" String txInterFace(double n)';
Cell1.DefineFunctions(strFun); //将自定义函数添加至CELL中

推荐阅读