華表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中

推薦閱讀