🏠 ホーム 🔧 自作ツール 📓 日常のブログ 🍜 飯のブログ 📚 勉強のブログ 🗂️ その他のブログ
👃 TTManager32's Code - NoseScape

てんともち / TTManager32 Public

event_button_manager.hsp 9,667 Bytes
*Display11
	x=1 : y=1 : gosub *DisplayEvent
return 0

*Display12
	x=1 : y=2 : gosub *DisplayEvent
return 0

*Display13
	x=1 : y=3 : gosub *DisplayEvent
return 0

*Display14
	x=1 : y=4 : gosub *DisplayEvent
return 0

*Display15
	x=1 : y=5 : gosub *DisplayEvent
return 0

*Display16
	x=1 : y=6 : gosub *DisplayEvent
return 0

*Display21
	x=2 : y=1 : gosub *DisplayEvent
return 0

*Display22
	x=2 : y=2 : gosub *DisplayEvent
return 0

*Display23
	x=2 : y=3 : gosub *DisplayEvent
return 0

*Display24
	x=2 : y=4 : gosub *DisplayEvent
return 0

*Display25
	x=2 : y=5 : gosub *DisplayEvent
return 0

*Display26
	x=2 : y=6 : gosub *DisplayEvent
return 0

*Display31
	x=3 : y=1 : gosub *DisplayEvent
return 0

*Display32
	x=3 : y=2 : gosub *DisplayEvent
return 0

*Display33
	x=3 : y=3 : gosub *DisplayEvent
return 0

*Display34
	x=3 : y=4 : gosub *DisplayEvent
return 0

*Display35
	x=3 : y=5 : gosub *DisplayEvent
return 0

*Display36
	x=3 : y=6 : gosub *DisplayEvent
return 0

*Display41
	x=4 : y=1 : gosub *DisplayEvent
return 0

*Display42
	x=4 : y=2 : gosub *DisplayEvent
return 0

*Display43
	x=4 : y=3 : gosub *DisplayEvent
return 0

*Display44
	x=4 : y=4 : gosub *DisplayEvent
return 0

*Display45
	x=4 : y=5 : gosub *DisplayEvent
return 0

*Display46
	x=4 : y=6 : gosub *DisplayEvent
return 0

*Display51
	x=5 : y=1 : gosub *DisplayEvent
return 0

*Display52
	x=5 : y=2 : gosub *DisplayEvent
return 0

*Display53
	x=5 : y=3 : gosub *DisplayEvent
return 0

*Display54
	x=5 : y=4 : gosub *DisplayEvent
return 0

*Display55
	x=5 : y=5 : gosub *DisplayEvent
return 0

*Display56
	x=1 : y=6 : gosub *DisplayEvent
return 0

*Display61
	x=6 : y=1 : gosub *DisplayEvent
return 0

*Display62
	x=6 : y=2 : gosub *DisplayEvent
return 0

*Display63
	x=6 : y=3 : gosub *DisplayEvent
return 0

*Display64
	x=6 : y=4 : gosub *DisplayEvent
return 0

*Display65
	x=6 : y=5 : gosub *DisplayEvent
return 0

*Display66
	x=6 : y=6 : gosub *DisplayEvent
return 0

*DisplayMon
	x=1 : gosub *DisplayDayEvent
return 0
	
*DisplayTue
	x=2 : gosub *DisplayDayEvent
return 0
	
*DisplayWed
	x=3 : gosub *DisplayDayEvent
return 0

*DisplayThu
	x=4 : gosub *DisplayDayEvent
return 0

*DisplayFri
	x=5 : gosub *DisplayDayEvent
return 0

*DisplaySat
	x=6 : gosub *DisplayDayEvent
return 0

*DisplayEvent
	YoubiJ_STR="月","火","水","木","金","土"
	if DataStorage(x-1,y-1)!="" {
		split DataStorage(x-1,y-1),"|",tmp
		p =tmp(0)+"\n\n"
		p+="場所:"+tmp(1)
		strrep tmp(2),",","\n・"
		p+="\n\n持ち物:\n・"+tmp(2)
		dialog p,0,""+YoubiJ_STR(x-1)+"曜日 "+str(y)+"限 の予定"
	}
return 0

