PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
13553 00/10/14 10:10:23 RE(1):PB6.5: 用紙サイズ取得について By TSU
12863 00/08/21 17:35:54 PB6.5: 用紙サイズ取得について By hasada

カテゴリ:スクリプトの記述
日付:2000年10月14日 10:10 発信者:TSU
題名:RE(1):PB6.5: 用紙サイズ取得について

hasadaさん、こんにちは。
>どなたかPBよりWindowsAPIのDeviceCapabilitiesを使用したご経験の・・・
DeviceCapabilitiesを使ってみました。
DC_PAPERNAMESと、DATAWINDOWへのセットは、DC_PAPERSの方の値です
*//**************************************
*// u_print_function uf_papernames()
*// サポートされる用紙名のリストを取得
*// DeviceCapabilities  DC_PAPERNAMES
*// string as_DeviceName プリンタデバイス名(プリンタフォルダでの名前)
*// ref string as_papernames[] 用紙名のリスト
*// 戻り値  エラー:-1   用紙種類の数
*//**************************************
*long ll_i,ll_j,ll_ret
*UInt  li_Index
*sr_DEVMODE lpDevMode
*character lpOutput2[]
*string ls_null,ls_tmp
*setnull(ls_null)
*li_Index = DC_PAPERNAMES
*ll_ret = DeviceCapabilities(as_DeviceName,ls_null,li_Index,ls_null,ls_null)
*if ll_ret = -1 then
* return -1
*end if
*for ll_i = 1 to ll_ret * 64
* lpOutput2[ll_i] = space(1)
*next
*ll_ret = DeviceCapabilities(as_DeviceName,ls_null,li_Index,lpOutput2,ls_null)
*if ll_ret = -1 then
* return -1
*end if
*for ll_i = 1 to ll_ret
* ls_tmp = \'\'
* for ll_j = 1 to 64
* if isnull(lpOutput2[(ll_i - 1) * 64 + ll_j]) then
* exit
* end if
* ls_tmp += string(lpOutput2[(ll_i - 1) * 64 + ll_j])
* next
* as_papernames[ll_i] = ls_tmp
*next
*return ll_ret
*//インスタンス変数の宣言
*Constant long DC_PAPERS = 2
*Constant long DC_BINS = 6
*Constant long DC_BINNAMES = 12
*Constant long DC_PAPERNAMES = 16
*//プリンタ設定ローカル外部関数
*Function long DeviceCapabilities(string lpDeviceName,string lpPort,UInt iIndex,ref string 
lpOutput,ref string lpDevMode) LIBRARY \"winspool.drv\" Alias for \"DeviceCapabilitiesA\"
*Function long DeviceCapabilities(string lpDeviceName,string lpPort,UInt iIndex,ref character 
lpOutput[],ref string lpDevMode) LIBRARY \"winspool.drv\" Alias for \"DeviceCapabilitiesA\"



付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS Oracle SQL*Net 8
Browser (記載なし)

Server SoftWare

OS Windows NT 4.0
DBMS Oracle 8.0
WebServer (記載なし)

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