日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 編程 > Delphi > 正文

用Delphi開發(fā)報表打印的ASP組件

2019-11-18 18:47:35
字體:
供稿:網(wǎng)友
     asp在對數(shù)據(jù)庫操作方面提供了很好的內(nèi)嵌對象。但是,其他方面的功能有所欠缺,如:報表打印。特別是國內(nèi)的復雜的報表,用ASP很難實現(xiàn)。

       不過,ASP支持插件,這就可以根據(jù)需要開發(fā)ASP插件,筆者用Delphi5.0開發(fā)了ASP打印組件。下面筆者將分步來開發(fā)一個通用的報表打印的ASP組件。

       第一步:新建一個Activex Library,命名為PRintT,然后再新建一個Active Server Object Class,命名為Print,即建立了一個名為Print的ASP組件,文件命名為Unit1.pas。

      第二步:打開Type Library,新建一個方法Print1,用于傳遞報表打印。

      第三步:新建一個DataModule,放入Adoconnection組件和AdoTable組件,文件名為Unit2.pas。

     第四步:新建一個TQuickRep,設(shè)計你要打印的報表,文件名為文件名為Unit23.pas。以下是個文件的詳細代碼:
{=============Unit1.pas===============}

unit Unit1;

interface

uses
  ComObj, ActiveX, AspTlb, PrintT_TLB, StdVcl;

type
  TPrint = class(TASPObject, iprint)
  protected
    procedure OnEndPage; safecall;
    procedure OnStartPage(const AScriptingContext: IUnknown); safecall;
    procedure Print1; safecall;
  end;

implementation

uses ComServ,unit2,unit23;

procedure TPrint.OnEndPage;
begin
  inherited OnEndPage;
end;

procedure TPrint.OnStartPage(const AScriptingContext: IUnknown);
begin
  inherited OnStartPage(AScriptingContext);
end;

procedure TPrint.Print1;
begin
     IdearRpt.Print;
end;

initialization
  TAutoObjectFactory.Create(ComServer, TPrint, Class_Print,
    ciMultiInstance, tmApartment);
end.

{===============Unit2.pas===============}

unit Unit2;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls, Forms,
  Dialogs, DBTables, DB, ADODB;

type
  TCustomerData = class(TDataModule)
    ADOConnection1: TADOConnection;
    ADOTable1: TADOTable;
    DataSource1: TDataSource;
    ADOTable1NIANH: TStringField;
    ADOTable1XUH: TStringField;
    ADOTable1SHENQDW: TStringField;
    ADOTable1SHENQRQ: TDateTimeField;
    ADOTable1FARDB: TStringField;
    ADOTable1FARDH: TStringField;
    ADOTable1LIANXR: TStringField;
    ADOTable1LIANXRDH: TStringField;
    ADOTable1DANWZCDZ: TStringField;
    ADOTable1JIANSXZDM: TStringField;
    ADOTable1JIANSGM: TBCDField;
    ADOTable1ZHIGRS: TBCDField;
    ADOTable1YONGDFH: TBCDField;
    ADOTable1RIYSL: TBCDField;
    ADOTable1RIPSL: TBCDField;
    ADOTable1JIANZSJGD: TBCDField;
    ADOTable1RANQYL: TBCDField;
    ADOTable1YONGDYQ: TStringField;
    ADOTable1RELYL: TBCDField;
    ADOTable1JIANSXM: TStringField;
    ADOTable1PIZWH: TStringField;
    ADOTable1JIANSGM2: TBCDField;
    ADOTable1YONGDXZDM: TStringField;
    ADOTable1YONGDWZ: TStringField;
    ADOTable1DONGL: TStringField;
    ADOTable1XIL: TStringField;
    ADOTable1NANL: TStringField;
    ADOTable1BEIL: TStringField;
    ADOTable1CHANG: TBCDField;
    ADOTable1KUAN: TBCDField;
    ADOTable1ZONGMJ1: TBCDField;
    ADOTable1ZONGMJ2: TBCDField;
    ADOTable1YOUXRQ1: TDateTimeField;
    ADOTable1YOUXRQ2: TDateTimeField;
    ADOTable1BEIZ: TStringField;
    ADOTable1JINGB: TStringField;
    ADOTable1SHENH: TStringField;
    ADOTable1SHEND: TStringField;
    ADOTable1SHENDRQ: TDateTimeField;
    ADOTable1PICTURE: TBlobField;

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  CustomerData: TCustomerData;

implementation

{$R *.DFM}

 

end.

{===========Unit23.pas===============}

unit Unit23;

interface

