More ... | 編集履歴:過去のバージョン2016/02/05 06:34:59 JST時点でのHSPPRINT互換モジュール:サンプルスクリプトの内容- →[[HSPPRINT互換モジュール]]に戻る ---- HSPPRINT互換モジュールの実行サンプルスクリプトです~% ---- {{{ //HSPPRINT互換モジュールの実行サンプル //HSP3.4で動作確認をしました //パブリックドメインです //CC0 1.0でライセンスします(CC0のコモンズ権利証 https://creativecommons.org/publicdomain/zero/1.0/deed.ja) //適度モジュールファイル名に書き換えてください #include "hspprint.txt" #enum ID_WINDOW_MAIN =0 #enum ID_BUFFER_IMG buffer ID_BUFFER_IMG gsel ID_WINDOW_MAIN cls gosub *print_info_printer input int_index button gosub "情報", *info_printer button gosub "プロパティ", *properties_printer button gosub "テスト印刷", *printout_test stop *info_printer gosub *get_list_printer //if int_index<0 | int_index>=int_num_prn : int_index=0 : objprm 0,0 : return notesel str_list_printer noteget str_name_printer,int_index noteunsel dialog str_name_printer gosub *get_list_printer //if int_index<0 | int_index>=int_num_prn : int_index=0 : objprm 0,0 : return ddim arr_int_info_printer,2 arr_int_info_printer.0 =9999.0:arr_int_info_printer.1= 9999.0 propprn arr_int_info_printer.0 , arr_int_info_printer.1 , int_index , 3 dialog "印刷サイズ 横="+arr_int_info_printer.0+"mm 縦="+arr_int_info_printer.1+"mm" gosub *get_list_printer if int_index<0 | int_index>=int_num_prn : int_index=0 : objprm 0,0 : return propprn arr_int_info_printer.0 , arr_int_info_printer.1 , int_index , 0 dialog "解像度 横="+arr_int_info_printer.0+" 縦="+arr_int_info_printer.1 gosub *get_list_printer if int_index<0 | int_index>=int_num_prn : int_index=0 : objprm 0,0 : return propprn arr_int_info_printer.0 , arr_int_info_printer.1 , int_index , 2 dialog "印刷箇所の余白 横="+arr_int_info_printer.0+" 縦="+arr_int_info_printer.1 gosub *get_list_printer if int_index<0 | int_index>=int_num_prn : int_index=0 : objprm 0,0 : return propprn arr_int_info_printer.0 , arr_int_info_printer.1 , int_index , 1 dialog "印刷サイズ 横="+arr_int_info_printer.0+" 縦="+arr_int_info_printer.1 gosub *print_info_printer return *print_info_printer gosub *get_list_printer redraw 0 color 255,255,255 boxf pos 0,0 color mes "プリンターは"+int_num_prn+"こです\nプリンタ" notesel str_list_printer repeat notemax noteget str_name_printer,cnt mes ""+cnt+" "+str_name_printer loop noteunsel getdefprn str_name_def_printer mes "\n既定のプリンターは"+str_name_def_printer+"です" redraw return *get_list_printer prnflags PRINTER_ENUM_CONNECTIONS+PRINTER_ENUM_LOCAL enumprn str_list_printer int_num_prn=stat return *properties_printer gosub *get_list_printer if int_index<0 | int_index>=int_num_prn : int_index=0 : objprm 0,0 : return prndialog int_index gosub *print_info_printer return *printout_test dialog "*",16,"画像ファイル" if stat{ exist refstr if strsize<=0 : return gsel ID_BUFFER_IMG picload refstr gsel ID_WINDOW_MAIN }else{ return } gosub *get_list_printer if int_index<0 | int_index>=int_num_prn : int_index=0 : objprm 0,0 : return gsel ID_BUFFER_IMG propprn arr_int_info_printer.0,arr_int_info_printer.1,int_index execprn int_index,,, arr_int_info_printer.0, (double(arr_int_info_printer.0/ginfo_winx) *ginfo_winy),,, ginfo_winx, ginfo_winy gsel ID_WINDOW_MAIN gosub *print_info_printer return }}} |