*DisplayDayEvent
	YoubiJ_STR="月","火","水","木","金","土"
	p=""
	repeat 6
		if DataStorage(x-1,cnt)="" {
			p+=""+str(cnt+1)+"限 なし"
		}else{
			split DataStorage(x-1,cnt),"|",tmp
			p+=""+str(cnt+1)+"限 "+tmp(0)+" , 場所:"+tmp(1)
		}
		p+="\n"
	loop
	
	sdim MochimonoList
	repeat 6
		if DataStorage(x-1,cnt)="" {
			continue
		}else{
			split DataStorage(x-1,cnt),"|",tmp
			MochimonoList+=","+tmp(2)
		}
	loop
	p+="\n持ち物:\n"
	
	sdim buffers
	notesel buffers
	split MochimonoList,",",MochimonoList
	repeat length(MochimonoList)
		if MochimonoList(cnt)="" : continue
		if notefind(MochimonoList(cnt),0)=-1 {
			noteadd MochimonoList(cnt),-1,0
		}
	loop
	repeat notemax
		noteget tmp,cnt
		p+="・"+tmp+"\n"
	loop
	
	noteunsel
	
	dialog p,0,""+YoubiJ_STR(x-1)+"曜日 の予定"
return 0

*About_Software
	p1=""+AppName+" について"
	p2=p1
	p3="時間とタスクを管理しましょう!\n"+AppName+" は、シンプルな時間割とタスクの管理アプリです。"
	p4="Copyright (c) 2026 Tentmochi.\nTentmochi Software Commons v1.0 (TSC1.0)の下、\n非商用で無保証の下、自由に利用、複製、改変、および再配布できます。"
	p5="閉じる"
	p6=3
	p7=4
	DialogVistaEx p1,p2,p3,p4,p5,p6,p7
return 0

*EditTimeTable
	exec "notepad.exe ./weekly.ini"
return 0

*AddTask
	screen 1,1.25*TrueScale(640/2),1.25*TrueScale(480/2),8
	GetWindowLong hwnd, -16
	SetWindowLong hwnd, -16, stat - $80000
	gsel 1,2
	font "",1.25*TrueScale(18)
	title "タスクを追加"
	color 0,0,0 : pos 10,0
	mes "Todoタスクを追加します。\n*がついた項目は必須です。\n"
	mes "タスクの名前(*): "
	mes "期日(*)        : "
	mes "具体的な内容   : "
	TodoTaskName    =""
	TodoTaskDeadLineY=strf("%04d",gettime(0))
	TodoTaskDeadLineT=strf("%02d",gettime(1))
	TodoTaskDeadLineD=strf("%02d",gettime(3))
	TodoTaskDeadLineH=strf("%02d",gettime(4))
	TodoTaskDeadLineM=strf("%02d",gettime(5))
	sdim TodoTaskDetailSTR,65535
	pos 1.25*TrueScale(130), 1.25*TrueScale(52) : objsize 1.25*TrueScale(180),1.25*TrueScale(20)  : input TodoTaskName
	pos 1.25*TrueScale(130), 1.25*TrueScale(72) : objsize 1.25*TrueScale( 40),1.25*TrueScale(20)  : input TodoTaskDeadLineY
	pos 1.25*TrueScale(170), 1.25*TrueScale(72) :                                       : mes "/"
	pos 1.25*TrueScale(175), 1.25*TrueScale(72) : objsize 1.25*TrueScale( 20),1.25*TrueScale(20)  : input TodoTaskDeadLineT
	pos 1.25*TrueScale(195), 1.25*TrueScale(72) :                                       : mes "/"
	pos 1.25*TrueScale(200), 1.25*TrueScale(72) :                                       : input TodoTaskDeadLineD
	pos 1.25*TrueScale(225), 1.25*TrueScale(72) :                                       : mes ""
	pos 1.25*TrueScale(230), 1.25*TrueScale(72) :                                       : input TodoTaskDeadLineH
	pos 1.25*TrueScale(255), 1.25*TrueScale(72) :                                       :  mes ":"
	pos 1.25*TrueScale(260), 1.25*TrueScale(72) :                                       : input TodoTaskDeadLineM
	pos 1.25*TrueScale(280), 1.25*TrueScale(72) :                                       : mes ":00"
	pos 1.25*TrueScale(130), 1.25*TrueScale(92) : objsize 1.25*TrueScale(180),1.25*TrueScale(100) : mesbox TodoTaskDetailSTR
	
	pos 1.25*TrueScale( 60),1.25*TrueScale(200) : objsize 1.25*TrueScale(120), 1.25*TrueScale(30) : button gosub "閉じる"          ,*TodoTaskCancel
	pos 1.25*TrueScale(190),1.25*TrueScale(200) :                                       : button gosub "タスクを追加する",*TodoTaskAddConfirm
	isWantExitAddTask=1
	while isWantExitAddTask
		await 1
	wend
	gsel 1,-1
	gsel 0
	gosub *Config_load
return 0

*TodoTaskCancel
	isWantExitAddTask = 0
return 0

