[トップ][一覧][最近の更新]

編集履歴:差分

記録開始と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
+ 
+ }}}