;  mesbox命令による簡易テキストエディタ2 (HSP ver2.5以降用)
;	編集可能なテキストファイルは32000バイトまでです。
;　を下に、DEFファイル操作の専用エディターを作成
;　もちろん、普通の簡易エディターとしてもOk＜当たり前

	cls 1
	objmode 1
	alloc buf,32000			; テキストのバッファを確保
	buf=""				; バッファをクリア
	flg=1				; 0=編集不可/1=編集可能
	mesbox buf,636,446,flg+4
	objsize 60,24
	pos 60,450:objsize 128,24:button "Change DEF for HSP",*replace
	pos 410,450:objsize 64,24:button "LOAD",*file_load
	pos 480,450:button "SAVE",*file_save
	pos 548,450:button "END",*endbtn
	stop
*file_save
	dialog "def",17,"DEF file"
	if stat=0 : goto *dlcan
	strlen a,buf			; テキストの長さを調べる
	bsave refstr,buf,a		; テキストファイルをセーブ
*dlcan
	stop

*file_load
	dialog "def",16,"DEF file"
	if stat=0 : goto *dlcan2
	bload refstr,buf		; テキストファイル読み込み
	objprm 0,buf
*dlcan2
	stop

*replace
	sdim work,32000
	sdim work2,32000
	sdim work3,32000
	notesel buf
	notemax x
	repeat x
	id=cnt
	noteget work,id
	strlen cl,work
	instr cb,work,"@16"
	ca=0
	repeat cl
	peek c,work,cnt
	if ((c!=20)&(c!=9)) :ca=cnt:break
	loop
	if cb>ca {
	strmid work2,work,ca,cb+3-ca
	strmid work3,work,cb+3,cl-cb-3
	work="    "
	work=work+"_" + work2 + "=" + work2 + work3
	noteadd work,id,1
	}	
	loop
	sdim work2,32
	sdim work3,32
	sdim work,32
	objprm 0,buf
	stop

*endbtn
	end