Posted by member 5669 on 2004-03-16 20:39:58
this piece of code allows you to have a clock that reads off the time as text (like a sentence). it's useless beyond all reasoning, but it was fun to do. (thanks to tnl for the help)
first, make a hidden label that just shows the clock minutes:
this allows ls to monitor when the minutes to change to update the label. next, let's write our !Clock_Update bang in the script.rc:
you will also want to run a "*Script start !Clock_Update" to the script.rc so it runs the bang on !Recycle too. yes, it's a long script, but you have to account for each string of minutes and hours to make it work. let's make our clock label:
now whenever the minutes change in your HiddenClockLabel, it will run !Clock_Update and reflect those changes in text form. now you can read the time as "Six Fifty-Three in the evening" instead of boring old "6:53 pm".
first, make a hidden label that just shows the clock minutes:
*Label HiddenClockLabel
HiddenClockLabelText "[time ('nn')]"
HiddenClockLabelOnTextChange !Execute [!Clock_Update]
HiddenClockLabelStartHidden
HiddenClockLabelText "[time ('nn')]"
HiddenClockLabelOnTextChange !Execute [!Clock_Update]
HiddenClockLabelStartHidden
this allows ls to monitor when the minutes to change to update the label. next, let's write our !Clock_Update bang in the script.rc:
*Script bang !Clock_Update
*Script exec !IfEval ("%{hour}" = "0") '|varset hoursstring twelve'
*Script exec !IfEval ("%{hour}" = "1") '|varset hoursstring one'
*Script exec !IfEval ("%{hour}" = "2") '|varset hoursstring two'
*Script exec !IfEval ("%{hour}" = "3") '|varset hoursstring three'
*Script exec !IfEval ("%{hour}" = "4") '|varset hoursstring four'
*Script exec !IfEval ("%{hour}" = "5") '|varset hoursstring five'
*Script exec !IfEval ("%{hour}" = "6") '|varset hoursstring six'
*Script exec !IfEval ("%{hour}" = "7") '|varset hoursstring seven'
*Script exec !IfEval ("%{hour}" = "8") '|varset hoursstring eight'
*Script exec !IfEval ("%{hour}" = "9") '|varset hoursstring nine'
*Script exec !IfEval ("%{hour}" = "10") '|varset hoursstring ten'
*Script exec !IfEval ("%{hour}" = "11") '|varset hoursstring eleven'
*Script exec !IfEval ("%{hour}" = "12") '|varset hoursstring twelve'
*Script exec !IfEval ("%{hour}" = "13") '|varset hoursstring one'
*Script exec !IfEval ("%{hour}" = "14") '|varset hoursstring two'
*Script exec !IfEval ("%{hour}" = "15") '|varset hoursstring three'
*Script exec !IfEval ("%{hour}" = "16") '|varset hoursstring four'
*Script exec !IfEval ("%{hour}" = "17") '|varset hoursstring five'
*Script exec !IfEval ("%{hour}" = "18") '|varset hoursstring six'
*Script exec !IfEval ("%{hour}" = "19") '|varset hoursstring seven'
*Script exec !IfEval ("%{hour}" = "20") '|varset hoursstring eight'
*Script exec !IfEval ("%{hour}" = "21") '|varset hoursstring nine'
*Script exec !IfEval ("%{hour}" = "22") '|varset hoursstring ten'
*Script exec !IfEval ("%{hour}" = "23") '|varset hoursstring eleven'
*Script exec !IfEval ("%{minute}" = "0") '|varset minutesstring o-clock'
*Script exec !IfEval ("%{minute}" = "1") '|varset minutesstring o-one'
*Script exec !IfEval ("%{minute}" = "2") '|varset minutesstring o-two'
*Script exec !IfEval ("%{minute}" = "3") '|varset minutesstring o-three'
*Script exec !IfEval ("%{minute}" = "4") '|varset minutesstring o-four'
*Script exec !IfEval ("%{minute}" = "5") '|varset minutesstring o-five'
*Script exec !IfEval ("%{minute}" = "6") '|varset minutesstring o-six'
*Script exec !IfEval ("%{minute}" = "7") '|varset minutesstring o-seven'
*Script exec !IfEval ("%{minute}" = "8") '|varset minutesstring o-eight'
*Script exec !IfEval ("%{minute}" = "9") '|varset minutesstring o-nine'
*Script exec !IfEval ("%{minute}" = "10") '|varset minutesstring ten'
*Script exec !IfEval ("%{minute}" = "11") '|varset minutesstring eleven'
*Script exec !IfEval ("%{minute}" = "12") '|varset minutesstring twelve'
*Script exec !IfEval ("%{minute}" = "13") '|varset minutesstring thirteen'
*Script exec !IfEval ("%{minute}" = "14") '|varset minutesstring fourteen'
*Script exec !IfEval ("%{minute}" = "15") '|varset minutesstring fifteen'
*Script exec !IfEval ("%{minute}" = "16") '|varset minutesstring sixteen'
*Script exec !IfEval ("%{minute}" = "17") '|varset minutesstring seventeen'
*Script exec !IfEval ("%{minute}" = "18") '|varset minutesstring eighteen'
*Script exec !IfEval ("%{minute}" = "19") '|varset minutesstring nineteen'
*Script exec !IfEval ("%{minute}" = "20") '|varset minutesstring twenty'
*Script exec !IfEval ("%{minute}" = "21") '|varset minutesstring twenty-one'
*Script exec !IfEval ("%{minute}" = "22") '|varset minutesstring twenty-two'
*Script exec !IfEval ("%{minute}" = "23") '|varset minutesstring twenty-three'
*Script exec !IfEval ("%{minute}" = "24") '|varset minutesstring twenty-four'
*Script exec !IfEval ("%{minute}" = "25") '|varset minutesstring twenty-five'
*Script exec !IfEval ("%{minute}" = "26") '|varset minutesstring twenty-six'
*Script exec !IfEval ("%{minute}" = "27") '|varset minutesstring twenty-seven'
*Script exec !IfEval ("%{minute}" = "28") '|varset minutesstring twenty-eight'
*Script exec !IfEval ("%{minute}" = "29") '|varset minutesstring twenty-nine'
*Script exec !IfEval ("%{minute}" = "30") '|varset minutesstring thirty'
*Script exec !IfEval ("%{minute}" = "31") '|varset minutesstring thirty-one'
*Script exec !IfEval ("%{minute}" = "32") '|varset minutesstring thirty-two'
*Script exec !IfEval ("%{minute}" = "33") '|varset minutesstring thirty-three'
*Script exec !IfEval ("%{minute}" = "34") '|varset minutesstring thirty-four'
*Script exec !IfEval ("%{minute}" = "35") '|varset minutesstring thirty-five'
*Script exec !IfEval ("%{minute}" = "36") '|varset minutesstring thirty-six'
*Script exec !IfEval ("%{minute}" = "37") '|varset minutesstring thirty-seven'
*Script exec !IfEval ("%{minute}" = "38") '|varset minutesstring thirty-eight'
*Script exec !IfEval ("%{minute}" = "39") '|varset minutesstring thirty-nine'
*Script exec !IfEval ("%{minute}" = "40") '|varset minutesstring forty'
*Script exec !IfEval ("%{minute}" = "41") '|varset minutesstring forty-one'
*Script exec !IfEval ("%{minute}" = "42") '|varset minutesstring forty-two'
*Script exec !IfEval ("%{minute}" = "43") '|varset minutesstring forty-three'
*Script exec !IfEval ("%{minute}" = "44") '|varset minutesstring forty-four'
*Script exec !IfEval ("%{minute}" = "45") '|varset minutesstring forty-five'
*Script exec !IfEval ("%{minute}" = "46") '|varset minutesstring forty-six'
*Script exec !IfEval ("%{minute}" = "47") '|varset minutesstring forty-seven'
*Script exec !IfEval ("%{minute}" = "48") '|varset minutesstring forty-eight'
*Script exec !IfEval ("%{minute}" = "49") '|varset minutesstring forty-nine'
*Script exec !IfEval ("%{minute}" = "50") '|varset minutesstring fifty'
*Script exec !IfEval ("%{minute}" = "51") '|varset minutesstring fifty-one'
*Script exec !IfEval ("%{minute}" = "52") '|varset minutesstring fifty-two'
*Script exec !IfEval ("%{minute}" = "53") '|varset minutesstring fifty-three'
*Script exec !IfEval ("%{minute}" = "54") '|varset minutesstring fifty-four'
*Script exec !IfEval ("%{minute}" = "55") '|varset minutesstring fifty-five'
*Script exec !IfEval ("%{minute}" = "56") '|varset minutesstring fifty-six'
*Script exec !IfEval ("%{minute}" = "57") '|varset minutesstring fifty-seven'
*Script exec !IfEval ("%{minute}" = "58") '|varset minutesstring fifty-eight'
*Script exec !IfEval ("%{minute}" = "59") '|varset minutesstring fifty-nine'
*Script gotoif ("%{hour}" <= "12") morning
*Script gotoif ("%{hour}" <= "17") afternoon
*Script gotoif ("%{hour}" <= "20") evening
*Script gotoif ("%{hour}" <= "24") night
*Script label morning
*Script exec !Labelsettext ClockLabel "%{hoursstring} %{minutesstring} in the morning"
*Script goto end
*Script label afternoon
*Script exec !Labelsettext ClockLabel "%{hoursstring} %{minutesstring} in the afternoon"
*Script goto end
*Script label evening
*Script exec !Labelsettext ClockLabel "%{hoursstring} %{minutesstring} in the evening"
*Script goto end
*Script label night
*Script exec !Labelsettext ClockLabel "%{hoursstring} %{minutesstring} at night"
*Script label end
*Script ~bang
*Script exec !IfEval ("%{hour}" = "0") '|varset hoursstring twelve'
*Script exec !IfEval ("%{hour}" = "1") '|varset hoursstring one'
*Script exec !IfEval ("%{hour}" = "2") '|varset hoursstring two'
*Script exec !IfEval ("%{hour}" = "3") '|varset hoursstring three'
*Script exec !IfEval ("%{hour}" = "4") '|varset hoursstring four'
*Script exec !IfEval ("%{hour}" = "5") '|varset hoursstring five'
*Script exec !IfEval ("%{hour}" = "6") '|varset hoursstring six'
*Script exec !IfEval ("%{hour}" = "7") '|varset hoursstring seven'
*Script exec !IfEval ("%{hour}" = "8") '|varset hoursstring eight'
*Script exec !IfEval ("%{hour}" = "9") '|varset hoursstring nine'
*Script exec !IfEval ("%{hour}" = "10") '|varset hoursstring ten'
*Script exec !IfEval ("%{hour}" = "11") '|varset hoursstring eleven'
*Script exec !IfEval ("%{hour}" = "12") '|varset hoursstring twelve'
*Script exec !IfEval ("%{hour}" = "13") '|varset hoursstring one'
*Script exec !IfEval ("%{hour}" = "14") '|varset hoursstring two'
*Script exec !IfEval ("%{hour}" = "15") '|varset hoursstring three'
*Script exec !IfEval ("%{hour}" = "16") '|varset hoursstring four'
*Script exec !IfEval ("%{hour}" = "17") '|varset hoursstring five'
*Script exec !IfEval ("%{hour}" = "18") '|varset hoursstring six'
*Script exec !IfEval ("%{hour}" = "19") '|varset hoursstring seven'
*Script exec !IfEval ("%{hour}" = "20") '|varset hoursstring eight'
*Script exec !IfEval ("%{hour}" = "21") '|varset hoursstring nine'
*Script exec !IfEval ("%{hour}" = "22") '|varset hoursstring ten'
*Script exec !IfEval ("%{hour}" = "23") '|varset hoursstring eleven'
*Script exec !IfEval ("%{minute}" = "0") '|varset minutesstring o-clock'
*Script exec !IfEval ("%{minute}" = "1") '|varset minutesstring o-one'
*Script exec !IfEval ("%{minute}" = "2") '|varset minutesstring o-two'
*Script exec !IfEval ("%{minute}" = "3") '|varset minutesstring o-three'
*Script exec !IfEval ("%{minute}" = "4") '|varset minutesstring o-four'
*Script exec !IfEval ("%{minute}" = "5") '|varset minutesstring o-five'
*Script exec !IfEval ("%{minute}" = "6") '|varset minutesstring o-six'
*Script exec !IfEval ("%{minute}" = "7") '|varset minutesstring o-seven'
*Script exec !IfEval ("%{minute}" = "8") '|varset minutesstring o-eight'
*Script exec !IfEval ("%{minute}" = "9") '|varset minutesstring o-nine'
*Script exec !IfEval ("%{minute}" = "10") '|varset minutesstring ten'
*Script exec !IfEval ("%{minute}" = "11") '|varset minutesstring eleven'
*Script exec !IfEval ("%{minute}" = "12") '|varset minutesstring twelve'
*Script exec !IfEval ("%{minute}" = "13") '|varset minutesstring thirteen'
*Script exec !IfEval ("%{minute}" = "14") '|varset minutesstring fourteen'
*Script exec !IfEval ("%{minute}" = "15") '|varset minutesstring fifteen'
*Script exec !IfEval ("%{minute}" = "16") '|varset minutesstring sixteen'
*Script exec !IfEval ("%{minute}" = "17") '|varset minutesstring seventeen'
*Script exec !IfEval ("%{minute}" = "18") '|varset minutesstring eighteen'
*Script exec !IfEval ("%{minute}" = "19") '|varset minutesstring nineteen'
*Script exec !IfEval ("%{minute}" = "20") '|varset minutesstring twenty'
*Script exec !IfEval ("%{minute}" = "21") '|varset minutesstring twenty-one'
*Script exec !IfEval ("%{minute}" = "22") '|varset minutesstring twenty-two'
*Script exec !IfEval ("%{minute}" = "23") '|varset minutesstring twenty-three'
*Script exec !IfEval ("%{minute}" = "24") '|varset minutesstring twenty-four'
*Script exec !IfEval ("%{minute}" = "25") '|varset minutesstring twenty-five'
*Script exec !IfEval ("%{minute}" = "26") '|varset minutesstring twenty-six'
*Script exec !IfEval ("%{minute}" = "27") '|varset minutesstring twenty-seven'
*Script exec !IfEval ("%{minute}" = "28") '|varset minutesstring twenty-eight'
*Script exec !IfEval ("%{minute}" = "29") '|varset minutesstring twenty-nine'
*Script exec !IfEval ("%{minute}" = "30") '|varset minutesstring thirty'
*Script exec !IfEval ("%{minute}" = "31") '|varset minutesstring thirty-one'
*Script exec !IfEval ("%{minute}" = "32") '|varset minutesstring thirty-two'
*Script exec !IfEval ("%{minute}" = "33") '|varset minutesstring thirty-three'
*Script exec !IfEval ("%{minute}" = "34") '|varset minutesstring thirty-four'
*Script exec !IfEval ("%{minute}" = "35") '|varset minutesstring thirty-five'
*Script exec !IfEval ("%{minute}" = "36") '|varset minutesstring thirty-six'
*Script exec !IfEval ("%{minute}" = "37") '|varset minutesstring thirty-seven'
*Script exec !IfEval ("%{minute}" = "38") '|varset minutesstring thirty-eight'
*Script exec !IfEval ("%{minute}" = "39") '|varset minutesstring thirty-nine'
*Script exec !IfEval ("%{minute}" = "40") '|varset minutesstring forty'
*Script exec !IfEval ("%{minute}" = "41") '|varset minutesstring forty-one'
*Script exec !IfEval ("%{minute}" = "42") '|varset minutesstring forty-two'
*Script exec !IfEval ("%{minute}" = "43") '|varset minutesstring forty-three'
*Script exec !IfEval ("%{minute}" = "44") '|varset minutesstring forty-four'
*Script exec !IfEval ("%{minute}" = "45") '|varset minutesstring forty-five'
*Script exec !IfEval ("%{minute}" = "46") '|varset minutesstring forty-six'
*Script exec !IfEval ("%{minute}" = "47") '|varset minutesstring forty-seven'
*Script exec !IfEval ("%{minute}" = "48") '|varset minutesstring forty-eight'
*Script exec !IfEval ("%{minute}" = "49") '|varset minutesstring forty-nine'
*Script exec !IfEval ("%{minute}" = "50") '|varset minutesstring fifty'
*Script exec !IfEval ("%{minute}" = "51") '|varset minutesstring fifty-one'
*Script exec !IfEval ("%{minute}" = "52") '|varset minutesstring fifty-two'
*Script exec !IfEval ("%{minute}" = "53") '|varset minutesstring fifty-three'
*Script exec !IfEval ("%{minute}" = "54") '|varset minutesstring fifty-four'
*Script exec !IfEval ("%{minute}" = "55") '|varset minutesstring fifty-five'
*Script exec !IfEval ("%{minute}" = "56") '|varset minutesstring fifty-six'
*Script exec !IfEval ("%{minute}" = "57") '|varset minutesstring fifty-seven'
*Script exec !IfEval ("%{minute}" = "58") '|varset minutesstring fifty-eight'
*Script exec !IfEval ("%{minute}" = "59") '|varset minutesstring fifty-nine'
*Script gotoif ("%{hour}" <= "12") morning
*Script gotoif ("%{hour}" <= "17") afternoon
*Script gotoif ("%{hour}" <= "20") evening
*Script gotoif ("%{hour}" <= "24") night
*Script label morning
*Script exec !Labelsettext ClockLabel "%{hoursstring} %{minutesstring} in the morning"
*Script goto end
*Script label afternoon
*Script exec !Labelsettext ClockLabel "%{hoursstring} %{minutesstring} in the afternoon"
*Script goto end
*Script label evening
*Script exec !Labelsettext ClockLabel "%{hoursstring} %{minutesstring} in the evening"
*Script goto end
*Script label night
*Script exec !Labelsettext ClockLabel "%{hoursstring} %{minutesstring} at night"
*Script label end
*Script ~bang
you will also want to run a "*Script start !Clock_Update" to the script.rc so it runs the bang on !Recycle too. yes, it's a long script, but you have to account for each string of minutes and hours to make it work. let's make our clock label:
*Label ClockLabel
ClockLabelText ""
ClockLabelX 5
ClockLabelY 5
ClockLabelAutoWidthMode left
ClockLabelAutoMaxWidth 600
ClockLabelHeight 40
ClockLabelAlign Left
ClockLabelVertAlign Top
ClockLabelFont "tahoma"
ClockLabelFontHeight 18
ClockLabelTransparencyMode true
ClockLabelImage clock_bg.png
ClockLabelText ""
ClockLabelX 5
ClockLabelY 5
ClockLabelAutoWidthMode left
ClockLabelAutoMaxWidth 600
ClockLabelHeight 40
ClockLabelAlign Left
ClockLabelVertAlign Top
ClockLabelFont "tahoma"
ClockLabelFontHeight 18
ClockLabelTransparencyMode true
ClockLabelImage clock_bg.png
now whenever the minutes change in your HiddenClockLabel, it will run !Clock_Update and reflect those changes in text form. now you can read the time as "Six Fifty-Three in the evening" instead of boring old "6:53 pm".