Downloading File
Filename: Simple Timer(s) Dialog
dialog _Timer(s) {
title ""
size -1 -1 256 120
option dbu
box "Timer Info", 13, 2 51 252 40
box "Timers", 2, 3 4 250 45
list 1, 7 16 241 28, hsbar vsbar size
text "Timer Name:", 3, 6 60 32 8
edit "", 4, 37 59 25 10, read autohs
text "Timer Action(s):", 5, 6 78 40 9
edit "", 6, 224 59 25 10, read autohs
text "Action(s) Time(s) Remaining:", 7, 64 60 70 8
edit "", 8, 133 59 25 10, read autohs
text "Delay Between Action(s):", 9, 161 60 62 8
edit "", 10, 48 78 202 10, read autohs
box "", 14, 3 73 252 1
box "Options", 15, 2 92 252 26
button "Halt Selected ", 17, 55 102 40 10
button "Halt All ", 18, 162 102 31 10
button "Clear Status", 16, 4 102 50 10
button "Refresh", 20, 202 102 49 10
box "", 21, 196 92 2 26
box "", 11, 157 92 2 26
button "Pause", 12, 96 102 29 10
button "Resume", 19, 126 102 29 10
}
menu * {
Timer Dialog: { _Timers_Inti }
}
alias _Timer_Tan_ {
var %_TimerI 1
while (%_TimerI <= 24) {
dialog -t _Timer(s) $right(Timer(s) Info Dialog.���,%_TimerI)
var %_TimerT 1
while (%_TimerT <= 300) inc %_TimerT
inc %_TimerI
}
}
alias _Timers_Inti {
if ($dialog(_Timer(s))) { dialog -x _Timer(s) _Timer(s) | dialog -m _Timer(s) _Timer(s) | _Timer_Tan_ }
if (!$dialog(_Timer(s))) { dialog -m _Timer(s) _Timer(s) | _Timer_Tan_ }
}
alias _Timers_Inti2 {
.timers
write -c _Timers_B.txt
filter -cs _Timers_A.txt *Timer*
_Timers_A
}
alias _Timers_A {
unset %_TX1B
var %_TX1 = 1
while (%_TX1 <= $lines(_Timers_A.txt)) {
var %_TX1A = $read(_Timers_A.txt,%_TX1)
if (Active timers isin %_TX1A) { set %_TX1B %_TX1 }
if (%_TX1 == $lines(_Timers_A.txt)) { _Timers_B }
inc %_TX1
}
}
alias _Timers_B {
var %_TX2 = 1
while (%_TX2 <= $lines(_Timers_A.txt)) {
var %_TX2A = $read(_Timers_A.txt,%_TX2)
tokenize 32 $read(_Timers_A.txt,%_TX2)
if ($5 != time(s)) { var %_TX2A1 * Timer $3- }
if ($5 == time(s)) { var %_TX2A1 * Timer $5- }
if (Timer isin %_TX2A) && (delay isin %_TX2A) && (%_TX2 >= %_TX1B) && (%_TX2A1 == $read(Timer_Paused.txt,w,%_TX2A1)) { did -a _Timer(s) 1 $read(_Timers_A.txt,%_TX2) (Paused) | write _Timers_B.txt $read(_Timers_A.txt,%_TX2) }
if (Timer isin %_TX2A) && (delay isin %_TX2A) && (%_TX2 >= %_TX1B) && (%_TX2A1 != $read(Timer_Paused.txt,w,%_TX2A1)) { did -a _Timer(s) 1 $read(_Timers_A.txt,%_TX2) | write _Timers_B.txt $read(_Timers_A.txt,%_TX2) }
if (%_TX2 == $lines(_Timers_A.txt)) && ($lines(_Timers_B.txt) == 0) { _Timer_None | halt }
if (%_TX2 == $lines(_Timers_A.txt)) && ($lines(_Timers_B.txt) >= 1) { did -e _Timer(s) 18 | halt }
inc %_TX2
}
}
alias _Timers_C {
var %_TX3 = 1
while (%_TX3 <= $lines(_Timers_B.txt)) {
if (%_TX3 == %_T_Sel) {
tokenize 32 $read(_Timers_B.txt,%_TX3)
if (%_TX3 == %_T_Sel2) && (%_T_SelH == On) { write -dl $+ %_T_Sel2 _Timers_B.txt | .timer $+ $3 off | set -u10 %_Timer_Sel_Halted $3 | did -b _Timer(s) 17 | _Timer_Sel_Halted | did -d _Timer(s) 1 %_T_Sel2 | unset %_T_Sel2 %_T_SelH | halt
}
var %_TRS $chr(40) $+ $server $+ $chr(41)
did -a _Timer(s) 4 $3
if ($5 != time(s)) { did -a _Timer(s) 8 N/A/0 | did -a _Timer(s) 6 $4 | did -a _Timer(s) 10 $remove($6-,%_TRS)) | halt }
did -a _Timer(s) 8 $4
did -a _Timer(s) 6 $6
did -a _Timer(s) 10 $remove($8-,%_TRS))
}
inc %_TX3
}
}
on *:dialog:_Timer(s):init:*: {
did -b _Timer(s) 17,18,12,19
_Timers_Inti2
}
on *:dialog:_Timer(s):sclick:*: {
if ($did == 1) {
set %_SelS $did(1).seltext
var %_Sel_Num_TS $numtok(%_SelS,32))
var %_Sel_Num_TS2 $gettok(%_SelS,%_Sel_Num_TS,32))
var %_PausedS $chr(40) $+ Paused $+ $chr(41)
if (%_Sel_Num_TS2 == %_PausedS) { did -e $dname 17,18,19 | did -b $dname 12 | set %_T_Sel $did(1).sel | did -r $dname 4,6,8,10 | _Timers_C | halt }
if (%_Sel_Num_TS2 != %_PausedS) { did -e $dname 17,12 | did -b $dname 19 | set %_T_Sel $did(1).sel | did -r $dname 4,6,8,10 | _Timers_C | halt }
}
if ($did == 16) { clear -s | _Timer_Status }
if ($did == 17) {
set %_SH $did(1).sel
set %_SelH $did(1).seltext
var %_Sel_Num_R1 $numtok(%_SelH,32))
var %_Sel_Num_R2 $gettok(%_SelH,%_Sel_Num_RH,32))
var %_Sel_Num_R3 $gettok(%_SelH, $+ $calc(%_Sel_Num_R2 - 1) $+ ,32))
did -d $dname 1 %_SH
tokenize 32 %_SelH
if ($5 != time(s)) {
if ($did(1).lines == 0) { did -r $dname 4,6,8,10 | did -b _Timer(s) 17,18,12,19 }
set -u20 %_HH On | set %_Timer_Rem_Sel * Timer $remove($3-,%_Sel_Num_R3) | .Timer $+ $3 Off | set %_T_Sel2 $did(1).sel | did -r $dname 4,6,8,10 | set %_T_SelH On | did -d $dname 1 %_PR | _Timers_Removed | set %_Timer_Sel_Halted $3 | _Timer_Sel_Halted | halt }
.timer $+ $3 off
set %_Timer_Rem_Sel * Timer $remove($5-,%_Sel_Num_R3)
set %_Timer_Sel_Halted $3 | _Timer_Sel_Halted
if ($did(1).lines == 0) { did -r $dname 4,6,8,10 | did -b _Timer(s) 17,18,12,19 }
set %_T_Sel2 $did(1).sel | did -r $dname 4,6,8,10 | set -u1 %_HH On | _Timers_Removed
}
if ($did == 18) { .timers off | did -r $dname 4,6,8,10,1 | did -b $dname 17,18 | write -c Timer_Paused.txt | _Timer_All_Off }
if ($did == 20) { _Timers_Inti }
if ($did == 12) {
set %_PP $did(1).sel
set %_Timer_Paused $did(1).seltext
tokenize 32 $did(1).seltext
var %_TPS $chr(40) $+ $server $+ $chr(41)
set %_Timer_Paused2 $3
did -b $dname 12
if ($5 != time(s)) { .timer $+ $3 -p 0 $remove($4,s,m) $remove($6-,%_TPS)) | write Timer_Paused.txt * Timer $3- | did -o $dname 1 %_PP %_Timer_Paused (Paused) | did -b $dname 19,17 | _Timer_Sel_Paused | halt }
.timer $+ $3 -p $4 $remove($6,s,m) $remove($8-,%_TPS))
write Timer_Paused.txt * Timer $5-
did -o $dname 1 %_PP %_Timer_Paused (Paused)
did -b $dname 19,17
_Timer_Sel_Paused
}
if ($did == 19) {
set %_SelP $did(1).seltext
var %_Sel_Num_R1 $numtok(%_SelP,32))
var %_Sel_Num_R2 $gettok(%_SelP,%_Sel_Num_R1,32))
var %_Sel_Num_R3 $gettok(%_SelP, $+ $calc(%_Sel_Num_R1 - 1) $+ ,32))
var %_Paused $chr(40) $+ Paused $+ $chr(41)
if (%_Sel_Num_R2 == %_Paused) {
set %_PR $did(1).sel
set %_Timer_Resumed $did(1).seltext
tokenize 32 $did(1).seltext
var %_TRS $chr(40) $+ $server $+ $chr(41)
set %_Timer_Resumed2 $3
if ($5 != time(s)) { set %_Timer_Rem_Sel * Timer $remove($3-,%_Sel_Num_R2) | .timer $+ $3 -r 0 $remove($4,s,m) $remove($6-,%_Sel_Num_R2,%_Sel_Num_R3)) | did -o $dname 1 %_PR $remove(%_Timer_Resumed,%_Sel_Num_R2)) | set %_Timer_Resumed2 $3 | _Timers_Removed | did -b $dname 19,17 | halt }
.timer $+ $3 -r $4 $remove($6,s,m) $remove($8-,%_Sel_Num_R2,%_Sel_Num_R3))
set %_Timer_Rem_Sel * Timer $remove($5-,%_Sel_Num_R2)
set %_Timer_Resumed2 $3
did -o $dname 1 %_PR $remove(%_Timer_Resumed,%_Sel_Num_R2))
did -b $dname 19,17
_Timers_Removed
}
}
}
alias _Timers_Removed {
var %_TRX = 1
while (%_TRX <= $lines(Timer_Paused.txt)) {
set %_TRXA $read(Timer_Paused.txt,%_TRX)
if (%_TRXA == %_Timer_Rem_Sel) && (%_HH == On) { write -dl $+ %_TRX Timer_Paused.txt | halt }
if (%_TRXA == %_Timer_Rem_Sel) { write -dl $+ %_TRX Timer_Paused.txt | _Timer_Sel_Resumed }
inc %_TRX
}
}
alias _Timer_Sel_Resumed {
if ($version < 6.31) { echo -a ( 4TIMER(S) Tip Notice: $+ $me $+ timer 4" $+ %_Timer_Resumed2 $+ " has resumed. )
}
else {
$tip(4TIMER(S),4TIMER(S), $+ $me $+ timer 4" $+ %_Timer_Resumed2 $+ " resumed., 3)
}
}
alias _Timer_Sel_Paused {
if ($version < 6.31) { echo -a ( 4TIMER(S) Tip Notice: $+ $me $+ timer 4" $+ %_Timer_Paused2 $+ " has been paused. )
}
else {
$tip(4TIMER(S),4TIMER(S), $+ $me $+ timer 4" $+ %_Timer_Paused2 $+ " has been paused., 3)
}
}
alias _Timer_Sel_Halted {
if ($version < 6.31) { echo -a ( 4TIMER(S) Tip Notice: $+ $me $+ timer 4" $+ %_Timer_Sel_Halted $+ " has been halted. )
}
else {
$tip(4TIMER(S),4TIMER(S), $+ $me $+ timer 4" $+ %_Timer_Sel_Halted $+ " has been halted., 3)
}
}
alias _Timer_Status {
if ($version < 6.31) { echo -a ( 4TIMER(S) Tip Notice: $+ $me $+ status window is now 4CLEAR.This allows the timer(s) data be collected faster. )
}
else {
$tip(4TIMER(S),4TIMER(S), $+ $me $+ status window is now 4CLEAR.This allows the timer(s) data be collected faster., 3)
}
}
alias _Timer_None {
if ($version < 6.31) { echo -a ( 4TIMER(S) Tip Notice: $+ $me $+ there are no 4ACTIVE timers. )
}
else {
$tip(4TIMER(S),4TIMER(S), $+ $me $+ there are no 4ACTIVE Timers., 3)
}
}
alias _Timer_ALL_Off {
if ($version < 6.31) { echo -a ( 4TIMER(S) Tip Notice: $+ $me $+ all 4ACTIVE timers are now halted. )
}
else {
$tip(4TIMER(S),4TIMER(S), $+ $me $+ all 4ACTIVE timers are now halted., 3)
}
}
raw 421:*: { if ($2 == 1) { halt } }