uses Windows, SysUtils, Messages, Classes, Graphics, Controls,
  StdCtrls, ExtCtrls, Forms, Quickrpt, QRCtrls;

type
  TIdearRpt = class(TQuickRep)
    PageFooterBand1: TQRBand;
    PageHeaderBand1: TQRBand;
    QRLabel1: TQRLabel;
    QRLabel2: TQRLabel;
    QRLabel3: TQRLabel;
    QRDBText15: TQRDBText;
    QRDBText17: TQRDBText;
    QRDBText19: TQRDBText;
    QRDBText13: TQRDBText;
    QRLabel46: TQRLabel;
    QRLabel47: TQRLabel;
    TitleBand1: TQRBand;
    QRShape1: TQRShape;
    QRShape2: TQRShape;
    QRShape3: TQRShape;
    QRShape4: TQRShape;
    QRShape5: TQRShape;
    QRShape6: TQRShape;
    QRLabel4: TQRLabel;
    QRLabel5: TQRLabel;
    QRLabel6: TQRLabel;
    QRShape7: TQRShape;
    QRShape8: TQRShape;
    QRLabel7: TQRLabel;
    QRLabel8: TQRLabel;
    QRLabel11: TQRLabel;
    QRLabel12: TQRLabel;
    QRDBText1: TQRDBText;
    QRDBText2: TQRDBText;
    QRDBText4: TQRDBText;
    QRDBText6: TQRDBText;
    QRDBText3: TQRDBText;
    QRShape9: TQRShape;
    QRLabel9: TQRLabel;
    QRDBText5: TQRDBText;
    QRShape17: TQRShape;
    QRShape22: TQRShape;
    QRShape23: TQRShape;
    QRShape24: TQRShape;
    QRShape25: TQRShape;
    QRShape26: TQRShape;
    QRShape27: TQRShape;
    QRShape10: TQRShape;
    QRShape11: TQRShape;
    QRShape12: TQRShape;
    QRShape13: TQRShape;
    QRShape18: TQRShape;
    QRShape19: TQRShape;
    QRLabel10: TQRLabel;
    QRLabel13: TQRLabel;
    QRLabel14: TQRLabel;
    QRLabel15: TQRLabel;
    QRLabel16: TQRLabel;
    QRLabel17: TQRLabel;
    QRLabel18: TQRLabel;
    QRLabel19: TQRLabel;
    QRLabel20: TQRLabel;
    QRLabel21: TQRLabel;
    QRLabel22: TQRLabel;
    QRLabel23: TQRLabel;
    QRLabel24: TQRLabel;
    QRLabel32: TQRLabel;
    QRLabel33: TQRLabel;
    QRLabel34: TQRLabel;
    QRLabel35: TQRLabel;
    QRLabel36: TQRLabel;
    QRShape20: TQRShape;
    QRLabel37: TQRLabel;
    QRLabel38: TQRLabel;
    QRLabel41: TQRLabel;
    QRLabel42: TQRLabel;
    QRLabel43: TQRLabel;
    QRLabel44: TQRLabel;
    QRLabel45: TQRLabel;
    QRLabel48: TQRLabel;
    QRLabel49: TQRLabel;
    QRLabel50: TQRLabel;
    QRLabel51: TQRLabel;
    QRLabel52: TQRLabel;
    QRLabel53: TQRLabel;
    QRLabel54: TQRLabel;
    QRLabel55: TQRLabel;
    QRLabel56: TQRLabel;
    QRLabel57: TQRLabel;
    QRLabel58: TQRLabel;
    QRLabel59: TQRLabel;
    QRLabel60: TQRLabel;
    QRLabel61: TQRLabel;
    QRShape28: TQRShape;
    QRLabel62: TQRLabel;
    QRLabel63: TQRLabel;
    QRDBText7: TQRDBText;
    QRDBText8: TQRDBText;
    QRDBText9: TQRDBText;
    QRDBText10: TQRDBText;
    QRDBText11: TQRDBText;
    QRDBText12: TQRDBText;
    QRDBText14: TQRDBText;
    QRDBText16: TQRDBText;
    QRDBText18: TQRDBText;
    QRDBText20: TQRDBText;
    QRDBText21: TQRDBText;
    QRDBText22: TQRDBText;
    QRDBText23: TQRDBText;
    QRDBText24: TQRDBText;
    QRDBText25: TQRDBText;
    QRDBText26: TQRDBText;
    QRDBText27: TQRDBText;
    QRDBText28: TQRDBText;
    QRDBText29: TQRDBText;
    QRDBText30: TQRDBText;
    QRDBText31: TQRDBText;
    QRDBText32: TQRDBText;
    QRDBText33: TQRDBText;
    QRDBText34: TQRDBText;
    QRDBText35: TQRDBText;
    QRMemo4: TQRMemo;
    QRDBText36: TQRDBText;
    QRDBText37: TQRDBText;
    QRDBText38: TQRDBText;
  private

  public

  end;

