熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

Delphi開發WEB應用程序打印組件[1]

2013-11-23 17:37:56  來源: Delphi編程 

  近些年來隨著互聯網的普及和推廣傳統的單機模式和局域中的c/s模式的應用程序越來越不能滿足信息共享的要求因此一種新的基於浏覽器的b/s的應用程序的開發方式被提了出來新的開發方案以其客戶端的免維護免配置程序能根據服務器的信息能夠自動更新升級;服務器端多層模式的應有提高處理的效率和安全性越來越被廣大的應用程序的開發者所看好成為應用程序開發的一個新的發展方向在windows的平台上人們利用asp來開發服務的顯示界面而用組件來封裝商業規則在各種雜志上利用各種工具進行組件開發也是屢見不鮮但介紹打印組開發卻不怎麼看到?

  二設想

  web打印組件要求是在一次為某單位開發信息管理系統中被提及的這個系統中的一些票據需要打印這樣如何對這些票據進行套打成了我們必須解決的問題

  要在客戶端打印一些用戶要求的票據或其它的文字或圖片資料有兩種方式:一種是利用delphi的active form來生成客戶端的界面由浏覽器下載安裝並在客戶端運行(這種方式在開發多後台數據庫中較為常用在國內許多新版本的財務軟件都采用了這種方法其缺點是對開發人員的要求太高) 另一種是開發一個組件在客戶端安裝然後由服務器端來生成vbscript腳本在客戶端運行創建相應的組件對象;利用組件對象來進行打印操作(這種方法只要客戶端的com組件開發完成使用者只要熟悉vbscript或javascript腳本語言就可能方便的調用)?

  三實現

  首先運行delphi ;選擇file菜單中的new在彈出的對話框中選擇activex頁選擇activex library創建activex庫然後再往新建的庫中加入一個automation object操作步驟同上在automation object wizard對話框中填入組件名prttest;單擊ok

  然後在彈出的prttesttlb窗口中選擇iprttest單擊右鍵新增一個isinit的property類型為long再繼續增加如下個method:

  procedure prtcustompage(pagewidth: integer; pageheight: integer);

  safecall;

  procedure prtstart; safecall;

  procedure prtnewpage; safecall;

  procedure prtend; safecall;

  procedure prtdrawline(x: integer; y: integer; x: integer; y:

  integer; linewidth: integer); safecall;

  procedure prtsetfont(const fontname: widestring; fontsize:

  integer); safecall;

  procedure prttextrect(valign: integer; halign: integer; rectleft:

  integer; recttop: integer;rectright: integer; rectbottom:

  integer; const printstring: widestring); safecall;

  它們意義是:

  prtcustompage 用來設置自定義紙張傳入的參數自定義紙張的寬度和高度

  prtstart 用來初始化打印機如果初始化成功則將屬性isinit置為真反之則為假

  prtnewpage 用來使打印機換頁

  prtend     結束打印任務

  prtdrawline 用來在頁面上繪制一條線(xy)為起始點(xy)為終止點linewidth為打印線的寬度

  prtsetfont 用來設置打印的字體名及大小

  prttextrect 用來指定的方框內的輸出的指定的字符串

  Delphi開發WEB應用程序打印組件()

[]  []  []  


From:http://tw.wingwit.com/Article/program/Delphi/201311/24792.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.