;**********************************************************************
;**********************************************************************
;	
;	Ot\\tg
;	VAʐMj^[Ag\tg
;	

;**********************************************************************
;**********************************************************************

ver = "Ver1.00"
mydir = dir_cur

;----------------------------------------------------------------------
;
;----------------------------------------------------------------------
#include "obj.as"
#include "hspext.as"
#include "hspda.as"
#include "gm_datetime_str.hsp"

;Lp
#include "kernel32.as"
#define FILE_MAP_WRITE        2
#define FILE_MAP_READ         4
#define PAGE_READWRITE        4
#define ERROR_ALREADY_EXISTS  183

#uselib "UxTheme.dll"
#func SetWindowTheme "SetWindowTheme" int, sptr, sptr

#uselib "user32"
#func GetWindowLong			"GetWindowLongA"int,int
#func SetWindowLong			"SetWindowLongA"int,int,int

#define WM_MOVING			0x0216;EChËړ
#define WM_EXITSIZEMOVE		0x0232;EChËړI
#define WM_COMMAND			0x0111//comboxCxgp

;***** dN̖h~  (sysopt02.hsp) *****

#module
	;KvƂȂAPI萔̒`
	#uselib "kernel32.dll"
	#cfunc CreateMutex "CreateMutexA" int,int,sptr
	#cfunc GetLastError "GetLastError"

	#deffunc wexapend str prm1
	strname=prm1
	;O̕񂪏ȗꂽꍇ
	if strlen(strname)==0 : strname="HSP300ONIWND"  ;Default String
	ret=CreateMutex(0,1,strname)
	;dNH
	if GetLastError()==0   : return 0  ;WuNĂȂ
	if GetLastError()==183 : return 1  ;ɋNĂ
	return -1
#global

;----------------------------------------------------------------------
;
;----------------------------------------------------------------------
	;dNh~
	wexapend "" : if stat : end
	
	
	t_window_x = ginfo(20)-720
	t_window_y = ginfo(21)

	gosub *graph_setting_read
	
;----------------------------------------------------------------------
;	Ot\
;----------------------------------------------------------------------	
	screen 0,720,605,6,0,0
	title "Ot\"

;----------------------------------------------------------------------
;	Ot1
;----------------------------------------------------------------------
	buffer 1,720,605
	title "Ot_1"

;----------------------------------------------------------------------
;	Ot2
;----------------------------------------------------------------------
	buffer 2,720,300
	title "Ot_2"
	
;----------------------------------------------------------------------
;	Ot3
;----------------------------------------------------------------------
	buffer 3,400,300
	title "Ot_3"
	
;----------------------------------------------------------------------
;	Ot4
;----------------------------------------------------------------------
	buffer 4,400,300
	title "Ot_4"
	
;----------------------------------------------------------------------
;	Otݒ
;----------------------------------------------------------------------
	screen 7,630,400,6,(ginfo_dispx-700)/2,(ginfo_dispy-400)/2
	
	SetWindowTheme hwnd,"",""
	;oncmd gosub *window_drag, WM_MOVING
	;oncmd gosub *window_drag_end, WM_EXITSIZEMOVE
	;oncmd gosub *window_drag, 0x0113
	oncmd gosub *command, WM_COMMAND
	onexit gosub *comend_exit
	
	title "Otݒ"
	gosub *graph_syousai_setting_window

	gsel 7,-1

;----------------------------------------------------------------------
;	_CAObZ[W
;----------------------------------------------------------------------
	screen 10,300,150,,640,470
	
	;oncmd gosub *window_drag, WM_MOVING
	;oncmd gosub *window_drag_end, WM_EXITSIZEMOVE
	onexit gosub *comend_exit

	gosub *dialog_mes_window

	gsel 10,-1


;----------------------------------------------------------------------
;	J[pbg
;----------------------------------------------------------------------
	buffer 11,150,400

;----------------------------------------------------------------------
;	F_CAOpEChE
;----------------------------------------------------------------------
	screen 12,170,200
	title ""
	gosub *color_dialog_wind
	gsel 12,-1

;----------------------------------------------------------------------
;	
;----------------------------------------------------------------------
	gosub *graph_window

;----------------------------------------------------------------------
;
;----------------------------------------------------------------------
	Shared_Memory_size = 100000
	sdim textbuf,Shared_Memory_size
	sdim graph_data,Shared_Memory_size
	sdim Mem_data_cnt,6
	sdim Mem_data_time,12
	sdim Mem_data_len,6
	sdim Split_data_last,20,20
	sdim Share_buffer_size,10
	Mem_data_cnt_last = ""
	sdim buf_sw,1
	buf_sw = "0"

;--------------------------------------------------------------------
;	L̐錾
;--------------------------------------------------------------------
	gosub *Share_mem_ini


;----------------------------------------------------------------------
;	C[v
;----------------------------------------------------------------------
	Split_data_cnt= 0
	sdim textbuf,Shared_Memory_size
	textbuf = ""
	buf_sw_last = ""

	gosub *graph_display

	gosub *Writed_Share_true

	gosub *Read_buf_switch

	
	while
		if buf_sw = "0"{
			buf_sw_share_side = "1"
			gosub *Writed_buf_switch
		}else{
			buf_sw_share_side = "0"
			gosub *Writed_buf_switch
		}
		
		sdim graph_data,Shared_Memory_size
		sdim Mem_data_size,10
		sdim Mem_data_cnt,6
		sdim Mem_data_time,12
		sdim Mem_data_len,6

		gosub *ReadSharedMem
		
		memcpy Mem_data_size,textbuf,10;,0,0
		
		int_Mem_data_size = int(Mem_data_size)
		
		if int_Mem_data_size < 1{
		
			if buf_sw = "0"{
				buf_sw = "1"
			}else{
				buf_sw = "0"
			}

			await 1
			_continue
		}



		if((buf_sw_last = buf_sw)and(read_byte < int_Mem_data_size)){

		}else{
			read_byte = 0
		}

		repeat
			memcpy Mem_data_cnt ,textbuf, 5,0,10 + read_byte
			memcpy Mem_data_time,textbuf,12,0,10 + read_byte + 6
			memcpy Mem_data_len ,textbuf, 5,0,10 + read_byte + 19
			
			int_Mem_data_len = int(Mem_data_len)
			int_Mem_data_size = int(Mem_data_size)


			if ((Mem_data_cnt_last != Mem_data_cnt)) {

				if Mem_data_cnt != "" {
					
					memcpy graph_data,textbuf,int_Mem_data_len,0,10 + read_byte + 25
					gosub *graph_display
					
					repeat 20
						Split_data_last.cnt = Split_data.cnt
					loop
					Split_data_cnt++

				}
				
				memcpy Mem_data_cnt_last,Mem_data_cnt,5
				read_byte = read_byte + 25 + int_Mem_data_len
				buf_sw_last = buf_sw
				
				if int_Mem_data_size = read_byte{
					break
				}

			}else{
				;logmes "cccShare_buffer_size = " + Share_buffer_size
				break
			}

			;await
		loop

		gosub *WritedSharedMem_buf

		if buf_sw = "0"{
			buf_sw = "1"
		}else{
			buf_sw = "0"
		}
		;await 1

	wend


	stop


;----------------------------------------------------------------------
;	Lǂݍ
;----------------------------------------------------------------------
*ReadSharedMem
	sdim textbuf,Shared_Memory_size

	; ==== Tu[`FLǂݎ ====
	; r[̃}bsO

	if buf_sw = "0" {
		MapViewOfFile hmapobj0, FILE_MAP_READ, 0, 0, 0
	}else{
		MapViewOfFile hmapobj1, FILE_MAP_READ, 0, 0, 0
	}
	
	lpdata = stat           ; 擪AhX
	; L̈ϐɊ蓖Ăi^j
	dupptr sharedbuf, lpdata, Shared_Memory_size, 2
	
	; L當Rs[
	memcpy textbuf,sharedbuf,Shared_Memory_size,0,0
	; r[̃}bsO
	; (̌ŕϐ sharedbuf ɃANZXƃG[ɂȂ܂)
	UnmapViewOfFile lpdata

	; (LG[̉̂ߕϐ sharedbuf ̍Ċm)
	dim sharedbuf, 1
	
	return


;----------------------------------------------------------------------
;	L@obt@XCb`ǂݍ
;----------------------------------------------------------------------
*Read_buf_switch
	; ==== Tu[`FLǂݎ ====
	; r[̃}bsO
	MapViewOfFile hmapobj2, FILE_MAP_READ, 0, 0, 0
	lpdata = stat           ; 擪AhX
	; L̈ϐɊ蓖Ăi^j
	dupptr sharedbuf, lpdata, 1, 2
	; L̈ɕRs[
	memcpy buf_sw,sharedbuf,1

	; r[̃}bsO
	; (̌ŕϐ sharedbuf ɃANZXƃG[ɂȂ܂)
	UnmapViewOfFile lpdata
	; (LG[̉̂ߕϐ sharedbuf ̍Ċm)
	dim sharedbuf, 1

	if buf_sw == ""{
		buf_sw = "0"
	}else:if buf_sw = "0" {
			
		buf_sw = "1"
	}else{
		buf_sw = "0"
	}

	return


;----------------------------------------------------------------------
;	L@ɂ
;----------------------------------------------------------------------
*WritedSharedMem_buf
	
	if buf_sw = "0" {
		
		; r[̃}bsO
		MapViewOfFile hmapobj0, FILE_MAP_WRITE, 0, 0, 0

		; 擪AhX
		lpdata = stat

		; L̈ϐɊ蓖Ăi^j
		dupptr sharedbuf2, lpdata, Shared_Memory_size, 2

		; L̈ɕRs[
		sdim Share_buffer_0,Shared_Memory_size
		memcpy sharedbuf2,Share_buffer_0,Shared_Memory_size,0,0
		;objprm 1, Share_buffer_0
	}else{
		
		; r[̃}bsO
		MapViewOfFile hmapobj1, FILE_MAP_WRITE, 0, 0, 0

		; 擪AhX
		lpdata = stat

		; L̈ϐɊ蓖Ăi^j
		dupptr sharedbuf2, lpdata, Shared_Memory_size, 2

		; L̈ɕRs[
		sdim Share_buffer_1,Shared_Memory_size
		memcpy sharedbuf2,Share_buffer_1,Shared_Memory_size,0,0
		;objprm 2, Share_buffer_1
	}
	; r[̃}bsO
	; (̌ŕϐ sharedbuf ɃANZXƃG[ɂȂ܂)
	UnmapViewOfFile lpdata
	; (LG[̉̂ߕϐ sharedbuf ̍Ċm)
	dim sharedbuf2, 1


	return

;----------------------------------------------------------------------
;	L@؂ւ
;----------------------------------------------------------------------
*Writed_buf_switch

	; ==== Tu[`FLɏ ====
	; r[̃}bsO
	MapViewOfFile hmapobj2, FILE_MAP_WRITE, 0, 0, 0
	lpdata = stat           ; 擪AhX
	; L̈ϐɊ蓖Ăi^j
	dupptr sharedbuf, lpdata, 1, 2
	; L̈ɕRs[
	sharedbuf = buf_sw_share_side
	; r[̃}bsO
	; (̌ŕϐ sharedbuf ɃANZXƃG[ɂȂ܂)
	UnmapViewOfFile lpdata
	; (LG[̉̂ߕϐ sharedbuf ̍Ċm)
	dim sharedbuf, 1
	
	return

;----------------------------------------------------------------------
;	L@LJn
;----------------------------------------------------------------------
*Writed_Share_true

	; ==== Tu[`FLɏ ====
	; r[̃}bsO
	MapViewOfFile hmapobj_Share_flg, FILE_MAP_WRITE, 0, 0, 0
	lpdata = stat           ; 擪AhX
	; L̈ϐɊ蓖Ăi^j
	dupptr sharedbuf, lpdata, 1, 2
	; L̈ɕRs[
	sharedbuf = "1"
	; r[̃}bsO
	; (̌ŕϐ sharedbuf ɃANZXƃG[ɂȂ܂)
	UnmapViewOfFile lpdata
	; (LG[̉̂ߕϐ sharedbuf ̍Ċm)
	dim sharedbuf, 1
	
	return
;----------------------------------------------------------------------
;	L@L~
;----------------------------------------------------------------------
*Writed_Share_false

	; ==== Tu[`FLɏ ====
	; r[̃}bsO
	MapViewOfFile hmapobj_Share_flg, FILE_MAP_WRITE, 0, 0, 0
	lpdata = stat           ; 擪AhX
	; L̈ϐɊ蓖Ăi^j
	dupptr sharedbuf, lpdata, 1, 2
	; L̈ɕRs[
	sharedbuf = "0"
	; r[̃}bsO
	; (̌ŕϐ sharedbuf ɃANZXƃG[ɂȂ܂)
	UnmapViewOfFile lpdata
	; (LG[̉̂ߕϐ sharedbuf ̍Ċm)
	dim sharedbuf, 1
	
	return



;--------------------------------------------------------------------
;	tʗpEChE@IuWFNgzu
;--------------------------------------------------------------------

*GRAPH_SUB
*graph_window
	graph_flg = 1

	gsel 0,1
	
	GetWindowLong hwnd, -20
	;SetWindowTheme hwnd,"",""
	;oncmd gosub *window_drag, WM_MOVING
	;oncmd gosub *window_drag_end, WM_EXITSIZEMOVE
	;oncmd gosub *window_drag, 0x0113
	;width ,,t_window_x ,t_window_y

	color 83,83,100
	boxf

	pos 630,570
	button gosub "ڍאݒ",*graph_syousai_setting
	pos 500,570
	button gosub "OtNA",*graph_clear

	objsize 150,20
	pos 10,570
	button gosub "Otʂ摜ۑ",*graph_window_save

	ddim min,4,4
	ddim max,4,4

	return
	

*graph_syousai_setting_window

	gsel 7
	

	cls

	color 0,0,0
	boxf 20,20,150,150
	color 255,255,255
	boxf 25,25,145,145
	color 0,0,0
	pos 50,70
	mes "Ot@"

	color 0,0,0
	boxf 20+150,20,150+150,150
	color 255,255,255
	boxf 25+150,25,145+150,85
	boxf 25+150,90,145+150,145
	color 0,0,0
	pos 205,45
	mes "Ot@"
	pos 205,110
	mes "OtA"

	color 0,0,0
	boxf 20+150+150,20,150+150+150,150
	color 255,255,255
	boxf 25+150+150,25,83+150+150,85
	boxf 88+150+150,25,145+150+150,85
	boxf 25+150+150,90,145+150+150,145
	color 0,0,0
	pos 330,40
	mes "Ot\n@@"
	pos 393,40
	mes "Ot\n@A"
	pos 355,110
	mes "OtB"

	color 0,0,0
	boxf 20+150+150+150,20,150+150+150+150,150
	color 255,255,255
	boxf 25+150+150+150,25,83+150+150+150,83
	boxf 88+150+150+150,25,145+150+150+150,83
	boxf 25+150+150+150,25+63,83+150+150+150,85+60
	boxf 88+150+150+150,25+63,145+150+150+150,85+60
	color 0,0,0
	pos 480,40
	mes "Ot\n@@"
	pos 542,40
	mes "Ot\n@A"
	pos 480,100
	mes "Ot\n@B"
	pos 542,100
	mes "Ot\n@C"
	;gsel 7,1

	objsize 80,20
	pos 50,170
	chkbox "Ȃ", Graph_Split0
	objHWND_graph_bunkatu_0 = objinfo(stat, 2)
	sendmsg objinfo(stat, 2), $F4, $9
	

	pos 200,170
	chkbox "2", Graph_Split1
	objHWND_graph_bunkatu_1 = objinfo(stat, 2)
	sendmsg objinfo(stat, 2), $F4, $9

	pos 350,170
	chkbox "3", Graph_Split2
	objHWND_graph_bunkatu_2 = objinfo(stat, 2)
	sendmsg objinfo(stat, 2), $F4, $9

	pos 500,170
	chkbox "4", Graph_Split3
	objHWND_graph_bunkatu_3 = objinfo(stat, 2)
	sendmsg objinfo(stat, 2), $F4, $9

	objsize 80,20
	pos 50,200
	button gosub "Ot@ݒ",*graph0_0
	objID_gsel7_graph0_0_button = stat
	pos 200,200
	button gosub "Ot@ݒ",*graph1_0
	objID_gsel7_graph1_0_button = stat
	pos 200,250
	button gosub "OtAݒ",*graph1_1
	objID_gsel7_graph1_1_button = stat

	pos 350,200
	button gosub "Ot@ݒ",*graph2_0
	objID_gsel7_graph2_0_button = stat
	pos 350,250
	button gosub "OtAݒ",*graph2_1
	objID_gsel7_graph2_1_button = stat
	pos 350,300
	button gosub "OtBݒ",*graph2_2
	objID_gsel7_graph2_2_button = stat

	pos 500,200
	button gosub "Ot@ݒ",*graph3_0
	objID_gsel7_graph3_0_button = stat
	pos 500,250
	button gosub "OtAݒ",*graph3_1
	objID_gsel7_graph3_1_button = stat
	pos 500,300
	button gosub "OtBݒ",*graph3_2
	objID_gsel7_graph3_2_button = stat
	pos 500,350
	button gosub "OtCݒ",*graph3_3
	objID_gsel7_graph3_3_button = stat
	graph = -1
	
	gosub *gsel_7_button_objgray
	gsel 7,-1



	return

	
;--------------------------------------------------------------------
; @_CAO\
;--------------------------------------------------------------------
*dialog_mes_window
	title "bZ[W"
	dialog_mes = ""
	mesbox dialog_mes,300,100,0,500
	objID_gsel_10_mesbox = stat
	pos 125,120
	objsize 50,20
	button gosub "OK",*dialog_wind_OK
	gsel 10,-1

	return

;--------------------------------------------------------------------
; @Ot
;--------------------------------------------------------------------
*graph_window_save

	gsel 0
	save_name = mydir+"\\save_image\\graph_"+date_str(0) + "_" + time_str(0) + ".jpg"
	bmpsave save_name
	
	dialog_mes = save_name + "֕ۑ܂B"
	gosub *dialog_wind
	
	return

;--------------------------------------------------------------------
; @Ot
;--------------------------------------------------------------------
*graph_clear
	
	gsel 0
	color 83,83,100
	boxf

	Split_data_cnt = 0
	gosub *graph_display
	
	return


*graph_syousai_setting
	
	gsel 7,2
	return


*graph0_0
	graph_settei = 0
	gsel 7,-1
	graph_syousai_wind_title = "Ot@ڍאݒ"
	gosub *graph_syousai_setting2
	return

*graph1_0
	gsel 7,-1
	graph_settei = 0
	graph_syousai_wind_title = "Ot@ڍאݒ"
	gosub *graph_syousai_setting2
	return
	
*graph1_1
	gsel 7,-1
	graph_settei = 1
	graph_syousai_wind_title = "OtAڍאݒ"
	gosub *graph_syousai_setting2
	return
	
*graph2_0
	gsel 7,-1
	graph_settei = 0
	graph_syousai_wind_title = "Ot@ڍאݒ"
	gosub *graph_syousai_setting2
	return
	
*graph2_1
	gsel 7,-1
	graph_settei = 1
	graph_syousai_wind_title = "OtAڍאݒ"
	gosub *graph_syousai_setting2
	return
	
*graph2_2
	gsel 7,-1
	graph_settei = 2
	graph_syousai_wind_title = "OtBڍאݒ"
	gosub *graph_syousai_setting2
	return
	
*graph3_0
	gsel 7,-1
	graph_settei = 0
	graph_syousai_wind_title = "Ot@ڍאݒ"
	gosub *graph_syousai_setting2
	return
	
*graph3_1
	gsel 7,-1
	graph_settei = 1
	graph_syousai_wind_title = "OtAڍאݒ"
	gosub *graph_syousai_setting2
	return
	
*graph3_2
	gsel 7,-1
	graph_settei = 2
	graph_syousai_wind_title = "OtBڍאݒ"
	gosub *graph_syousai_setting2
	return
	
*graph3_3
	gsel 7,-1
	graph_settei = 3
	graph_syousai_wind_title = "OtCڍאݒ"
	gosub *graph_syousai_setting2
	return

*graph_syousai_setting2
	
	gsel_8_flg = 1
	screen 8,650,350,6
	title graph_syousai_wind_title
	gsel 8,1
	cls
	SetWindowTheme hwnd,"",""
	;oncmd gosub *window_drag, WM_MOVING
	;oncmd gosub *window_drag_end, WM_EXITSIZEMOVE
	;oncmd gosub *window_drag, 0x0113
	
	gsel 8,2

	cls
	color 83,83,100
	boxf

	min1=str(min_kotei.graph_settei.1)
	max1=str(max_kotei.graph_settei.1)
	min2=str(min_kotei.graph_settei.2)
	max2=str(max_kotei.graph_settei.2)
	memori=str(memori_kotei.graph_settei)

	
	color 255,255,255
	pos 0,0
	mes "Ot"
	pos 100,0
	objsize 150,20
	combox graph_syurui,120,"yOz܂Ot"
	;combox graph_syurui,120,"yOz܂Ot\nyOz_Ot\nyOzzOt\nyuzAiO[^[\nyuz_[^["

	objsize 90,20
	
	pos 0,40
	mes "1MAX"
	pos 70,40
	input max1
	
	pos 0,60
	mes "1MIN"
	pos 70,60
	input min1

	pos 200,40
	mes "2MAX"
	pos 270,40
	input max2

	pos 200,60
	mes "2MIN"
	pos 270,60
	input min2

	pos 400,40
	mes ""
	pos 470,40
	input memori

	pos 0,100
	mes "1Kpw"
	cnt_ckb_i = 0
	cnt_ckb_y = 0
	cnt_ckb = 0
	objsize 45,20
	repeat 2
		repeat 10
			pos 100+(cnt_ckb_y * 55) + 5,100 + (cnt_ckb_i * 20)
			chkbox str(cnt_ckb),youso_flg.graph_settei.cnt_ckb
			cnt_ckb_y++
			cnt_ckb++
		loop
		cnt_ckb_y = 0
		cnt_ckb_i++
	loop

	pos 0,150
	mes "2Kpw"
	cnt_ckb_i = 0
	cnt_ckb_y = 0
	cnt_ckb = 0
	objsize 45,20
	repeat 2
		repeat 10
			pos 100+(cnt_ckb_y * 55) + 5,150 + (cnt_ckb_i * 20)
			chkbox str(cnt_ckb),nijiku_tekiyou.graph_settei.cnt_ckb
			cnt_ckb_y++
			cnt_ckb++
		loop
		cnt_ckb_y = 0
		cnt_ckb_i++
	loop

	pos 0,200
	mes "Fw"
	cnt_input_i = 0
	cnt_input_y = 0
	cnt_input = 0
	objsize 45,20
	repeat 2
		repeat 10
			pos 100+(cnt_input_y * 55) + 5,200 + (cnt_input_i * 20)
			;iro.cnt_input="ff0000"
			input iro.graph_settei.cnt_input
			objID_gsel_8_iro_input.cnt_input = stat
			cnt_input_y++
			cnt_input++
		loop
		cnt_input_y = 0
		cnt_input_i++
	loop

	repeat 10
	color int("$"+strmid(iro.graph_settei.cnt,0,2)),int("$"+strmid(iro.graph_settei.cnt,2,2)),int("$"+strmid(iro.graph_settei.cnt,4,2))
	boxf 98+(cnt * 55),202,105+(cnt * 55),208
	loop
	repeat 10
		color int("$"+strmid(iro.graph_settei.(cnt+10),0,2)),int("$"+strmid(iro.graph_settei.(cnt+10),2,2)),int("$"+strmid(iro.graph_settei.(cnt+10),4,2))
		boxf 98+(cnt * 55),222,105+(cnt * 55),228
	loop

	objsize 9,8
	repeat 10
		pos 96+(cnt*55),210
		button gosub "",*iro_dialog
		objID_gsel_8_iro_button.cnt = stat
	loop
	repeat 10
		pos 96+(cnt*55),230
		button gosub "",*iro_dialog
		objID_gsel_8_iro_button.(cnt+10) = stat
	loop

	color 255,255,255
	pos 0,250
	mes "ItZbg"
	cnt_input_i = 0
	cnt_input_y = 0
	cnt_input = 0
	objsize 45,20
	repeat 2
		repeat 10
			pos 100+(cnt_input_y * 55) + 5,250 + (cnt_input_i * 20)
			input offset.graph_settei.cnt_input
			cnt_input_y++
			cnt_input++
		loop
		cnt_input_y = 0
		cnt_input_i++
	loop

	pos 590,320
	button gosub "Kp",*graph_syousai_setting2_tekiyou

	objsel 0

	
	return



;--------------------------------------------------------------------
; @F_CAO
;--------------------------------------------------------------------
*iro_dialog
	gsel 8
	objID = stat - objID_gsel_8_iro_button.0
	gsel 12,2
	
	return



	
;--------------------------------------------------------------------
; @OtݒKp@ۑ
;--------------------------------------------------------------------
*graph_syousai_setting2_tekiyou

	graph_syurui.graph_settei = int(graph_syurui)
	min_kotei.graph_settei.1 = double(min1)
	max_kotei.graph_settei.1 = double(max1)
	min_kotei.graph_settei.2 = double(min2)
	max_kotei.graph_settei.2 = double(max2)
	memori_kotei.graph_settei = int(memori)

	repeat 20
		youso_flg.graph_settei.cnt = int(str(youso_flg.graph_settei.cnt))
		nijiku_tekiyou.graph_settei.cnt = int(nijiku_tekiyou.graph_settei.cnt)
		iro.graph_settei.cnt = str(iro.graph_settei.cnt)
		offset.graph_settei.cnt = int(offset.graph_settei.cnt)
	loop

*graph_syousai_setting2_tekiyou_2
	sdim graph_setting,150,4,5
	graph_a = 0
	repeat 4
		graph_setting.graph_a.0 = str(graph_syurui.graph_a)
		graph_setting.graph_a.1 = str(min_kotei.graph_a.1)+","+str(max_kotei.graph_a.1)+","+str(min_kotei.graph_a.2)+","+str(max_kotei.graph_a.2)+","+str(memori_kotei.graph_a)
		repeat 20
			graph_setting.graph_a.2 += str(youso_flg.graph_a.cnt)
			graph_setting.graph_a.3 += str(nijiku_tekiyou.graph_a.cnt)
			graph_setting.graph_a.4 += str(iro.graph_a.cnt)+","
			graph_setting.graph_a.5 += str(offset.graph_a.cnt)+","
		loop
		graph_a++
	loop


	graph_setting_str = "Graph_Split="+str(Graph_Split)+"\n"
	repeat 4
		graph_setting_str += "graph_"+str(cnt)+"_A="+graph_setting.cnt.0+"\n"
		graph_setting_str += "graph_"+str(cnt)+"_B="+graph_setting.cnt.1+"\n"
		graph_setting_str += "graph_"+str(cnt)+"_C="+graph_setting.cnt.2+"\n"
		graph_setting_str += "graph_"+str(cnt)+"_D="+graph_setting.cnt.3+"\n"
		graph_setting_str += "graph_"+str(cnt)+"_E="+graph_setting.cnt.4+"\n"
		graph_setting_str += "graph_"+str(cnt)+"_F="+graph_setting.cnt.5+"\n"

	loop

	notesel graph_setting_str
	notesave mydir+"\\"+"graph_setting.ini"


	if(gsel_8_flg == 1){
		gsel 8,-1
	}
	
	gsel 7,1
	gosub *graph_setting_read
	
	return


;--------------------------------------------------------------------
; @Otڍ׉ʂ̃IuWFNgԐؑ
;--------------------------------------------------------------------
*gsel_7_button_objgray
	
	gsel 7,1
	if(Graph_Split == 0){
		Graph_Split0 = 1
		Graph_Split1 = 0
		Graph_Split2 = 0
		Graph_Split3 = 0
		objgray objID_gsel7_graph0_0_button,1
		objgray objID_gsel7_graph1_0_button,0
		objgray objID_gsel7_graph1_1_button,0
		objgray objID_gsel7_graph2_0_button,0
		objgray objID_gsel7_graph2_1_button,0
		objgray objID_gsel7_graph2_2_button,0
		objgray objID_gsel7_graph3_0_button,0
		objgray objID_gsel7_graph3_1_button,0
		objgray objID_gsel7_graph3_2_button,0
		objgray objID_gsel7_graph3_3_button,0
	}
	if(Graph_Split == 1){
		Graph_Split0 = 0
		Graph_Split1 = 1
		Graph_Split2 = 0
		Graph_Split3 = 0
		objgray objID_gsel7_graph0_0_button,0
		objgray objID_gsel7_graph1_0_button,1
		objgray objID_gsel7_graph1_1_button,1
		objgray objID_gsel7_graph2_0_button,0
		objgray objID_gsel7_graph2_1_button,0
		objgray objID_gsel7_graph2_2_button,0
		objgray objID_gsel7_graph3_0_button,0
		objgray objID_gsel7_graph3_1_button,0
		objgray objID_gsel7_graph3_2_button,0
		objgray objID_gsel7_graph3_3_button,0
	}
	if(Graph_Split == 2){
		Graph_Split0 = 0
		Graph_Split1 = 0
		Graph_Split2 = 1
		Graph_Split3 = 0
		objgray objID_gsel7_graph0_0_button,0
		objgray objID_gsel7_graph1_0_button,0
		objgray objID_gsel7_graph1_1_button,0
		objgray objID_gsel7_graph2_0_button,1
		objgray objID_gsel7_graph2_1_button,1
		objgray objID_gsel7_graph2_2_button,1
		objgray objID_gsel7_graph3_0_button,0
		objgray objID_gsel7_graph3_1_button,0
		objgray objID_gsel7_graph3_2_button,0
		objgray objID_gsel7_graph3_3_button,0
	}
	
	if(Graph_Split == 3){
		Graph_Split0 = 0
		Graph_Split1 = 0
		Graph_Split2 = 0
		Graph_Split3 = 1
		objgray objID_gsel7_graph0_0_button,0
		objgray objID_gsel7_graph1_0_button,0
		objgray objID_gsel7_graph1_1_button,0
		objgray objID_gsel7_graph2_0_button,0
		objgray objID_gsel7_graph2_1_button,0
		objgray objID_gsel7_graph2_2_button,0
		objgray objID_gsel7_graph3_0_button,1
		objgray objID_gsel7_graph3_1_button,1
		objgray objID_gsel7_graph3_2_button,1
		objgray objID_gsel7_graph3_3_button,1
	}
	return


	
;---------------------------------------------------------------------
;       Ot\
;---------------------------------------------------------------------
*graph_display

	sdim Split_data,20,20
	
	
	split graph_data,",",Split_data(0),Split_data(1),Split_data(2),Split_data(3),Split_data(4),Split_data(5),Split_data(6),Split_data(7),Split_data(8),Split_data(9),Split_data(10),Split_data(11),Split_data(12),Split_data(13),Split_data(14),Split_data(15),Split_data(16),Split_data(17),Split_data(18),Split_data(19),Split_data(20)
	Split_data_index = stat
	
	repeat Split_data_index
		strrep Split_data(cnt),"\n",""
	loop

	if(Split_data_cnt == 0){
		repeat 20
			Split_data_last.cnt = Split_data.cnt
		loop
	}

	oncmd 0
	gsel 0
	
	if Graph_Split = 0{
		gosub *graph_display_0
		
	}else:if Graph_Split = 1{
		color 83,83,100//OtʃNA
		boxf 0,280,720,310
		gosub *graph_display_1
		
	}else:if Graph_Split = 2{
		color 83,83,100//OtʃNA
		boxf 0,280,720,310
		gosub *graph_display_2
		
	}else:if Graph_Split = 3{
		color 83,83,100//OtʃNA
		boxf 0,280,720,310
		gosub *graph_display_3
		
	}
	
	repeat 20
		Split_data_last.cnt = Split_data.cnt
	loop
	
	oncmd 1
	return


;--------------------------------------------------------------------
; @
;--------------------------------------------------------------------
*graph_display_0
	;---------------------------------
	;Ot1
	graph = 0
	graph_size = 450,600
	gosub *graph_max_min_get
	g_sel = 1
	gosub *keisen_line_drawing

	gosub *graph_axis
	gsel 0
	
	return

;--------------------------------------------------------------------
; @
;--------------------------------------------------------------------
*graph_display_1
	;---------------------------------
	;Ot0
	graph = 0
	graph_size = 200,600
	gosub *graph_max_min_get
	g_sel = 1
	gosub *keisen_line_drawing
	
	;---------------------------------
	;Ot1
	graph = 1
	graph_size = 200,600
	gosub *graph_max_min_get
	g_sel = 2
	gosub *keisen_line_drawing

	gosub *graph_axis
	gsel 0
	
	return

;--------------------------------------------------------------------
; @
;--------------------------------------------------------------------
*graph_display_2
	;---------------------------------
	;Ot0
	graph = 0
	graph_size = 200,600
	gosub *graph_max_min_get
	g_sel = 1
	gosub *keisen_line_drawing
	
	;---------------------------------
	;Ot1
	graph = 1
	graph_size = 200,240
	gosub *graph_max_min_get
	g_sel = 2
	gosub *keisen_line_drawing
	;---------------------------------
	;Ot2
	graph = 2
	graph_size = 200,240
	gosub *graph_max_min_get
	g_sel = 3
	gosub *keisen_line_drawing
	
	gosub *graph_axis
	gsel 0
	
	return

	
;--------------------------------------------------------------------
; @
;--------------------------------------------------------------------
*graph_display_3
	;---------------------------------
	;Ot0
	graph = 0
	graph_size = 200,240
	gosub *graph_max_min_get
	g_sel = 1
	gosub *keisen_line_drawing
	;---------------------------------
	;Ot1
	graph = 1
	graph_size = 200,240
	gosub *graph_max_min_get
	g_sel = 2
	gosub *keisen_line_drawing
	;---------------------------------
	;Ot2
	graph = 2
	graph_size = 200,240
	gosub *graph_max_min_get
	g_sel = 3
	gosub *keisen_line_drawing
	;---------------------------------
	;Ot3
	graph = 3
	graph_size = 200,240
	gosub *graph_max_min_get
	g_sel = 4
	gosub *keisen_line_drawing

	gosub *graph_axis
	gsel 0
	
	return





;----------------------------------------------------------
;
;----------------------------------------------------------
*graph_max_min
	if(youso_flg.graph.graph_data_youso == 1){
		if(max.graph.1 < double(p0.graph_data_youso)){
			max.graph.1 = double(p0.graph_data_youso);+1.0
		}

		if(min.graph.1 > double(p0.graph_data_youso)){
			min.graph.1 = double(p0.graph_data_youso);+1.0
			
		}
	}
	if(nijiku_tekiyou.graph.graph_data_youso == 1){
		if(max.graph.2 < double(p0.graph_data_youso)){
			max.graph.2 = double(p0.graph_data_youso);+1.0
		}
		if(min.graph.2 > double(p0.graph_data_youso)){
			min.graph.2 = double(p0.graph_data_youso);+1.0
		}
	}
	return

;--------------------------------------------------------------------
; @F_CAOʗpEChE@IuWFNgzu
;--------------------------------------------------------------------
*COLOR_DIALOG_WIND_OBJSET_SUB
*color_dialog_wind
	
	gsel 11
	color 83,83,100
	boxf 
	y=0
	color $ff,$7a,$ff
	boxf 0,y,25,y+20
	y += 20
	color $ff,$75,$75
	boxf 0,y,25,y+20
	y += 20
	color $ff,$ff,$99
	boxf 0,y,25,y+20
	y += 20
	color $66,$99,$99
	boxf 0,y,25,y+20
	y += 20
	color $60,$ff,$af
	boxf 0,y,25,y+20
	y += 20
	color $ff,$00,$00
	boxf 0,y,25,y+20
	y += 20
	color $ff,$05,$ff
	boxf 0,y,25,y+20
	y += 20
	color $0a,$0a,$ff
	boxf 0,y,25,y+20
	y += 20
	color $14,$ff,$14
	boxf 0,y,25,y+20
	y += 20
	color $ff,$ff,$19
	boxf 0,y,25,y+20
	y += 20
	color $ff,$c6,$e2
	boxf 0,y,25,y+20
	y += 20
	color $ff,$28,$93
	boxf 0,y,25,y+20
	y += 20
	color $96,$2d,$ff
	boxf 0,y,25,y+20
	y += 20
	color $00,$00,$99
	boxf 0,y,25,y+20
	y += 20
	color $38,$9b,$ff
	boxf 0,y,25,y+20
	y += 20
	color $0b,$bf,$8c
	boxf 0,y,25,y+20
	y += 20
	color $a0,$ff,$42
	boxf 0,y,25,y+20
	y += 20
	color $ff,$a3,$47
	boxf 0,y,25,y+20
	y += 20
	color $ff,$51,$a8
	boxf 0,y,25,y+20
	y += 20
	color $aa,$56,$ff
	boxf 0,y,25,y+20
	
	
	gsel 12
	color 83,83,100
	boxf 
	
	objsize 25, 20
	
	y=0
	z=0
	repeat 4
		x=0
		repeat 5
			pos 10+(x*30),10+(y*30)
			objimage 11, 0, z*20
			button gosub " ",*color_dialog_colorselection
			x++
			z++
		loop
		y++
	loop
	
	objsize 60, 20
	pos 10,150
	objimage -1
	button gosub "OK",*color_dialog_OK
	
	pos 90,150
	objimage -1
	button gosub "LZ",*color_dialog_cancel
	
	return
	
;--------------------------------------------------------------------
; @
;--------------------------------------------------------------------
*color_dialog_OK
	;dialog "",32
	gsel 8
	;objID_gsel_8_iro_input.objID
	objprm objID_gsel_8_iro_input.objID,"" + strf("%02x",color_dialog_r) + strf("%02x",color_dialog_g) + strf("%02x",color_dialog_b)
	
	repeat 10;iro.graph_settei.cnt_input
		color int("$"+strmid(iro.graph_settei.cnt,0,2)),int("$"+strmid(iro.graph_settei.cnt,2,2)),int("$"+strmid(iro.graph_settei.cnt,4,2))
		boxf 98+(cnt * 55),202,105+(cnt * 55),208
	loop
	repeat 10
		color int("$"+strmid(iro.graph_settei.(cnt+10),0,2)),int("$"+strmid(iro.graph_settei.(cnt+10),2,2)),int("$"+strmid(iro.graph_settei.(cnt+10),4,2))
		boxf 98+(cnt * 55),222,105+(cnt * 55),228
	loop

	gsel 12,-1
	return

;--------------------------------------------------------------------
; @
;--------------------------------------------------------------------
*color_dialog_cancel
	gsel 12,-1
	return

;--------------------------------------------------------------------
; @
;--------------------------------------------------------------------
*color_dialog_colorselection
	switch stat
	case 0
		color_dialog_r = $ff
		color_dialog_g = $7a
		color_dialog_b = $ff
		swbreak
	case 1
		color_dialog_r = $ff
		color_dialog_g = $75
		color_dialog_b = $75
		swbreak
	case 2
		color_dialog_r = $ff
		color_dialog_g = $ff
		color_dialog_b = $99
		swbreak
	case 3
		color_dialog_r = $66
		color_dialog_g = $99
		color_dialog_b = $99
		swbreak
	case 4
		color_dialog_r = $60
		color_dialog_g = $ff
		color_dialog_b = $af
		swbreak
	case 5
		color_dialog_r = $ff
		color_dialog_g = $00
		color_dialog_b = $00
		swbreak
	case 6
		color_dialog_r = $ff
		color_dialog_g = $05
		color_dialog_b = $ff
		swbreak
	case 7
		color_dialog_r = $0a
		color_dialog_g = $0a
		color_dialog_b = $ff
		swbreak
	case 8
		color_dialog_r = $14
		color_dialog_g = $ff
		color_dialog_b = $14
		swbreak
	case 9
		color_dialog_r = $ff
		color_dialog_g = $ff
		color_dialog_b = $19
		swbreak
	case 10
		color_dialog_r = $ff
		color_dialog_g = $c6
		color_dialog_b = $e2
		swbreak
	case 11
		color_dialog_r = $ff
		color_dialog_g = $28
		color_dialog_b = $93
		swbreak
	case 12
		color_dialog_r = $96
		color_dialog_g = $2d
		color_dialog_b = $ff
		swbreak
	case 13
		color_dialog_r = $00
		color_dialog_g = $00
		color_dialog_b = $99
		swbreak
	case 14
		color_dialog_r = $38
		color_dialog_g = $9b
		color_dialog_b = $ff
		swbreak
	case 15
		color_dialog_r = $0b
		color_dialog_g = $bf
		color_dialog_b = $8c
		swbreak
	case 16
		color_dialog_r = $a0
		color_dialog_g = $ff
		color_dialog_b = $42
		swbreak
	case 17
		color_dialog_r = $ff
		color_dialog_g = $a3
		color_dialog_b = $47
		swbreak
	case 18
		color_dialog_r = $ff
		color_dialog_g = $51
		color_dialog_b = $a8
		swbreak
	case 19
		color_dialog_r = $aa
		color_dialog_g = $56
		color_dialog_b = $ff
		swbreak
	default
		swbreak
	swend

	return


;---------------------------------------------------------------------
;       ϐlǂݍ
;---------------------------------------------------------------------
*graph_setting_read
	variable = ""
	ddim min_kotei,4,4
	ddim max_kotei,4,4
	dim memori_kotei,4
	sdim iro,120,4,20
	dim offset,4,20
	dim nijiku_tekiyou,4,20
	dim youso_flg,4,20
	
	notesel variable
	noteload mydir+"\\"+"graph_setting.ini"
	variable_max = notemax
	repeat variable_max
		noteget variable_noteget,cnt
		if(strmid(variable_noteget,0,1)!=";"){
			split variable_noteget, "=", variable_name, variable_val
		
			switch variable_name
			case "Graph_Split"
				Graph_Split = int(variable_val)
				if(Graph_Split == 0):Graph_Split0 = 1
				if(Graph_Split == 1):Graph_Split1 = 1
				if(Graph_Split == 2):Graph_Split2 = 1
				if(Graph_Split == 3):Graph_Split3 = 1
				swbreak
			case "graph_0_A"
				graph = 0
				graph_syurui.graph = int(variable_val)
				swbreak
			case "graph_0_B"
				graph = 0
				split variable_val,",",v0,v1,v2,v3,v4
				min_kotei.graph.1 = double(v0)
				max_kotei.graph.1 = double(v1)
				min_kotei.graph.2 = double(v2)
				max_kotei.graph.2 = double(v3)
				memori_kotei.graph = int(v4)
				swbreak
			case "graph_0_C"
				graph = 0
				repeat 20
					youso_flg.graph.cnt = int(strmid(variable_val,cnt,1))
				loop
				swbreak
			case "graph_0_D"
				graph = 0
				repeat 20
					nijiku_tekiyou.graph.cnt = int(strmid(variable_val,cnt,1))
				loop
				swbreak
			case "graph_0_E"
				graph = 0
				split variable_val,",",iro.graph.0,iro.graph.1,iro.graph.2,iro.graph.3,iro.graph.4,iro.graph.5,iro.graph.6,iro.graph.7,iro.graph.8,iro.graph.9,iro.graph.10,iro.graph.11,iro.graph.12,iro.graph.13,iro.graph.14,iro.graph.15,iro.graph.16,iro.graph.17,iro.graph.18,iro.graph.19
				swbreak
			case "graph_0_F"
				graph = 0
				split variable_val,",",v0,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19
				offset.graph.0 = int(v0)
				offset.graph.1 = int(v1)
				offset.graph.2 = int(v2)
				offset.graph.3 = int(v3)
				offset.graph.4 = int(v4)
				offset.graph.5 = int(v5)
				offset.graph.6 = int(v6)
				offset.graph.7 = int(v7)
				offset.graph.8 = int(v8)
				offset.graph.9 = int(v9)
				offset.graph.10 = int(v10)
				offset.graph.11 = int(v11)
				offset.graph.12 = int(v12)
				offset.graph.13 = int(v13)
				offset.graph.14 = int(v14)
				offset.graph.15 = int(v15)
				offset.graph.16 = int(v16)
				offset.graph.17 = int(v17)
				offset.graph.18 = int(v18)
				offset.graph.19 = int(v19)
				
				swbreak
			case "graph_1_A"
				graph = 1
				graph_syurui.graph = int(variable_val)
				swbreak
			case "graph_1_B"
				graph = 1
				split variable_val,",",v0,v1,v2,v3,v4
				min_kotei.graph.1 = double(v0)
				max_kotei.graph.1 = double(v1)
				min_kotei.graph.2 = double(v2)
				max_kotei.graph.2 = double(v3)
				memori_kotei.graph = int(v4)
				swbreak
			case "graph_1_C"
				graph = 1
				repeat 20
					youso_flg.graph.cnt = int(strmid(variable_val,cnt,1))
				loop
				swbreak
			case "graph_1_D"
				graph = 1
				repeat 20
					nijiku_tekiyou.graph.cnt = int(strmid(variable_val,cnt,1))
				loop
				swbreak
			case "graph_1_E"
				graph = 1
				split variable_val,",",iro.graph.0,iro.graph.1,iro.graph.2,iro.graph.3,iro.graph.4,iro.graph.5,iro.graph.6,iro.graph.7,iro.graph.8,iro.graph.9,iro.graph.10,iro.graph.11,iro.graph.12,iro.graph.13,iro.graph.14,iro.graph.15,iro.graph.16,iro.graph.17,iro.graph.18,iro.graph.19
				swbreak
			case "graph_1_F"
				graph = 1
				split variable_val,",",v0,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19
				offset.graph.0 = int(v0)
				offset.graph.1 = int(v1)
				offset.graph.2 = int(v2)
				offset.graph.3 = int(v3)
				offset.graph.4 = int(v4)
				offset.graph.5 = int(v5)
				offset.graph.6 = int(v6)
				offset.graph.7 = int(v7)
				offset.graph.8 = int(v8)
				offset.graph.9 = int(v9)
				offset.graph.10 = int(v10)
				offset.graph.11 = int(v11)
				offset.graph.12 = int(v12)
				offset.graph.13 = int(v13)
				offset.graph.14 = int(v14)
				offset.graph.15 = int(v15)
				offset.graph.16 = int(v16)
				offset.graph.17 = int(v17)
				offset.graph.18 = int(v18)
				offset.graph.19 = int(v19)
				
				swbreak
			case "graph_2_A"
				graph = 2
				graph_syurui.graph = int(variable_val)
				swbreak
			case "graph_2_B"
				graph = 2
				split variable_val,",",v0,v1,v2,v3,v4
				min_kotei.graph.1 = double(v0)
				max_kotei.graph.1 = double(v1)
				min_kotei.graph.2 = double(v2)
				max_kotei.graph.2 = double(v3)
				memori_kotei.graph = int(v4)
				swbreak
			case "graph_2_C"
				graph = 2
				repeat 20
					youso_flg.graph.cnt = int(strmid(variable_val,cnt,1))
				loop
				swbreak
			case "graph_2_D"
				graph = 2
				repeat 20
					nijiku_tekiyou.graph.cnt = int(strmid(variable_val,cnt,1))
				loop
				swbreak
			case "graph_2_E"
				graph = 2
				split variable_val,",",iro.graph.0,iro.graph.1,iro.graph.2,iro.graph.3,iro.graph.4,iro.graph.5,iro.graph.6,iro.graph.7,iro.graph.8,iro.graph.9,iro.graph.10,iro.graph.11,iro.graph.12,iro.graph.13,iro.graph.14,iro.graph.15,iro.graph.16,iro.graph.17,iro.graph.18,iro.graph.19
				swbreak
			case "graph_2_F"
				graph = 2
				split variable_val,",",v0,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19
				offset.graph.0 = int(v0)
				offset.graph.1 = int(v1)
				offset.graph.2 = int(v2)
				offset.graph.3 = int(v3)
				offset.graph.4 = int(v4)
				offset.graph.5 = int(v5)
				offset.graph.6 = int(v6)
				offset.graph.7 = int(v7)
				offset.graph.8 = int(v8)
				offset.graph.9 = int(v9)
				offset.graph.10 = int(v10)
				offset.graph.11 = int(v11)
				offset.graph.12 = int(v12)
				offset.graph.13 = int(v13)
				offset.graph.14 = int(v14)
				offset.graph.15 = int(v15)
				offset.graph.16 = int(v16)
				offset.graph.17 = int(v17)
				offset.graph.18 = int(v18)
				offset.graph.19 = int(v19)
				
				swbreak
			case "graph_3_A"
				graph = 3
				graph_syurui.graph = int(variable_val)
				swbreak
			case "graph_3_B"
				graph = 3
				split variable_val,",",v0,v1,v2,v3,v4
				min_kotei.graph.1 = double(v0)
				max_kotei.graph.1 = double(v1)
				min_kotei.graph.2 = double(v2)
				max_kotei.graph.2 = double(v3)
				memori_kotei.graph = int(v4)
				swbreak
			case "graph_3_C"
				graph = 3
				repeat 20
					youso_flg.graph.cnt = int(strmid(variable_val,cnt,1))
				loop
				swbreak
			case "graph_3_D"
				graph = 3
				repeat 20
					nijiku_tekiyou.graph.cnt = int(strmid(variable_val,cnt,1))
				loop
				swbreak
			case "graph_3_E"
				graph = 3
				split variable_val,",",iro.graph.0,iro.graph.1,iro.graph.2,iro.graph.3,iro.graph.4,iro.graph.5,iro.graph.6,iro.graph.7,iro.graph.8,iro.graph.9,iro.graph.10,iro.graph.11,iro.graph.12,iro.graph.13,iro.graph.14,iro.graph.15,iro.graph.16,iro.graph.17,iro.graph.18,iro.graph.19
				swbreak
			case "graph_3_F"
				graph = 3
				split variable_val,",",v0,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19
				offset.graph.0 = int(v0)
				offset.graph.1 = int(v1)
				offset.graph.2 = int(v2)
				offset.graph.3 = int(v3)
				offset.graph.4 = int(v4)
				offset.graph.5 = int(v5)
				offset.graph.6 = int(v6)
				offset.graph.7 = int(v7)
				offset.graph.8 = int(v8)
				offset.graph.9 = int(v9)
				offset.graph.10 = int(v10)
				offset.graph.11 = int(v11)
				offset.graph.12 = int(v12)
				offset.graph.13 = int(v13)
				offset.graph.14 = int(v14)
				offset.graph.15 = int(v15)
				offset.graph.16 = int(v16)
				offset.graph.17 = int(v17)
				offset.graph.18 = int(v18)
				offset.graph.19 = int(v19)
				
				swbreak
			
			default
				swbreak
			swend 
		}
	loop

	return


;-------------------------------------------------------------------
; @
;-------------------------------------------------------------------	
*dialog_wind
	oncmd 0
	gsel 10,2
	objprm objID_gsel_10_mesbox,dialog_mes
	oncmd 1
	return

;-------------------------------------------------------------------
; @
;-------------------------------------------------------------------
*dialog_wind_OK
	;oncmd 0
	gsel 10,-1
	;oncmd 1
	return
	
;----------------------------------------------------------------------
;
;----------------------------------------------------------------------
*command
	
	if(lparam == objHWND_graph_bunkatu_0){

		gsel 7
		Graph_Split0 = 1
		Graph_Split1 = 0
		Graph_Split2 = 0
		Graph_Split3 = 0
		Graph_Split=0
		objgray objID_gsel7_graph0_0_button,1//IuWFNggp
		objgray objID_gsel7_graph1_0_button,0	//IuWFNggps
		objgray objID_gsel7_graph1_1_button,0	//IuWFNggps
		objgray objID_gsel7_graph2_0_button,0	//IuWFNggps
		objgray objID_gsel7_graph2_1_button,0	//IuWFNggps
		objgray objID_gsel7_graph2_2_button,0	//IuWFNggps
		objgray objID_gsel7_graph3_0_button,0	//IuWFNggps
		objgray objID_gsel7_graph3_1_button,0	//IuWFNggps
		objgray objID_gsel7_graph3_2_button,0	//IuWFNggps
		objgray objID_gsel7_graph3_3_button,0	//IuWFNggps
		Split_data_cnt = 0

		gosub *graph_clear
		
		
	}else:if(lparam == objHWND_graph_bunkatu_1){

		gsel 7
		Graph_Split0 = 0
		Graph_Split1 = 1
		Graph_Split2 = 0
		Graph_Split3 = 0
		Graph_Split=1
		objgray objID_gsel7_graph0_0_button,0	//IuWFNggps
		objgray objID_gsel7_graph1_0_button,1//IuWFNggp
		objgray objID_gsel7_graph1_1_button,1//IuWFNggp
		objgray objID_gsel7_graph2_0_button,0	//IuWFNggps
		objgray objID_gsel7_graph2_1_button,0	//IuWFNggps
		objgray objID_gsel7_graph2_2_button,0	//IuWFNggps
		objgray objID_gsel7_graph3_0_button,0	//IuWFNggps
		objgray objID_gsel7_graph3_1_button,0	//IuWFNggps
		objgray objID_gsel7_graph3_2_button,0	//IuWFNggps
		objgray objID_gsel7_graph3_3_button,0	//IuWFNggps
		Split_data_cnt = 0

		gosub *graph_clear


	}else:if(lparam == objHWND_graph_bunkatu_2){

		gsel 7
		Graph_Split0 = 0
		Graph_Split1 = 0
		Graph_Split2 = 1
		Graph_Split3 = 0
		Graph_Split=2
		objgray objID_gsel7_graph0_0_button,0	//IuWFNggps
		objgray objID_gsel7_graph1_0_button,0	//IuWFNggps
		objgray objID_gsel7_graph1_1_button,0	//IuWFNggps
		objgray objID_gsel7_graph2_0_button,1//IuWFNggp
		objgray objID_gsel7_graph2_1_button,1//IuWFNggp
		objgray objID_gsel7_graph2_2_button,1//IuWFNggp
		objgray objID_gsel7_graph3_0_button,0	//IuWFNggps
		objgray objID_gsel7_graph3_1_button,0	//IuWFNggps
		objgray objID_gsel7_graph3_2_button,0	//IuWFNggps
		objgray objID_gsel7_graph3_3_button,0	//IuWFNggps
		Split_data_cnt = 0

		gosub *graph_clear


	}else:if(lparam == objHWND_graph_bunkatu_3){
		
		
		gsel 7
		Graph_Split0 = 0
		Graph_Split1 = 0
		Graph_Split2 = 0
		Graph_Split3 = 1
		Graph_Split=3
		objgray objID_gsel7_graph0_0_button,0	//IuWFNggps
		objgray objID_gsel7_graph1_0_button,0	//IuWFNggps
		objgray objID_gsel7_graph1_1_button,0	//IuWFNggps
		objgray objID_gsel7_graph2_0_button,0	//IuWFNggps
		objgray objID_gsel7_graph2_1_button,0	//IuWFNggps
		objgray objID_gsel7_graph2_2_button,0	//IuWFNggps
		objgray objID_gsel7_graph3_0_button,1//IuWFNggp
		objgray objID_gsel7_graph3_1_button,1//IuWFNggp
		objgray objID_gsel7_graph3_2_button,1//IuWFNggp
		objgray objID_gsel7_graph3_3_button,1//IuWFNggp
		Split_data_cnt = 0

		gosub *graph_clear

		
	}

	return




;--------------------------------------------------------------------
; @@@@@@@I@Tu[`
;--------------------------------------------------------------------

*comend_exit
	;oncmd 0
	if(wparam == 0){
		gsel 0,2
		gsel 0,1
		dialog "Ot\I܂H",2
		if(stat == 6){
			onclick 0

			;Li}bsOIuWFNg̃nh̃N[Yj
			if hmapobj {
			    CloseHandle hmapobj
			}
		
			if hmapobj0 {
			    CloseHandle hmapobj0
			}
		
			if hmapobj1 {
			    CloseHandle hmapobj1
			}
		
			if hmapobj2 {
			    CloseHandle hmapobj2
			}
		
			if hmapobj3 {
			    CloseHandle hmapobj3
			}

			if hmapobj_Share_flg{
				gosub *Writed_Share_false
				CloseHandle hmapobj_Share_flg
			}

			end
		}else{
			oncmd 1
			onclick 1
			
		}
	}else:if(wparam == 7){//Otݒ
		gosub *graph_syousai_setting2_tekiyou_2
		gsel 7,-1
		gsel 0,1
		
	}else:if(wparam == 8){//Ot
		gsel 8,-1
		;gsel 7,2
		gsel 0,1
	}else:if(wparam == 9){//Ot
		gsel 9,-1
		;gsel 7,2
		gsel 0,1
	}else:if(wparam == 10){//daialog
		gsel 10,-1
	}else:if(wparam == 12){//FI
		gsel 12,-1
	}


	return


;--------------------------------------------------------------------
;	L̐錾
;--------------------------------------------------------------------
*Share_mem_ini
;---------------------------------------------------------------------------------------------------------	
; t@C}bsOIuWFNg̍쐬
	Shared_Memory_name = "Share_flg"  ; t@C}bsOIuWFNg̖O
	CreateFileMapping -1, 0, PAGE_READWRITE, 0, 1, varptr(Shared_Memory_name)
	hmapobj_Share_flg = stat
	if hmapobj_Share_flg == 0 {

	    dialog_mes = "L[Share_buffer_0]쐬ł܂łB"
		gosub *dialog_wind
		stop
	}

	; IuWFNg쐬Ăǂ̔
	GetLastError           ; GetLastError֐ɂG[R[h擾
	if (stat == ERROR_ALREADY_EXISTS) {
	    ; łɓÕIuWFNg݂ꍇ.

	}

;---------------------------------------------------------------------------------------------------------	
; t@C}bsOIuWFNg̍쐬
	Shared_Memory_name_0 = "Share_buffer_0"  ; t@C}bsOIuWFNg̖O
	CreateFileMapping -1, 0, PAGE_READWRITE, 0, Shared_Memory_size, varptr(Shared_Memory_name_0)
	hmapobj0 = stat
	if hmapobj0 == 0 {

	    dialog_mes = "L[Share_buffer_0]쐬ł܂łB"
		gosub *dialog_wind
		stop
	}

	; IuWFNg쐬Ăǂ̔
	GetLastError           ; GetLastError֐ɂG[R[h擾
	if (stat == ERROR_ALREADY_EXISTS) {
	    ; łɓÕIuWFNg݂ꍇ.

	}

;---------------------------------------------------------------------------------------------------------	
	; t@C}bsOIuWFNg̍쐬
	Shared_Memory_name_1 = "Share_buffer_1"  ; t@C}bsOIuWFNg̖O
	CreateFileMapping -1, 0, PAGE_READWRITE, 0, Shared_Memory_size, varptr(Shared_Memory_name_1)
	hmapobj1 = stat
	if hmapobj1 == 0 {
	    dialog_mes = "L[Share_buffer_1]쐬ł܂łB"
		gosub *dialog_wind
		stop
	}
	; IuWFNg쐬Ăǂ̔
	GetLastError           ; GetLastError֐ɂG[R[h擾
	if (stat == ERROR_ALREADY_EXISTS) {
	    ; łɓÕIuWFNg݂ꍇ.

	}
;---------------------------------------------------------------------------------------------------------	
	; t@C}bsOIuWFNg̍쐬
	Shared_Memory_name_2 = "Share_buffer_sw"  ; t@C}bsOIuWFNg̖O
	CreateFileMapping -1, 0, PAGE_READWRITE, 0, 1, varptr(Shared_Memory_name_2)
	hmapobj2 = stat
	if hmapobj2 == 0 {

	    dialog_mes = "L[Share_buffer_sw]쐬ł܂łB"
		gosub *dialog_wind
		stop
	}

	; IuWFNg쐬Ăǂ̔
	GetLastError           ; GetLastError֐ɂG[R[h擾
	if (stat == ERROR_ALREADY_EXISTS) {
	    ; łɓÕIuWFNg݂ꍇ.
	    
	}

;---------------------------------------------------------------------------------------------------------	
	; t@C}bsOIuWFNg̍쐬
	name3 = "Share_buffer_size"  ; t@C}bsOIuWFNg̖O
	CreateFileMapping -1, 0, PAGE_READWRITE, 0, 10, varptr(name3)
	hmapobj3 = stat
	if hmapobj3 == 0 {

	    dialog_mes = "L[Share_buffer_size]쐬ł܂łB"
		gosub *dialog_wind
		stop
	}

	; IuWFNg쐬Ăǂ̔
	GetLastError           ; GetLastError֐ɂG[R[h擾
	if (stat == ERROR_ALREADY_EXISTS) {
	    ; łɓÕIuWFNg݂ꍇ.

	}

	Shared_Memory_flg = 1
;---------------------------------------------------------------------------------------------------------	
	return










;----------------------------------------------------------
;
;----------------------------------------------------------
*graph_line
	color int("$"+strmid(iro.graph.cnt,0,2)),int("$"+strmid(iro.graph.cnt,2,2)),int("$"+strmid(iro.graph.cnt,4,2))
	if((max.graph.graph_jiku - min.graph.graph_jiku) != 0){
		ss1 = 50.0 + (double(graph_size.0)*(max.graph.graph_jiku - double(Split_data_last.cnt) - offset.graph.cnt) / (max.graph.graph_jiku - min.graph.graph_jiku))
		ss2 = 50.0 + (double(graph_size.0)*(max.graph.graph_jiku - double(Split_data.cnt) - offset.graph.cnt) / (max.graph.graph_jiku - min.graph.graph_jiku))

		
		if graph_size.1 = 600{
			if(Split_data_cnt < 600){
				line 50 + Split_data_cnt,int(ss1),50 + Split_data_cnt + 1,int(ss2)
			}else{
				line 650,int(ss1),651,int(ss2)
				pset 650,int(ss1)
			}

			
		}else:if graph_size.1 = 240{
			if(Split_data_cnt < 240){
				line 50 + Split_data_cnt,int(ss1),50 + Split_data_cnt + 1,int(ss2)
			}else{
				line 290,int(ss1),291,int(ss2)
				pset 290,int(ss1)
				
			}
		}
	}else{
		;dialog_mes = "G[Ă܂B\nOt̒l𒼂ĂB\n[ől-ŏl][ɂȂȂ悤ɂĂB"
		;gosub *dialog_wind
	}
	return








;---------------------------------------------------------
;	Ot̍őlŏl擾
;---------------------------------------------------------
*graph_max_min_get
	ddim min_abs,4,4

	max.graph.1 = 0.0
	max.graph.2 = 0.0
	min.graph.1 = 0.0
	min.graph.2 = 0.0

;---------------------------------------------------------

	if max_kotei.graph.1 != 0.0 {
		max.graph.1 = max_kotei.graph.1
	}
	if min_kotei.graph.1 != 0.0 {
		min.graph.1 = min_kotei.graph.1
	}
	if((max.graph.1 = 0.0)and(min.graph.1 = 0.0)){
		max.graph.1 = double(memori_kotei.graph)
	}


	if max_kotei.graph.2 != 0.0 {
		max.graph.2 = max_kotei.graph.2
	}
	if min_kotei.graph.2 != 0.0 {
		min.graph.2 = min_kotei.graph.2
	}
	if((max.graph.2 = 0.0)and(min.graph.2 = 0.0)){
		max.graph.2 = double(memori_kotei.graph)
	}

	return
	
;--------------------------------------------------------------------
; @
;--------------------------------------------------------------------
*keisen_line_drawing
	;r`
	gsel g_sel
	redraw 0

	if Split_data_cnt = 0{
		;ʃNA

		color 83,83,100

		gsel g_sel
		boxf

		;ԏc
		color 168,168,168
		repeat 5
			line 150+(cnt*100),50,150+(cnt*100),50+graph_size.0
		loop

		;
		repeat memori_kotei.graph
			memori_y = 50+(graph_size.0 / memori_kotei.graph) * cnt
			line 50 , memori_y ,50 + graph_size.1 ,memori_y
		loop
	}
	
;---------------------------------------------------------
	;\f[^JEg@OtTCYȏ̎A
	if graph_size.1 = 600{
		if Split_data_cnt > 600{
			color 168,168,168
			repeat memori_kotei.graph
				memori_y = 50+(graph_size.0 / memori_kotei.graph) * cnt
				line 50+graph_size.1,memori_y,50+graph_size.1 + 1,memori_y
			loop
		}
	}else{
		if Split_data_cnt > 240{
			color 168,168,168
			repeat memori_kotei.graph
				memori_y = 50+(graph_size.0 / memori_kotei.graph) * cnt
				line 50+graph_size.1,memori_y,50+graph_size.1 + 1,memori_y
			loop
		}
	}
	
;---------------------------------------------------------
	;\
	color 168,168,168

	if((Split_data_cnt \ 100) = 0){
		if graph_size.1 = 600{
			if Split_data_cnt >= 600 {
				line 50+graph_size.1,50,50+graph_size.1,50+graph_size.0	//2
				pos 50+graph_size.1,55+graph_size.0
				
			}else{
				pos 50+Split_data_cnt,55+graph_size.0
				
			}
			color 192,192,192
			font "IPASVbN",10
			
			mes Mem_data_time
		}else{
			if Split_data_cnt >= 240 {
				line 50+graph_size.1,50,50+graph_size.1,50+graph_size.0	//2
				pos 50+graph_size.1,55+graph_size.0
			}else{
				pos 50+Split_data_cnt,55+graph_size(0)
			}
			color 192,192,192
			font "IPASVbN",10
			
			mes Mem_data_time
		}
	}


;---------------------------------------------------------
	;шNA
	color 83,83,100
	
	if Graph_Split = 0{
		boxf 0,0,49,610
		boxf 652,0,660,500
		
	}else:if Graph_Split = 1{
		boxf 0,0,49,270
		boxf 652,0,660,250
		
	}else:if Graph_Split = 2{
		if graph = 0{
			boxf 0,0,49,270
			boxf 652,0,660,250
			
		}else{
			boxf 0,0,49,270
			boxf 292,0,300,250
			
		}
	}else:if Graph_Split = 3{
		boxf 0,0,49,270
		boxf 292,0,300,250
		
	}

;---------------------------------------------------------
	;OtC`
	repeat 20
		;1
		if youso_flg.graph.cnt = 1{
			graph_jiku = 1
			
			if(Split_data.cnt != ""){
				gosub *graph_line
				boxf 44,ss1,49,ss1 - 5;
			}
		}

		;2
		if nijiku_tekiyou.graph.cnt = 1{
			graph_jiku = 2
			
			if Split_data.cnt != "" {
				gosub *graph_line
				boxf 50 + graph_size.1 + 2, ss1, 50 + graph_size.1 + 7,ss1 - 5;
			}
		}
	loop

	redraw 1

	return
	
;--------------------------------------------------------------------
; @
;--------------------------------------------------------------------
*graph_axis
	gsel 0
	redraw 0

	gmode 2
	;--------------------------------------------------------------------
	if Graph_Split = 0{
		pos 44,40
		gcopy 1,44,40,50,605
		
		pos 50,50
		gcopy 1,51,50,720,605
	
		color 168,168,168
		line 50,50,50,50+graph_size.0	//1
		line 50+graph_size.1,50,50+graph_size.1,50+graph_size.0	//2
		line 50,50+graph_size.0,50+graph_size.1,50+graph_size.0	//
	
		;l\NA
		color 83,83,100
		boxf 0  ,0,40 ,610
		boxf 660,0,720,610
		
		color 192,192,192
		font "IPASVbN",10
	
		;1l
		repeat memori_kotei.graph + 1
			pos 5,46 + (graph_size.0 / memori_kotei.graph) * cnt
			mes strf("%03.2f",max.graph.1-((max.graph.1 - min.graph.1)/memori_kotei.graph) * cnt)
		loop
	
		;2l
		repeat memori_kotei.graph + 1
			pos graph_size.1 + 60,46 + (graph_size.0 / memori_kotei.graph) * cnt
			mes strf("%03.2f",max.graph.2 - ((max.graph.2 - min.graph.2) / memori_kotei.graph) * cnt)
		loop

	;--------------------------------------------------------------------
	}else:if Graph_Split = 1{
		pos 44,40
		gcopy 1,44,40,50,graph_size.1 + 5
		
		pos 50,50
		gcopy 1,51,50,720,graph_size.1 + 5


		pos 44,310
		gcopy 2,44,40,50,graph_size.1 + 5
		
		pos 50,320
		gcopy 2,51,50,720,graph_size.1 + 5

	
		color 168,168,168
		line 50,50,50,50+graph_size.0	//1
		line 50+graph_size.1,50,50+graph_size.1,50+graph_size.0	//2
		line 50,50+graph_size.0,50+graph_size.1,50+graph_size.0	//

		line 50,320,50,320+graph_size.0	//1
		line 50+graph_size.1,320,50+graph_size.1,320+graph_size.0	//2
		line 50,320+graph_size.0,50+graph_size.1,320+graph_size.0	//
	
		;l\NA
		color 83,83,100
		boxf 0  ,0,40 ,610
		boxf 660,0,720,610
		
		color 192,192,192
		font "IPASVbN",10

		graph = 0
		;1l
		repeat memori_kotei.graph + 1
			pos 5,46 + (graph_size.0 / memori_kotei.graph) * cnt
			mes strf("%03.2f",max.graph.1-((max.graph.1 - min.graph.1)/memori_kotei.graph) * cnt)
		loop
	
		;2l
		repeat memori_kotei.graph + 1
			pos graph_size.1 + 60,46 + (graph_size.0 / memori_kotei.graph) * cnt
			mes strf("%03.2f",max.graph.2 - ((max.graph.2 - min.graph.2) / memori_kotei.graph) * cnt)
		loop

		graph = 1
		;1l
		repeat memori_kotei.graph + 1
			pos 5,316 + (graph_size.0 / memori_kotei.graph) * cnt
			mes strf("%03.2f",max.graph.1-((max.graph.1 - min.graph.1)/memori_kotei.graph) * cnt)
		loop
	
		;2l
		repeat memori_kotei.graph + 1
			pos graph_size.1 + 60,316 + (graph_size.0 / memori_kotei.graph) * cnt
			mes strf("%03.2f",max.graph.2 - ((max.graph.2 - min.graph.2) / memori_kotei.graph) * cnt)
		loop

	;--------------------------------------------------------------------
	}else:if Graph_Split = 2{
		pos 44,40
		gcopy 1,44,40,50,605
		pos 50,50
		gcopy 1,51,50,720,605


		pos 44,310
		gcopy 2,44,40,50,245
		pos 50,320
		gcopy 2,51,50,250,245

		pos 404,310
		gcopy 3,44,40,50,245
		pos 410,320
		gcopy 3,51,50,250,245

	
		color 168,168,168
		line 50 ,50 ,50 ,250	//1
		line 650,50 ,650,250	//2
		line 50 ,250,650,250	//

		line 50 ,320,50 ,520	//1
		line 290,320,290,520	//2
		line 50 ,520,290,520	//

		line 410,320,410,520	//1
		line 650,320,650,520	//2
		line 410,520,650,520	//
	
		;l\NA
		color 83,83,100
		boxf 0  ,0  ,40 ,610
		boxf 660,0  ,720,300
		boxf 299,300,341,610
		boxf 351,300,391,610
		boxf 659,300,709,610
		
		color 192,192,192
		font "IPASVbN",10

		graph = 0
		;1l
		repeat memori_kotei.graph + 1
			pos 5,46 + (200 / memori_kotei.graph) * cnt
			mes strf("%03.2f",max.graph.1-((max.graph.1 - min.graph.1)/memori_kotei.graph) * cnt)
		loop
	
		;2l
		repeat memori_kotei.graph + 1
			pos 600 + 60,46 + (200 / memori_kotei.graph) * cnt
			mes strf("%03.2f",max.graph.2 - ((max.graph.2 - min.graph.2) / memori_kotei.graph) * cnt)
		loop

		graph = 1
		;1l
		repeat memori_kotei.graph + 1
			pos 5,316 + (200/ memori_kotei.graph) * cnt
			mes strf("%03.2f",max.graph.1-((max.graph.1 - min.graph.1)/memori_kotei.graph) * cnt)
		loop
	
		;2l
		repeat memori_kotei.graph + 1
			pos 240 + 60,316 + (200 / memori_kotei.graph) * cnt
			mes strf("%03.2f",max.graph.2 - ((max.graph.2 - min.graph.2) / memori_kotei.graph) * cnt)
		loop

		graph = 2
		;1l
		repeat memori_kotei.graph + 1
			pos 365,316 + (200 / memori_kotei.graph) * cnt
			mes strf("%03.2f",max.graph.1-((max.graph.1 - min.graph.1)/memori_kotei.graph) * cnt)
		loop
	
		;2l
		repeat memori_kotei.graph + 1
			pos 360+240 + 60,316 + (200 / memori_kotei.graph) * cnt
			mes strf("%03.2f",max.graph.2 - ((max.graph.2 - min.graph.2) / memori_kotei.graph) * cnt)
		loop

	;--------------------------------------------------------------------
	}else:if Graph_Split = 3{

		pos 44,40
		gcopy 1,44,40,50,245
		pos 50,50
		gcopy 1,51,50,250,245

		pos 394,40
		gcopy 2,44,40,50,245
		pos 400,50
		gcopy 2,51,50,250,245

		pos 44,310
		gcopy 3,44,40,50,245
		pos 50,320
		gcopy 3,51,50,250,245

		pos 394,310
		gcopy 4,44,40,50,245
		pos 400,320
		gcopy 4,51,50,250,245


		color 168,168,168
		line 50 ,50 ,50 ,250	//1
		line 290,50 ,290,250	//2
		line 50 ,250,290,250	//

		line 400,50 ,400,250	//1
		line 640,50 ,640,250	//2
		line 400,250,640,250	//

		line 50 ,320,50 ,520	//1
		line 290,320,290,520	//2
		line 50 ,520,290,520	//

		line 400,320,400,520	//1
		line 640,320,640,520	//2
		line 400,520,640,520	//
	
		;l\̃NA
		color 83,83,100
		boxf 0  ,0,40 ,610
		boxf 301,0,341,610
		boxf 351,0,391,610
		boxf 651,0,701,610
		
		color 192,192,192
		font "IPASVbN",10

		graph = 0
		;1l
		repeat memori_kotei.graph + 1
			pos 5,46 + (200/ memori_kotei.graph) * cnt
			mes strf("%03.2f",max.graph.1-((max.graph.1 - min.graph.1)/memori_kotei.graph) * cnt)
		loop
	
		;2l
		repeat memori_kotei.graph + 1
			pos 240 + 60,46 + (200 / memori_kotei.graph) * cnt
			mes strf("%03.2f",max.graph.2 - ((max.graph.2 - min.graph.2) / memori_kotei.graph) * cnt)
		loop

		graph = 1
		;1l
		repeat memori_kotei.graph + 1
			pos 355,46 + (200 / memori_kotei.graph) * cnt
			mes strf("%03.2f",max.graph.1-((max.graph.1 - min.graph.1)/memori_kotei.graph) * cnt)
		loop
	
		;2l
		repeat memori_kotei.graph + 1
			pos 350+240 + 60,46 + (200 / memori_kotei.graph) * cnt
			mes strf("%03.2f",max.graph.2 - ((max.graph.2 - min.graph.2) / memori_kotei.graph) * cnt)
		loop

		graph = 2
		;1l
		repeat memori_kotei.graph + 1
			pos 5,316 + (200/ memori_kotei.graph) * cnt
			mes strf("%03.2f",max.graph.1-((max.graph.1 - min.graph.1)/memori_kotei.graph) * cnt)
		loop
	
		;2l
		repeat memori_kotei.graph + 1
			pos 240 + 60,316 + (200 / memori_kotei.graph) * cnt
			mes strf("%03.2f",max.graph.2 - ((max.graph.2 - min.graph.2) / memori_kotei.graph) * cnt)
		loop

		graph = 3
		;1l
		repeat memori_kotei.graph + 1
			pos 355,316 + (200 / memori_kotei.graph) * cnt
			mes strf("%03.2f",max.graph.1-((max.graph.1 - min.graph.1)/memori_kotei.graph) * cnt)
		loop
	
		;2l
		repeat memori_kotei.graph + 1
			pos 350+240 + 60,316 + (200 / memori_kotei.graph) * cnt
			mes strf("%03.2f",max.graph.2 - ((max.graph.2 - min.graph.2) / memori_kotei.graph) * cnt)
		loop

	}

	redraw 1

;---------------------------------------------------------	
	;Ot̃XCh
	if Graph_Split = 0{
		if Split_data_cnt > 600{
			gsel g_sel
			redraw 0
			
			color 83,83,100
			line 652,0,652,500
			gmode 0
			pos 50,50
			gcopy g_sel,51,50,720,605
			
			redraw 1
		}
	}else:if Graph_Split = 1{
		if Split_data_cnt > 600{
			gsel 1
			redraw 0
			
			color 83,83,100
			line 652,0,652,250
			gmode 0
			pos 50,50
			gcopy 1,51,50,720,305
			
			redraw 1

			gsel 2
			redraw 0
			
			color 83,83,100
			line 652,0,652,250
			gmode 0
			pos 50,50
			gcopy 2,51,50,720,305
			
			redraw 1
		}
	}else:if Graph_Split = 2{
		if Split_data_cnt > 600{
			gsel 1
			redraw 0
			
			color 83,83,100
			line 652,0,652,250
			gmode 0
			pos 50,50
			gcopy 1,51,50,720,305
			
			redraw 1
		}

		if Split_data_cnt > 240{
			gsel 2
			redraw 0
			
			color 83,83,100
			line 292,0,292,250
			gmode 0
			pos 50,50
			gcopy 2,51,50,360,305
			
			redraw 1

			gsel 3
			redraw 0
			
			color 83,83,100
			line 292,0,292,250
			gmode 0
			pos 50,50
			gcopy 3,51,50,360,305
			
			redraw 1
		}
	}else:if Graph_Split = 3{

		if Split_data_cnt > 240{
			gsel 1
			redraw 0
			
			color 83,83,100
			line 292,0,292,251
			gmode 0
			pos 50,50
			gcopy 1,51,50,360,305
			
			redraw 1

			gsel 2
			redraw 0
			
			color 83,83,100
			line 292,0,292,251
			gmode 0
			pos 50,50
			gcopy 2,51,50,360,305
			
			redraw 1
			
			gsel 3
			redraw 0
			
			color 83,83,100
			line 292,0,292,251
			gmode 0
			pos 50,50
			gcopy 3,51,50,360,305
			
			redraw 1

			gsel 4
			redraw 0
			
			color 83,83,100
			line 292,0,292,251
			gmode 0
			pos 50,50
			gcopy 4,51,50,360,305
			
			redraw 1
		}
	}
	
	return







	