var
  IdearRpt: TIdearRpt;

implementation
uses unit2;
{$R *.DFM}

end.

{=========PrintT.dpr============}

library PrintT;

{%File 'Print.asp'}

uses
  ComServ,
  PrintT_TLB in 'PrintT_TLB.pas',
  Unit1 in 'Unit1.pas' {Print: CoClass},
  Unit2 in 'Unit2.pas' {CustomerData: TDataModule},
  Unit23 in 'Unit23.pas' {IdearRpt: TQuickRep};

exports
  DllGetClassObject,
  DllCanUnloadNow,
  DllRegisterServer,
  DllUnregisterServer;

{$R *.TLB}

{$R *.RES}

begin
     IdearRpt := TIdearRPt.Create(NiL);{必不可少}
end.

      第五步:編譯并注冊PrintT組件,即可在ASP代碼中調(diào)用,調(diào)用示例如下:

<% Set DelphiASPObj = Server.CreateObject("PrintT.Print")
   DelphiASPObj.Print1

%>

    通過以上步驟,我們就順利地利用Delphi開發(fā)出了具有報表功能的ASP組件了。當然,筆者只是介紹了一個簡單的思路,希望能起到拋磚引玉之功效。


上一篇:Delphi編寫網(wǎng)絡(luò)程序的安全措施

下一篇:Delphi下常用數(shù)學運算函數(shù)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網(wǎng)友關(guān)注

