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

編集履歴:差分

2016/02/09 06:43:15 JST以来のHSPPRINT互換モジュール:サンプルスクリプトの変更箇所

  • + 追加された行
  • - 削除された行

編集履歴ページに戻る

  - →[[HSPPRINT互換モジュール]]に戻る
  
  ----
  
  HSPPRINT互換モジュールの実行サンプルスクリプトです~%
+ パブリックドメインです
  
  ----
  
  {{{
  
- //HSPPRINT互換モジュールの実行サンプル
- 
- //HSP3.4で動作確認をしました
- //パブリックドメインです
- //CC0 1.0でライセンスします(CC0のコモンズ権利証 https://creativecommons.org/publicdomain/zero/1.0/deed.ja)
- 
- 
  #include "hspprint.as"
  
+ getdefprn str_name_def_printer
+ mes "既定のプリンターは"+str_name_def_printer+"です"
- #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
- 
- 	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
- 
  }}}