If you happen to remember the gist of what you wrote, I'd appreciate seeing it should you feel compelled to write it again, like I did

Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller
If you happen to remember the gist of what you wrote, I'd appreciate seeing it should you feel compelled to write it again, like I did
You are not, I see the difference as you state it.Hopefully I am not just being too obtuse.
Code: Select all
on mouseUp
send "mouseMove" to me in 1
end mouseUp
on mouseMove
put the screenMouseLoc
end mouseMove
Code: Select all
// stack winShape
local lclSecs, lclBool, lclHours, lclMins, lclRec
local lclScreenPosition
on openStack
go stack "positioner"
go stack "winShape"
set the blendLevel of this stack to 50
put the abbreviated date into field "calendar" of card "frmMain"
if line 1 of field "records" is not the long date then put the long date into line 1 of field "records"
timeClock
go stack "positioner"; set the blendLevel of stack "positioner" to 98
end openStack
on timeClock
put the long time into field "clock"
send timeClock to me in 59 ticks
end timeClock
on mouseMove
put the effective rect of stack "positioner" into lclScreenPosition
checkRect
end mouseMove
on checkRect
put the effective rect of stack "positioner" into lclScreenPosition
if the screenMouseLoc is within lclScreenPosition then
setSolid
else
setTranparent
end if
send checkRect to me in 1 seconds
// since speed isn't a necessity, 1 or even 2 seconds works fine, and the delay is actually desireable...
end checkRect
on setSolid
repeat until the blendLevel of stack "winShape" is 10
set the blendLevel of stack "winShape" to the blendLevel of stack "winShape" -1
set the blendLevel of stack "positioner" to the blendLevel of stack "winShape" +20
wait 1 ticks with messages
end repeat
exit setSolid
end setSolid
on setTranparent
repeat until the blendLevel of stack "winShape" is 50
set the blendLevel of stack "winShape" to the blendLevel of stack "winShape" +1
set the blendLevel of stack "positioner" to the blendLevel of stack "winShape" +49
wait 1 ticks with messages
end repeat
exit setTranparent
end setTranparent
on closeStack
set the stackFileVersion to 5.5
save this stack
pass closeStack
end closeStack
on mouseDown
put the mouseLoc into lclTopLeft
end mouseDown
on mouseUp
if lclTopLeft is not "" then put "" into lclTopLeft
put the seconds into lclSecs
if lclBool is "1" then
put "2" into lclBool
else
put "00" into lclHours; put "00" into lclMins
put "1" into lclBool
timer
end if
end mouseUp
on timer
if lclBool is "1" then
put format("%02d",the seconds -lclSecs) into field "timer"
if (lclMins < "30") and (lclHours < "01") then set the textColor of field "timer" to "red"
if (lclMins > "30") and (lclHours < "01") then set the textColor of field "timer" to "yellow"
if lclHours > "01" then set the textColor of field "timer" to "green"
if field "timer" is "60" then
put format("%02d",lclMins +1) into lclMins
put the seconds into lclSecs
end if
if tmpMins is "60" then
put format("%02d",lclHours +1) into lclHours
put "" into tmpMins
end if
send timer to me in 10 ticks
else
put tab & lclHours & " : " & lclMins & " : " & field "timer" & cr before line 2 of field "records"
set the textColor of line 2 of field "records" to the textColor of field "timer"
put "00" into field "timer"
put "00" into lclHours
put "00" into lclMins
set the textColor of field "timer" to "white"
end if
end timer
Code: Select all
// stack positioner...
on openStack
set the topLeft of this stack to the topLeft of stack "winShape"
set the blendLevel of this stack to "99"
end openStack
// thanks to Hermann again for this bit of information...
on moveStack
set the topLeft of stack "winShape" to the topLeft of this stack
send moveDone to me in .5 seconds
end moveStack
on moveDone
if the mouse is up then set the topLeft of stack "winShape" to the topLeft of this stack
end moveDone