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 + + }}} |