日韩三级视频在线播放| 二区中文字幕| 久久婷婷中文字幕| 欧美日韩高清在线| 亚洲综合在线不卡| www.狠狠干| 国产高清精品二区| 欧美日韩亚洲国产综合| 在线精品日韩| 国产欧美久久久| 欧美日韩精品久久久| 在线国产99| 在线国产日本| 欧美久久在线观看| 91精品视频观看| 日韩精品在线私人| 91久久在线| 日韩欧美在线影院| 视频一区二区中文字幕| 亚亚洲欧洲精品| 欧美日韩精品在线观看| 日韩在线观看精品| 国产激情在线视频| lutube成人福利在线观看| 亚洲视频电影在线| 日韩亚洲欧美中文三级| 中文在线中文字幕| 国产三级中文字幕| 国产一区在线观看视频| 成人久久久久| 91精品视频免费在线观看| 日韩中文欧美在线| 国产日韩三级| 欧美日韩午夜在线| 日韩在线视频免费观看| 欧美日韩亚洲综合在线| 不卡视频一区二区| 国产成人日日夜夜| 国产一级片网站| 国产黄色精品| 亚洲一区三区在线观看| 中文字幕精品在线播放| 国产日韩综合| 日韩欧美在线综合网| 欧美二区在线观看| 91蜜桃在线视频| 欧美日韩999| 日韩在线中文视频| 精品播放一区二区| 国产午夜精品一区二区三区视频| 日韩欧美综合在线| 日韩欧美专区在线| 国产偷久久久精品专区| 久久91精品国产91久久小草| 欧美精品一区二区三区在线播放| 中文字幕 欧美日韩| 亚洲第一中文字幕| 亚洲图片小说综合| 99国产成 人 综合 亚洲欧美| 欧美日韩亚洲一| 久久久99久久精品欧美 | 日韩精品第一区| 不卡av免费在线| 婷婷久久综合九色国产成人| 一区二区精品区| 国产乱码在线观看| 日韩精品在线私人| 精品国产1区二区| 国产激情在线| 中文字幕在线观看网址| 国产欧美中文字幕| 日韩 国产 一区| 欧美日韩国产免费观看| 日韩欧美国产免费播放| 免费在线国产| 国产免费播放一区二区| 91久久精品视频| 国产黄在线观看| 日韩免费电影网站| 久久视频一区| 久久人人88| 日韩欧美中文在线| 天天综合色天天| 国产精品一区二三区| 中文字幕久久精品| 欧美日韩国产大片| 91精品国产综合久久香蕉最新版| 一区三区二区视频| 首页国产欧美久久| 中文字幕在线观看视频www| 国产婷婷色一区二区三区在线| 日韩在线观看视频一区二区| 日韩欧美一二三| 中文在线视频观看| 久久久久久久久99精品| 在线精品视频免费播放| 欧美日韩国产区| 日韩亚洲欧美中文字幕| 午夜亚洲一区| 中文字幕99| 日韩免费久久| 国产1卡2卡三卡四卡网站| 欧美一卡2卡3卡4卡| 中文国产字幕在线观看| 蜜桃视频一日韩欧美专区| 日韩福利视频导航| 亚洲一区导航| 日韩中文在线字幕| 一级日本免费的| 在线看欧美日韩| 日韩精品在线免费观看| 欧美中文字幕视频| 精品久久在线| 亚洲人线精品午夜| 蜜桃精品视频| 亚洲 欧美综合在线网络| 中文在线中文字幕| 精品久久在线观看| 午夜高潮免费视频| 91精品久久久久久久91蜜桃| 日韩欧美在线网址| 精品亚洲综合| 国产日韩精品久久久| 999精品视频在线观看播放| 欧美日韩久久不卡| 国自产拍在线网站网址视频| 日韩精品首页| 国产在线播放一区二区| 欧美日韩成人综合| 不卡一二三区| 亚洲第一香蕉网| 被陌生人带去卫生间啪到腿软| 国产精品一区二三区| 久久99精品久久久久子伦| www.三级.com| 欧美日韩国产中文| 中文字幕狠狠干| 国产美女主播视频一区| 天堂√8在线中文| 成年人黄国产| 日本一级一片免费视频| av一级在线| 亚洲一区在线观看免费| 精品中文在线| 天天综合日日夜夜精品| 久久91精品视频| 一级国产黄色片| 蜜桃视频一日韩欧美专区| а√天堂中文在线资源8| 大香一本蕉伊线亚洲网| 九九九精品视频| 日韩欧美在线视频| 91极品视频在线观看| 先锋男人资源站| 亚洲最大黄色| 日韩精品视频免费| 日韩国产91| 日韩欧美亚洲视频| 久久久精品99| 亚洲欧美韩国综合色| 欧美中文字幕视频在线观看| 欧美激情视频一区二区三区在线播放| 日韩精品在线观看视频| 精品三级久久| 国产九九在线| 中文字幕在线观看精品| 日韩欧美国产网站| 99国产成 人 综合 亚洲欧美 | 日韩精品在线看| 日韩精品在线免费播放| 97国产视频| 久本草在线中文字幕亚洲欧美| 国产黄色在线播放| 成人xxxx| 婷婷中文字幕综合| 亚洲视频色图| 国产一区在线不卡| 日韩精品视频在线观看视频| 日韩欧美专区在线| 香蕉人人精品| 欧美日韩激情在线一区二区三区| 亚洲视频一二三四| 一本久久a久久精品亚洲| 国产视频2区| 韩国av一区二区| 欧美日韩视频在线| 视频一区二区国产| 国产视频一区三区| 激情久久99| 精品无人国产偷自产在线| 日韩中文字幕亚洲| 国产欧美日产一区| 精品国产综合久久| 久久久久久99精品| 中文字幕在线观看播放| 三级网站免费观看| 中文字幕在线欧美| 中文字幕在线视频精品| 中文字幕日韩视频| 亚洲免费视频一区| 国产成人精品网址| 国产亚洲二区| 一本一道久久a久久精品综合蜜臀| 久久69成人| 亚洲第一福利视频在线| 欧美日中文字幕| 欧美一级日韩一级| 深夜福利亚洲| 国产日韩中文字幕| 精品在线网站观看| 精品熟女一区二区三区| 日韩欧美国产高清91| 欧美三级日韩三级| 亚洲国产一区自拍| 日韩亚洲一区中文字幕| 国产一级免费| 欧美日韩一二三| 国产在线导航| 成人xxxx| 亚洲久草视频| 亚洲高清免费一级二级三级| 精品久久电影| 欧美日韩国产黄色| 69av亚洲| 免费在线播放av| 国自产拍在线网站网址视频| 精品国产31久久久久久| 日韩精品视频在线观看视频| 欧美日韩不卡在线视频| 午夜国产欧美理论在线播放| 日韩欧美在线精品| 91精品国产自产在线观看永久∴ | 午夜影院在线观看欧美| 91精品国产综合久久香蕉最新版 | 精品成人久久av| 国产日韩成人精品| 在线观看中文字幕一区| 欧美久久综合性欧美| 99这里有精品视频| 亚洲成av人综合在线观看| 国产一二三视频| 日韩欧美中文在线| av午夜在线| 亚洲免费精品| 中文字幕亚洲国产| 午夜国产视频| 国产高清一级片| 精品国产1区二区| 国产亚洲视频中文字幕视频| 99中文字幕一区| 国产区日韩欧美| 精品日韩在线播放| 国产精久久久久| 国自产拍在线网站网址视频| 国产婷婷精品| 国产福利不卡| 欧美亚洲视频在线看网址| 在线中文免费视频| www.日韩免费| 国产精品一区二三区| 日韩一级精品| 天天综合天天做| 欧美一卡2卡三卡4卡5免费| 亚洲中文字幕一区| 亚洲第一香蕉网| 午夜国产在线| 69堂精品视频在线播放| 国产在线欧美日韩| 成人无遮挡免费网站视频在线观看| 深夜福利一区| 日韩在线视频一区二区三区| 欧美精选午夜久久久乱码6080| 色屁屁一区二区| 免费高清特黄a大片| 日韩中文字幕视频网| 久草中文在线观看| 欧美色欧美亚洲高清在线视频| 中文字幕欧美亚洲| 中文字幕欧美日韩在线| 精品国产免费视频| 99精品视频99| 在线不卡日本| 在线资源av| 中文字幕久久av| 欧美日韩国产成人| 日韩在线视频观看正片免费网站| 日韩视频 中文字幕| 日韩欧美国产1| 精品视频在线导航| 精品成人久久av| 国产无套粉嫩白浆在线2022年| 国产乱国产乱老熟300| 亚洲欧美伊人| 99久久精品国产成人一区二区| 黄色视屏免费在线观看| 一区二区不卡久久精品| 国产欧美日产一区| 天堂在线www天堂中文在线| 中文字幕亚洲视频| 精品日韩在线| 国产激情三区| eeuss一区| 色欧美日韩亚洲| 亚洲国产欧美91| 中文字幕视频一区二区三区久| 日韩欧美亚洲视频| 中文字幕第一页在线播放| 91麻豆视频网站| 精品久久电影| 中文字幕欧美日韩在线| 久久香蕉av| 欧美日韩在线观看首页| 国产日韩亚洲欧美| 在线免费91| 日本а中文在线天堂| 伊人国产视频| 国产黄色在线观看| 成人禁用看黄a在线| 亚洲免费在线视频一区 二区| 欧美国产三级| a在线观看免费视频| 国产黄色在线网站| 中文字幕精品视频| 亚洲一级影院| 中文字幕一区不卡| 福利在线国产| 亚洲小说春色综合另类电影| av午夜在线| 日本黄色一区二区| 日韩精品在线免费看| 天堂中文在线视频| 日韩精品在线视频观看| 高清国产一区| 91国内精品在线视频| 99视频在线看| 一区二区精品免费| 一区二区三区鲁丝不卡| 亚洲欧洲三级| 日韩免费视频一区二区| 国产一区成人| 91亚洲国产| 91精品免费看| 久久精品国产成人一区二区三区| 91日韩欧美| 日本一级一片免费视频| 中文字幕在线精品| 日韩色在线观看| 日韩欧美高清在线| 国产一级网站视频在线| 亚洲乱码在线观看| 亚洲深夜福利| xxxcom在线观看| 一级一片免费视频| 伊人亚洲视频| 97国产视频| 日韩三级精品电影久久久| 91久久久久久久久| 大香一本蕉伊线亚洲网| 国产99在线 | 亚洲| 亚洲黄色在线观看| 中文字幕在线欧美| 精品日韩在线观看| 国产激情三区| 日韩欧美国产综合| 精品一二三区视频| 久久久91精品| 亚洲午夜av| 日韩精品视频在线观看视频| 亚洲欧美99| 亚洲福利精品视频| 伊人www22综合色| 亚洲免费精品| 日韩免费电影网站| 日韩视频在线观看视频| 亚洲国产综合久久| 日韩中文字幕国产| 999精品在线| 大香一本蕉伊线亚洲网| 亚洲福利精品视频| 国产色在线 com| 亚洲日本欧美日韩高观看| 最近中文字幕在线中文视频| 婷婷中文字幕一区三区| a天堂中文在线官网在线| 日韩免费电影网站| 国产1区在线| 樱花草www在线| 亚洲理论中文字幕| h片精品在线观看| а√天堂8资源中文在线| 国产欧美 在线欧美| 在线免费视频一区二区| 樱花草www在线| 一区二区在线看| 日韩中文字幕在线视频观看| 国产欧美日韩久久| 国产黄色在线免费观看| 精品福利一区二区三区| 国产一区在线不卡| 国产欧美日韩中文字幕|