亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

華表CELL組件的應(yīng)用

 更新時(shí)間:2006年12月17日 00:00:00   作者:  
南京天相軟件有限公司    朱孝兵

本人所在單位于二○○二年購(gòu)買了Cell組件,此期間使用Cell組件開發(fā)了不少項(xiàng)目,現(xiàn)將自己使用的一些感受及經(jīng)驗(yàn)整理成文,拋磚引玉之作,期待得到大家指點(diǎn)。
安 裝 篇
Cell組件是遵循ActiveX標(biāo)準(zhǔn)的控件,很容易安裝到自己的開發(fā)環(huán)境中。
1、安裝華表公司的Cell組件。
2、打開DELPHI,選擇ComponentImport ActiveX Control…菜單。
3、在Import ActiveX窗體中選擇Cell5.2 ActiveX Control Module選項(xiàng),點(diǎn)擊最下面的【Install…】按鈕。
4、在Package窗體中點(diǎn)擊【Compile】、【Install】按鈕,退出時(shí)選擇不保存。
5、在控件區(qū)的ActiveX頁(yè)中出現(xiàn)一個(gè)Cell圖標(biāo),表示安裝成功。
6、直接將Cell圖標(biāo)拖到Form中即可使用。
7、Cell組件提供了幾種開發(fā)環(huán)境中的Demo,可以直接照辦使用,那基本就是一個(gè)現(xiàn)成的產(chǎn)品。
初 級(jí) 篇
初期使用Cell組件進(jìn)行二次開發(fā),主要用于表格套打、表格計(jì)算、表的控制等功能。
1、表格套打
許多行政管理部門在發(fā)放證書或格式文件管理過程中,對(duì)套打功能要求是比較高的。南京建工系統(tǒng)發(fā)放的建筑工程竣工備案證書以前就是用Word排個(gè)模版,但是實(shí)際內(nèi)容與模版預(yù)留空間不符時(shí),或者多敲了換行鍵,整個(gè)格式就亂套了,工作人員又要重新排版,反復(fù)打印、調(diào)試,真是浪費(fèi)時(shí)間、浪費(fèi)紙張、浪費(fèi)精力。我們就用Cell組件做了一個(gè)模版,結(jié)合業(yè)務(wù)系統(tǒng)自動(dòng)提取工程概況,現(xiàn)在用戶點(diǎn)擊工程名稱,馬上就在屏幕上看到備案證書全部?jī)?nèi)容,各單元格中的文字可以用調(diào)整大小、自動(dòng)換行等方法控制展現(xiàn),并且只打印原來(lái)要手工填寫的內(nèi)容,大大地提高了工作效率和正確率。這點(diǎn)在金山WPS和微軟Word、Excel都沒有實(shí)現(xiàn)。

屏幕登記界面                                套打預(yù)覽效果
技術(shù)提示:對(duì)套打中要控制單元格內(nèi)容是否打印,有兩種方法:一是最終用戶進(jìn)入單元格屬性直接設(shè)置。二是開發(fā)人員使用SetCellPrintHide命令控制打印機(jī)是否打印。

2、表格計(jì)算
這一點(diǎn)與Excel的計(jì)算功能類似,就不多說了。
3、表的控制
最近寫一個(gè)業(yè)務(wù)單操作與流程管理對(duì)應(yīng)的軟件項(xiàng)目,要求在一張完整的業(yè)務(wù)單上,A登記前半部分申報(bào)內(nèi)容,不能看到后面的記錄和審批內(nèi)容,B只能查看A登記內(nèi)容的一部分,且不允許修改A登記的任何內(nèi)容,但對(duì)自己的內(nèi)容可以輸入,如此一層一層的控制,最后F可以看到全部?jī)?nèi)容,但仍然不允許修改。經(jīng)過各種試驗(yàn)比較,最后選用Cell組件完成了這個(gè)項(xiàng)目主體框架部分。整個(gè)程序只用了80多行語(yǔ)句就實(shí)現(xiàn)了控制50多種表,而且結(jié)構(gòu)清晰,可維護(hù)性強(qiáng),足以應(yīng)付將來(lái)增加更多業(yè)務(wù)項(xiàng)目表的功能。

A登記(B試驗(yàn)記錄不可見)

