カクカクの北海道Uターン週記

「元」日本語教師 /「元」旧司法試験受験生によるカクカクの北海道Uターン週記

新年…やっぱり頭痛

 明けましておめでとうございます。
 
 今年も無事に年を越すことができた。正月は故郷=札幌あるいは北海道にいたいなと思うわけだが、それは今年も果たせなかった。
 
 一年の計は元旦にありというわけで、いろいろと考えた結果、今年は、1)著しい運動不足を少しは解消するということと、2)頭痛をどうにかする、という2つをテーマとすることに決定。
 
 頭痛の日は、頭痛薬を「何時に飲んだっけ(もう飲めるんだっけ)」が重要極まる。そこでスクリプトを組んでみた。薬の飲み過ぎはかえって頭痛を誘発するらしいので、今年はなるべく我慢するつもりだけど…。
 実現したかったのは以下。
 1)クリックすると、直近の服用時刻と当日の服用回数を表示する
 2)表示画面から、値を更新する場合(Y)と、そのままにする場合(N)に分岐する
  −Yの場合は、服用時刻を更新し、服用回数を+1
 下のウィンドウは、成功例(今日も頭痛の日=今年2度目=ですね…)。
 
 
 ということで、完成したスクリプトは以下。
 なお、実際に使うためには、1)パソコンにMortscript.exeを導入し、2)別に.iniファイルを用意する必要がある。.iniファイルはこんな感じで(このとおりに3行だけ書いて、Headacheという名前で保存(拡張子を.iniにしておく))。頭痛に苦しむ方は参考にしてください(笑…もちろん.iniファイルのパスは適宜変える必要あり)。
 
 

#頭痛薬に関する備忘をチェックするスクリプト
#直近に服用した時刻と当日の服用回数を表示し、
#服用するかどうかの参考に供する
#服用時刻と回数は、別に用意する.iniで管理する

#直近のカウント日を読み出す
DayLog = IniRead ( "C:\Users\***\Appli\Ades\Utility\Headache.ini" , "Headache" , "Day" )

#今日を取得
Today = FormatTime ( "d" , TimeStamp() )

#日が変わっていたら、回数をリセット
If ( Today <> DayLog )
	IniWrite ( "C:\Users\***\Appli\Ades\Utility\Headache.ini" , "Headache" , "Count" , 0 )
Else
EndIf

#.iniファイルから前回服用時の時刻を読み取る
T=FileModifyTime ( "C:\Users\***\Appli\Ades\Utility\Headache.ini" )

#それを24時間表示
FT = FormatTime ( "H:i" , T )

#.iniファイルから服用回数を読み取る
C = IniRead ( "C:\Users\***\Appli\Ades\Utility\Headache.ini" , "Headache" , "Count" )

#服用回数によって質問ウィンドウに表示する内容を変える
#服用=0のとき
If ( C = 0 )

#質問ウィンドウを表示
Q = question ( "今日は薬を飲んでいません"&"^NL^"&"^NL^"&"薬を飲みますか?" , YesNo )
	if ( Q = 1 )
		Call ( "Y" )
	Else
		Call ( "N" )
	EndIf

#服用≠0のとき
Else

#質問ウィンドウを表示
Q = question ( "前回薬を飲んだのは"&FT&"です"&"^NL^"&"今日は"&C&"回薬を飲んでいます"&"^NL^"&"^NL^"&"薬を飲みますか?" , YesNo )
	if ( Q = 1 )
		Call ( "Y" )
	Else
		Call ( "N" )
	EndIf

EndIf

Sub Y
	IniWrite ( "C:\Users\***\Appli\Ades\Utility\Headache.ini" , "Headache" , "Count" , C + 1 )
	#今日をHeadache.iniに書く
	IniWrite ( "C:\Users\***\Appli\Ades\Utility\Headache.ini" , "Headache" , "Day" , Today )

Exit

EndSub

Sub N
	Exit
EndSub

 
 ということで、正月早々わけのわからないエントリーをしてみました。
  
*それでは皆さん、今年もどうぞよろしくお願いします m(__)m