*TodoTaskAddConfirm
	if TodoTaskDetailSTR="" { TodoTaskDetailSTR="" }
	if TodoTaskName=""      { dialog "タスクに名前を決めてください",1 : return 1 }
	if TodoTaskDeadLineY="" { dialog "時刻の年設定を決めてください",1 : return 1 }
	if TodoTaskDeadLineT="" { dialog "時刻の月設定を決めてください",1 : return 1 }
	if TodoTaskDeadLineD="" { dialog "時刻の日設定を決めてください",1 : return 1 }
	if TodoTaskDeadLineH="" { dialog "時刻の時設定を決めてください",1 : return 1 }
	if TodoTaskDeadLineM="" { dialog "時刻の分設定を決めてください",1 : return 1 }
	TodoTaskDeadLineUNIX=""
	strrep TodoTaskName,"=","#"
	strrep TodoTaskName,"|","#"
	strrep TodoTaskName,"/","#"
	strrep TodoTaskName,":",";"
	strrep TodoTaskName,"-","_"
	strrep TodoTaskDetailSTR,"=","#"
	strrep TodoTaskDetailSTR,"|","#"
	strrep TodoTaskDetailSTR,"/","#"
	strrep TodoTaskDetailSTR,":",";"
	strrep TodoTaskDetailSTR,"-","_"
	TodoTaskDeadLineY=Varidation(TodoTaskDeadLineY)
	TodoTaskDeadLineT=Varidation(TodoTaskDeadLineT)
	TodoTaskDeadLineD=Varidation(TodoTaskDeadLineD)
	TodoTaskDeadLineH=Varidation(TodoTaskDeadLineH)
	TodoTaskDeadLineM=Varidation(TodoTaskDeadLineM)
	TodoTaskDeadLineUNIX=time2ut(int(TodoTaskDeadLineY),int(TodoTaskDeadLineT),int(TodoTaskDeadLineD),int(TodoTaskDeadLineH),int(TodoTaskDeadLineM),0)
	ut2time y,m,d,h,mi,s,TodoTaskDeadLineUNIX
	if TodoTaskDeadLineUNIX<0 {
		dialog "時刻設定が不正です\n1970年1月1日9時0分より前、または2038年1月19日3時14分より後は指定できません。",1 : return 0
	}
	if strf("%04d/%02d/%02d %02d:%02d",TodoTaskDeadLineY,TodoTaskDeadLineT,TodoTaskDeadLineD,TodoTaskDeadLineH,TodoTaskDeadLineM)!=strf("%04d/%02d/%02d %02d:%02d",y,m,d,h,mi) {
		dialog "時刻設定が不正です\nUNIX時間で定義できない時刻です。",1 : return 0
	}
	tmp ="以下の内容でTodoタスクを追加しますか?\n\n"
	tmp+="タイトル :"+TodoTaskName+"\n"
	tmp+="期日     :"+strf("%04d/%02d/%02d %02d:%02d:%02d",y,m,d,h,mi,s)+"\n"
	tmp+="内容\n"+TodoTaskDetailSTR
	notesel TodoTaskDetailSTR
	noteget TodoTaskDetailOK,0
	repeat notemax
		res=""
		noteget res,cnt+1
		TodoTaskDetailOK+="<br>"+res
	loop
	noteunsel
	dialog tmp,2,"Todoタスクの追加"
	if stat=7 {
		return 0
	}else{
		write=""+strf("%04d/%02d/%02d/%02d:%02d",y,m,d,h,mi)+"="+TodoTaskName+"|"+TodoTaskDetailOK
		strrep write,"-",""
		sdim buffers
		notesel buffers
		noteload "todo.ini"
		noteadd write,-1,0
		notesave "todo.ini"
		noteunsel
		isWantExitAddTask = 0
	}
return 0

*DelTask
	if length(TaskList)=1 : return 0
	tmp=TaskList(listboxInt+1)
	split tmp,"@",time,tmp
	split tmp,"|",tmp
	ut2time y,m,d,h,mi,s,int(time)
	sdim titles : titles=tmp(0)
	dialog "Todoタスク\n「"+titles+"」\n("+strf("%04d/%02d/%02d %02d:%02d",y,m,d,h,mi)+"〆)\nを完了しますか?",2
	if stat=7 {return 0}
	sdim buffers
	notesel buffers
	noteload "todo.ini"
	repeat notemax
		noteget tmp,cnt
		if instr(tmp,0,strf("%04d/%02d/%02d/%02d:%02d",y,m,d,h,mi)+"="+titles)=0 {
			notedel cnt
			break
		}
		if cnt+1=notemax {
			dialog "削除処理に失敗しました。\nソフトの起動中にtodo.iniを編集し、再ロードしなかった場合にこれは発生します。",1
			noteunsel
			gosub *Config_Load
			return 1
		}
	loop
	notesave "todo.ini"
	noteunsel
	gosub *Config_Load
return 0

*dummy
return 0