test2.hsp

sample\hspprint\test2.hsp » Plain Format

#include "hspprint.as"

*start
	cls
	enumprn plist
	pnum=stat
	mes "プリンタの数="+pnum

	if pnum=0 : goto *noprn

	getdefprn def_printer		; 規定のプリンター

	mes "プリンタ一覧"

	useid = 0
	notesel plist
	repeat notemax
	noteget s1,cnt
		mes "ID"+cnt+" : "+s1
		if s1=def_printer : useid=cnt
	loop

	sdim gr_path,1024
	gr_path=""
	objsize 160,24

	mes "----------------------------------"
	mes "プリンタID: (規定="+useid+")"
	input useid

	objsize 320,24
	mes "画像ファイル"
	input gr_path

	button "画像選択",*selpic
	button "プリント",*ok
	button "設定",*opt

	stop

*noprn
	mes "プリンタはありません。"
	stop

*selpic
	dialog "jpg;*.bmp;*.png;*.gif",16,"画像ファイル"
	if stat=0 : stop
	gr_path=refstr
	objprm 1,gr_path
	stop

*ok
	exist gr_path
	if strsize<=0 : dialog "画像がありません" : stop

	cls
	notesel plist
	noteget s1,useid
	mes "["+s1+"]に出力を開始します。"

	propprn sx,sy,useid,0
	mes "プリンタの解像度=("+sx+","+sy+")"

	buffer 3
	picload gr_path
	
	xapp =ginfo_sx
	yapp =ginfo_sy
	zoom = double(sx) / xapp

	gsel 0
	mes "画像の解像度=("+xapp+","+yapp+")"
	mes "ZOOM="+zoom

	ysize = int( zoom * yapp )
	mes "出力解像度=("+sx+","+ysize+")"

	mes "----------------------------------"

	objsize 320,24
	button "プリント開始",*ok2
	stop

*ok2	
	cls
	mes "プリント中..."
	objsize 320,24
	button "戻る",*start

	gsel 3
	execprn useid, 0,0, sx,ysize, 0,0, xapp,yapp, "HSPDoc"
	gsel 0

	stop

*opt
	prndialog useid
	stop