AutoHotkey 入門 学習シリーズ(23) RGBっぽいポモドーロタイマーで盛り上がる

カラフルライフを手に入れろ!

お久しぶりです.

過去の遺産であるYouTube JukeBoxで利用したランダムな数字を輩出するコマンド[Random, 変数, 最小数字, 最大数字]ですが,ちょっと面白い?使い道を考えましたので,共有します.

今日のCan-do

・GuiやProgressバーが,毎回別の色で現れるようにRandomを用いて設定できる.

こんな感じです.

毎回Progressバーが更新される前に,色をRandomにて生成しています.

Progressバーや,Guiなど,毎回色を指定する際に,その色を変数化しておくことで達成できます.

このような感じ.

Esc::
     Gosub, colorgen 
     Progress, b zh0 fm15 c h100 w150 x100 y100 ctffffff cw%vcolorcount%, , %countdownnum%, countdown, Segoe UI Black
     return

colorgen:
     Random, vcolorcount, 100000, 999999
     return

Progressバーでの色を決定するcw0000000のオプション部分を,%vcolorcount%という変数にしています.その変数はProgressバーが決定されるまえに,サブルーチンのcolorgenにて,100000から999999までの数字の中からランダムに決定される,というわけです.

今回は,昔つくったポモドーロタイマー(Up-p!)に実装し,軽量化してみました.ぜひコードを見て,使ってみてください.

では!

;;;;;;;;;;;;
;;; Up-p!;;;
;;;;;;;;;;;;

DllCall("QueryPerformanceCounter", "Int64*", TimerStart)
Msgbox, 0, Up-p!, 25分-5分のインターバルでお知らせします `n 終了はAlt + F12です, 1
countdownnum = 25
Gosub, colorgen
Gosub, lcountdown
return

lcountdown:
	Gosub, countdownmech
	countdownnum = 5
	Progress, b zh0 fm15 c h100 w150 x350 y930 ctffffff cw%colorcount%, , %countdownnum%分休む, countdown, Segoe UI Black
	Gosub, commonremprog
	Gosub, countdownmech
	countdownnum = 25
	Progress, b zh0 fm15 c h100 w150 x350 y930 ctffffff cw%colorcount%, , %countdownnum%分働く, countdown, Segoe UI Black
	Gosub, commonremprog
	Gosub, lcountdown
	return

countdownmech:
	While (countdownnum > 0)
	{
	Progress, b zh0 fm15 c h100 w150 x350 y930 ctffffff cw%colorcount%, , %countdownnum%, countdown, Segoe UI Black
	Winset, trans, 200, countdown
	countdownnum := (countdownnum - 1)
	Gosub, colorgen
	Sleep, 60000
	}
colorgen:
	Random, colorcount, 100000, 999999
	return
	
commonremprog:
	Winset, trans, 200, countdown
	Soundplay, se/decision8.mp3, 1
	progress, off
	return

remprog:
	progress, off

!F12::
	TimerStop = ; var2
	CountFrequency = ; var3
	DllCall("QueryPerformanceFrequency", "Int64*", CountFrequency)
	DllCall("QueryPerformanceCounter", "Int64*", TimerStop)
	pasttime := ((TimerStop - TimerStart)/CountFrequency)
	Msgbox, 260, up-p!, Are you sure to end "up-p!"?,10
	ifMsgBox, Yes
		{
		vminutes = % Round(pasttime/60, 0)
		Msgbox, , ,%vminutes% minutes have past ,3
		gosub, remprog
		ExitApp
		}
	else
		return

広告

“AutoHotkey 入門 学習シリーズ(23) RGBっぽいポモドーロタイマーで盛り上がる” への 1 件のフィードバック

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください