PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
21706 05/01/19 14:38:45 RE(5):データウィンドウの印刷をAPI関数で処理したいのですが・・・ By m-yago
21702 05/01/17 10:25:17 RE(4):データウィンドウの印刷をAPI関数で処理したいのですが・・・ By にしやん
21701 05/01/17 10:24:41 RE(3):データウィンドウの印刷をAPI関数で処理したいのですが・・・ By にしやん
21698 05/01/14 17:56:30 RE(2):データウィンドウの印刷をAPI関数で処理したいのですが・・・ By m-yago
21670 04/12/27 10:51:55 RE(1):データウィンドウの印刷をAPI関数で処理したいのですが・・・ By PS

カテゴリ:
日付:2005年01月17日 10:25 発信者:にしやん
題名:RE(4):データウィンドウの印刷をAPI関数で処理したいのですが・・・

m-yagoさん、こんにちは。

…というわけで、API で DataWindow を印刷する例です。
#無意味と思いつつも…

(エラーハンドリングは省略していますので、適宜追加してください)

●構造体
DOC_INFO_1
 String pDocName
 UnsignedLong pOutputFile
 String pDataType

●外部関数
FUNCTION Boolean OpenPrinter(String pPrinterName, REF UnsignedLong phPrinter, &
  UnsignedLong pDefault) LIBRARY \"WINSPOOL.DRV\" ALIAS FOR \"OpenPrinterA\"
FUNCTION Boolean ClosePrinter(Long hPrinter) LIBRARY \"WINSPOOL.DRV\"
FUNCTION UnsignedLong StartDocPrinter(UnsignedLong hPrinter, UnsignedLong Level, &
  REF Structure pDocInfo) LIBRARY \"WINSPOOL.DRV\" ALIAS FOR \"StartDocPrinterA\"
FUNCTION Boolean EndDocPrinter(UnsignedLong hPrinter) LIBRARY \"WINSPOOL.DRV\"
FUNCTION Boolean WritePrinter(UnsignedLong hPrinter, REF Blob pBuf, UnsignedLong cbBuf, &
  REF UnsignedLong pcWritten) LIBRARY \"WINSPOOL.DRV\"

●スクリプト
String PrinterName, FileName
UnsignedLong hPrinter, WriteSize
Blob PrintData
Integer fd
DOC_INFO_1 di

//プリンタ指定(必要に応じて)
PrintSetPrinter(プリンタ名)

//印刷データ(一時ファイル)作成
FileName = 一時ファイル名
dw_1.Modify(\"DataWindow.Print.Filename=\'\"+FileName+\"\'\")
dw_1.Print(FALSE)

//プリンタを開く
PrinterName = dw_1.Describe(\"DataWindow.Print.PrinterName\")
OpenPrinter(PrinterName, hPrinter, 0)

//印刷ジョブ情報設定
di.pDocName = 印刷ジョブ(ドキュメント)名
di.pDataType = \"RAW\" //印刷データタイプ

//印刷ジョブ開始
StartDocPrinter(hPrinter, 1, di)

//ファイルを開く
fd = FileOpen(FileName, StreamMode!)

//一時ファイルを読み込み、プリンタへ送信
DO WHILE FileRead(fd, PrintData) > 0
  WritePrinter(hPrinter, PrintData, Len(PrintData), WriteSize)
LOOP

//一時ファイルを閉じ、削除
FileClose(fd)
FileDelete(FileName)
//印刷ジョブを終了する
EndDocPrinter(hPrinter)
//プリンタを閉じる
ClosePrinter(hPrinter)

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS (記載なし)
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.