B試驗(yàn)(A內(nèi)容部分禁看,全部禁改)
技術(shù)提示:我們首先封閉單元格屬性的直接操作,然后結(jié)合各個(gè)流程點(diǎn)的操作權(quán)限和Cell組件的命令來(lái)控制表單的展現(xiàn)形式。具體使用的命令如下:SetCellShowHide控制哪些單元格內(nèi)容在屏幕上顯示或隱藏,SetRowUnHidden/SetRowHidden控制哪些行需要顯示或隱藏,SetCellInput控制哪些單元格是輸入或只讀。
提 高 篇
Cell組件作為一個(gè)控件,似乎只能被動(dòng)地填充數(shù)據(jù),實(shí)現(xiàn)表格自身的計(jì)算、套打等功能,很長(zhǎng)一段時(shí)間我們也就這么用了。隨著應(yīng)用的深入,我們感覺將Cell表格作為宿主程序,根據(jù)用戶在表格中輸入的內(nèi)容向我們的開發(fā)環(huán)境提出請(qǐng)求很有必要,而且控制更加靈活。經(jīng)過華表公司的介紹,原來(lái)奧秘盡在Cell組件提供的自定義函數(shù)中,我們?cè)谧远x函數(shù)中可以實(shí)現(xiàn)一些表格無(wú)法實(shí)現(xiàn)的功能,包括界面控制和后臺(tái)數(shù)據(jù)庫(kù)處理,使Cell組件完全與我們的開發(fā)環(huán)境融為一體,最大限度地發(fā)揮Cell組件的功能和表格的便利。
在From的Create事件中定義函數(shù)接口。
procedure TForm1.FormCreate(Sender: TObject);
var
  strFun: WideString;
begin
strFun := ''"天相函數(shù)" String txInterFace(double n)'';
  Cell1.DefineFunctions(strFun);  //將自定義函數(shù)添加至CELL中
  strFun := ''"天相函數(shù)" Double txGetDb(double n)'';
  Cell1.DefineFunctions(strFun);
End;
在Cell的自定義函數(shù)事件CalcFunc中定義函數(shù)的實(shí)現(xiàn)功能。CalcFunc事件根據(jù)表格中輸入內(nèi)容確認(rèn)時(shí)立即觸發(fā)的機(jī)制實(shí)現(xiàn)與開發(fā)環(huán)境的互動(dòng)。而Cell內(nèi)置函數(shù)對(duì)CalcFunc事件無(wú)效,華表公司在這點(diǎn)上設(shè)計(jì)的非常合理。
procedure TForm1.Cell1CalcFunc(Sender: TObject; const name: WideString;
  rettype, paranum: Integer);
begin
if name=' txInterFace' then    //執(zhí)行界面操作的自定義函數(shù)
    begin
      Application.CreateForm(TForm2, Form2);
      Form2.ShowModal;
      Form2.Free;
Cell1.SetFuncResult(1, ''調(diào)用窗體成功!'', 1);
//由于函數(shù)定義返回類型為string,所以實(shí)際返回‘調(diào)用窗體成功!'
    end;
    if name=''txGetDb'' then    //執(zhí)行數(shù)據(jù)庫(kù)操作的自定義函數(shù)
      with DataModal do
      begin
        if spTmp.Active then spTmp.Close;
// spTmp是ADOStoredProc的實(shí)例。返回從存儲(chǔ)過程獲取的數(shù)據(jù)
        spTmp.ProcedureName:= ''PJC_SET_TRPT'';
        spTmp.Parameters.Refresh;
        spTmp.Parameters.ParamValues[''@XBH'']:= ''1010'';
        spTmp.Parameters.ParamByName(''@RBH'').Direction:= pdOutput;
        spTmp.ExecProc;
        Cell1.SetFuncResult(spTmp.Parameters.ParamValues[''@RBH''], '''', 0);
        spTmp.Close;
      end;
end;

下面是實(shí)際使用情況。

在Cell表格中輸入“=”號(hào),彈出公式框,通過“?”按鈕選擇txInterFace函數(shù)或直接輸入txInterFace函數(shù),最后選擇“√” 按鈕,將立即觸發(fā)CalcFunc事件中的txInterFace函數(shù)執(zhí)行體,彈出Form2窗體,在Form2窗體你可以盡情地做自己的事啦。
使用自定義函數(shù)的另一個(gè)好處就是別人沒法拷走你的表格,因?yàn)闆]有你的程序配合就無(wú)法實(shí)現(xiàn)表格獨(dú)特的功能。
總而言之,我們已經(jīng)利用Cell組件的強(qiáng)大功能解決了許多實(shí)際問題。

相關(guān)文章

最新評(píng)論