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

編集履歴:過去のバージョン

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