Alarm Clock — File Browser
AlarmClockv1.0 / AlarmClockv1.0 / clock_challenge.mrc
clock_challenge.mrc — 9.18 KB — Download this file
alias ifstate {
if ( $1 == $2 ) {
drawpic @Clock $3-
return
}
}
alias drawhour1 {
%currenthour1 = $left( $gettok( %currenttime , 1 , 58 ) , 1 )
ifstate %currenthour1 0 55 36 391 147 38 54 sprites.bmp
ifstate %currenthour1 1 55 36 40 147 38 54 sprites.bmp
ifstate %currenthour1 2 55 36 79 147 38 54 sprites.bmp
}
alias drawhour2 {
%currenthour2 = $right( $gettok( %currenttime , 1 , 58 ) , 1 )
ifstate %currenthour2 0 93 36 1 147 38 54 sprites.bmp
ifstate %currenthour2 1 93 36 40 147 38 54 sprites.bmp
ifstate %currenthour2 2 93 36 79 147 38 54 sprites.bmp
ifstate %currenthour2 3 93 36 118 147 38 54 sprites.bmp
ifstate %currenthour2 4 93 36 157 147 38 54 sprites.bmp
ifstate %currenthour2 5 93 36 196 147 38 54 sprites.bmp
ifstate %currenthour2 6 93 36 235 147 38 54 sprites.bmp
ifstate %currenthour2 7 93 36 274 147 38 54 sprites.bmp
ifstate %currenthour2 8 93 36 313 147 38 54 sprites.bmp
ifstate %currenthour2 9 93 36 352 147 38 54 sprites.bmp
}
alias drawmin1 {
%currentmin1 = $left( $gettok( %currenttime , 2 , 58 ) , 1 )
ifstate %currentmin1 0 139 36 1 147 38 54 sprites.bmp
ifstate %currentmin1 1 139 36 40 147 38 54 sprites.bmp
ifstate %currentmin1 2 139 36 79 147 38 54 sprites.bmp
ifstate %currentmin1 3 139 36 118 147 38 54 sprites.bmp
ifstate %currentmin1 4 139 36 157 147 38 54 sprites.bmp
ifstate %currentmin1 5 139 36 196 147 38 54 sprites.bmp
}
alias drawmin2 {
%currentmin2 = $right( $gettok( %currenttime , 2 , 58 ) , 1 )
ifstate %currentmin2 0 177 36 1 147 38 54 sprites.bmp
ifstate %currentmin2 1 177 36 40 147 38 54 sprites.bmp
ifstate %currentmin2 2 177 36 79 147 38 54 sprites.bmp
ifstate %currentmin2 3 177 36 118 147 38 54 sprites.bmp
ifstate %currentmin2 4 177 36 157 147 38 54 sprites.bmp
ifstate %currentmin2 5 177 36 196 147 38 54 sprites.bmp
ifstate %currentmin2 6 177 36 235 147 38 54 sprites.bmp
ifstate %currentmin2 7 177 36 274 147 38 54 sprites.bmp
ifstate %currentmin2 8 177 36 313 147 38 54 sprites.bmp
ifstate %currentmin2 9 177 36 352 147 38 54 sprites.bmp
}
alias drawsec1 {
%currentsec1 = $left( $gettok( %currenttime , 3 , 58 ) , 1 )
ifstate %currentsec1 0 217 38 275 120 5 8 sprites.bmp
ifstate %currentsec1 1 217 38 282 120 5 8 sprites.bmp
ifstate %currentsec1 2 217 38 289 120 5 8 sprites.bmp
ifstate %currentsec1 3 217 38 296 120 5 8 sprites.bmp
ifstate %currentsec1 4 217 38 303 120 5 8 sprites.bmp
ifstate %currentsec1 5 217 38 310 120 5 8 sprites.bmp
}
alias drawsec2 {
%currentsec2 = $right( $gettok( %currenttime , 3 , 58 ) , 1 )
ifstate %currentsec2 0 223 38 275 120 5 8 sprites.bmp
ifstate %currentsec2 1 223 38 282 120 5 8 sprites.bmp
ifstate %currentsec2 2 223 38 289 120 5 8 sprites.bmp
ifstate %currentsec2 3 223 38 296 120 5 8 sprites.bmp
ifstate %currentsec2 4 223 38 303 120 5 8 sprites.bmp
ifstate %currentsec2 5 223 38 310 120 5 8 sprites.bmp
ifstate %currentsec2 6 223 38 317 120 5 8 sprites.bmp
ifstate %currentsec2 7 223 38 324 120 5 8 sprites.bmp
ifstate %currentsec2 8 223 38 331 120 5 8 sprites.bmp
ifstate %currentsec2 9 223 38 338 120 5 8 sprites.bmp
}
alias drawdur {
%currentdur = $gettok( %currenttime , 4 , 58 )
ifstate %currentdur AM 217 47 275 130 5 8 sprites.bmp
ifstate %currentdur PM 217 47 282 130 5 8 sprites.bmp
}
alias drawtime {
if ( %format == 24hour ) {
%currenttime = $asctime(HH:nn:ss:TT)
}
else {
%currenttime = $asctime(hh:nn:ss:TT)
}
drawhour1
drawhour2
drawmin1
drawmin2
drawsec1
drawsec2
drawdur
}
alias activeecho {
if ( $active == Status Window ) {
echo $1-
}
else {
echo $active $1-
}
}
alias clocktimer {
timerclock 0 0.5 ctcommands
}
alias ctcommands {
drawtime
%alarmtime = %alarmhour $+ : $+ %alarmmin $+ : $+ 00 $+ : $+ %alarmdur
if ( %alarm == on ) && ( %currenttime == %alarmtime ) {
%alarmcommand
%alarm = alarming
}
if ( %alarm == alarming ) && ( %currenttime != %alarmtime ) {
%alarm = on
}
}
alias clock {
if ( $1 = on ) {
if ( $window(@Clock).state == normal ) {
activeecho 2Clock already on
return
}
window -rpk0 +l @Clock -1 -1 280 171
drawpic @Clock 0 0 0 0 273 147 sprites.bmp
drawpic @Clock 223 47 289 130 6 8 sprites.bmp
clocktimer
if ( %format == 24hour ) {
draw24
}
else {
draw12
%format = 12hour
}
}
elseif ( $1 == off ) {
if ( $window(@Clock).state != normal ) {
activeecho 2Clock already off
return
}
timerclock off
window -c @Clock
}
else {
activeecho 2Syntax: /clock on|off
}
}
alias draw12 {
drawpic @Clock 217 70 282 120 5 8 sprites.bmp
drawpic @Clock 223 70 289 120 5 8 sprites.bmp
}
alias draw24 {
drawpic @Clock 217 70 289 120 5 8 sprites.bmp
drawpic @Clock 223 70 303 120 5 8 sprites.bmp
}
on *:input:*:{
if ( $1- == /timers off ) && ( $window(@Clock).state == normal ) {
timers off
clocktimer
halt
}
if ( $1 == /timerclock ) && ( $window(@Clock).state == normal ) {
timerclock off
clocktimer
halt
}
}
on *:close:@Clock:{
clock off
}
menu @Clock {
dclick:{
if ( $inrect( $mouse.x , $mouse.y , 22 , 114 , 12 , 12 ) == $false ) && ( $inrect( $mouse.x , $mouse.y , 65 , 114 , 12 , 12 ) == $false ) && ( $inrect( $mouse.x , $mouse.y , 107 , 114 , 12 , 12 ) == $false ) {
echo Alarm Clock v1.0 by minute
}
}
sclick:{
if ( $inrect( $mouse.x , $mouse.y , 22 , 114 , 12 , 12 ) == $true ) {
drawpic @Clock 24 115 296 98 14 12 sprites.bmp
%button1 = true
}
elseif ( $inrect( $mouse.x , $mouse.y , 65 , 114 , 12 , 12 ) == $true ) {
drawpic @Clock 65 115 296 98 14 12 sprites.bmp
%button2 = true
}
elseif ( $inrect( $mouse.x , $mouse.y , 107 , 114 , 12 , 12 ) == $true ) {
drawpic @Clock 106 115 296 98 14 12 sprites.bmp
%button3 = true
}
else {
set %button1 false
set %button2 false
set %button3 false
}
}
uclick:{
if ( $inrect( $mouse.x , $mouse.y , 22 , 114 , 12 , 12 ) == $true ) {
drawpic @Clock 24 115 281 98 14 12 sprites.bmp
if ( %button1 == true ) {
clock off
}
}
elseif ( $inrect( $mouse.x , $mouse.y , 65 , 114 , 12 , 12 ) == $true ) {
drawpic @Clock 65 115 281 98 14 12 sprites.bmp
if ( %button2 == true ) {
if ( %alarmcommand == $null ) {
%alarmcommand = /echo Cockadoodle DooOO!
}
if ( %alarmhour == $null ) {
%alarmhour = 12
}
if ( %alarmmin == $null ) {
%alarmmin = 00
}
if ( %alarmdur == $null ) {
%alarmdur = AM
}
dialog -m Alarm Clocktable
if ( %alarm == off ) {
did -u Alarm 3
}
elseif ( %alarm == on ) {
did -c Alarm 3
}
else {
%alarm = off
did -u Alarm 3
}
}
}
elseif ( $inrect( $mouse.x , $mouse.y , 107 , 114 , 12 , 12 ) == $true ) {
drawpic @Clock 106 115 281 98 14 12 sprites.bmp
if ( %button3 == true ) {
if ( %format == 12hour ) {
%format = 24hour
draw24
}
else {
%format = 12hour
draw12
}
}
}
}
mouse:{
if ( $inrect( $mouse.x , $mouse.y , 22 , 114 , 12 , 12 ) == $true ) {
drawpic @Clock 24 115 281 98 14 12 sprites.bmp
}
elseif ( $inrect( $mouse.x , $mouse.y , 65 , 114 , 12 , 12 ) == $true ) {
drawpic @Clock 65 115 281 98 14 12 sprites.bmp
}
elseif ( $inrect( $mouse.x , $mouse.y , 107 , 114 , 12 , 12 ) == $true ) {
drawpic @Clock 106 115 281 98 14 12 sprites.bmp
}
else {
drawpic @Clock 24 115 281 84 14 12 sprites.bmp
drawpic @Clock 65 115 281 84 14 12 sprites.bmp
drawpic @Clock 106 115 281 84 14 12 sprites.bmp
}
}
}
dialog Clocktable {
title "Alarm Settings"
size -1 -1 96 42
option dbu
check "Alarm On", 3, 10 3 31 12
edit %alarmhour , 4, 45 4 11 10, limit 2
edit %alarmmin , 5, 59 4 11 10, limit 2
edit %alarmdur , 7, 71 4 13 10, limit 2
text ":" , 6, 56 6 3 10, center, read
edit %alarmcommand , 2, 5 17 86 10, hsbar, multi
button "Close", 1, 30 30 35 10, ok
}
on *:dialog:Alarm:sclick:3: {
if ( %alarm = off ) {
%alarm = on
}
else {
%alarm = off
}
}
on *:dialog:Alarm:edit:2: {
%alarmcommand = $did(Alarm, 2, 1).text
}
on *:dialog:Alarm:edit:4: {
%alarmhour = $did(Alarm, 4, 1).text
if ( $left( %alarmhour , 1 ) != 0 ) && ( %alarmhour isnum 1-9 ) {
%alarmhour = 0 $+ %alarmhour
}
}
on *:dialog:Alarm:edit:5: {
%alarmmin = $did(Alarm, 5, 1).text
if ( $left( %alarmmin , 1 ) != 0 ) && ( %alarmmin isnum 1-9 ) {
%alarmmin = 0 $+ %alarmmin
}
}
on *:dialog:Alarm:edit:7: {
%alarmdur = $did(Alarm, 7, 1).text
}