然後在TLB是添加ShowCrossReport方法,參數如下,其中:ConStr為數據庫的連接字符串,Command為SQL查詢語句,ReportFile是
最後,翻譯項目得到Dll文件,拷貝到服務器上並注冊。服務器組件就完成了。接著,來段演示代碼。先創建一個報表模板,並保存到服務器上,命名為rpt1.frf然後是
其它版本或其它導出控件可按此方法修改(導出Excel控件因使用OLE技術調用Excel組件,只能保存到磁盤文件),修改後的OnEndDoc函數如下:proce
再寫一個簡單的測試用例(Test Case):TTestNumbericSerialNumberGenerator1procedure TTestNumber
再運行,Test Case通過!第一個任務完成了。注意上面代碼中的repeated,當流水號到了結束值時,應遞進更高位。任務列表支持可循環的數字序列(001’
呵呵,到了高潮部分了,我們先寫一段測試案例來測試組合流水號:TTestCompositeSerialNumberGenerator1procedure TTe
我們來想想TSerialNumberGenerator的這兩個方法應該如何實現。我們只要運用組合模式(Composite Pattern),把serialNu
其中,代碼是固定不變的,流水號會自動遞增,日期一般是當前系統日期(固定格式,比如YYYYMM、YYYYMMDD),另外當日期變化時再重置流水號。寫到這裡,我們
我們來看看客戶是如何使用這個模型的:Code1 procedure TTestNumberRule.TestCompositeNumber;2 begin3
2. 生成編號Code1 function TNumberRule.GetNextNumber(const number: string): string;2
3. 業務應用為了實現具體的業務應用,我們還需要做兩件事:1. 編號規則的持久化(一般使用XML,暫省略)2. 編號的獲取和更新我們可以在業務層定義了下面兩個
//procedure TForm1.Button3Click(Sender: TObject);var MyClass: TClass;begin {對象的
4.Unit間接引用program Prog;uses Unit2;const a = b;//...unit Unit2;interfaceuses Uni
3.函數聲明//先聲明後實現function Calculate(X, Y: Integer): Real; forward;function Calcula
3.函數重載type T1 = class(TObject) procedure Test(I: Integer); overload; virtua