Terrapin Resources

24-Hour Clock

24-hour clock by tekwiz@beyondbb.com

This is a 24-hour clock that will display your system time and is accurate, so far as your computer’s clock is correct.

This project illustrates

  • using the TIME function
  • formatting strings
  • manipulating lists
  • printing with TURTLETEXT

Clock24.lgo

TO START
    CLEANUP
    SETUP_SCREEN
    SETUP_OPTIONS
    RUN [CHANGE_TIME]
    SETBG 0
END

TO CLEANUP
    CLEAN
    CS
    DRAW
    SS
    CT
    SETBG 0
END

TO SETUP_SCREEN
    HT
    PU
    SETW 8
    TELL [0 1]
    SETXY [-200 -50]
    PD
    TELL 0
    SETPC 0
    (STAMPRECT 400 100 "TRUE)
    PU
    FD 100
    RT 90
    FD 14
    SETPC 12
    SETBG 0
    PD
    SETBG 0
END

TO CHANGE_TIME
    SETFONT "TIMES 60 1
    SETBG 0
    TELL 0
    ASK 1 [SETPOS [-200 -50]]
    REPEAT 43200 [MAKE "H (FIRST TIME) \
    MAKE "M (ITEM 2 TIME) \
    MAKE "S (LAST TIME) \
    MAKE "C (CHAR 58) \
    IF (COUNT :H) < 2 [MAKE "H WORD 0 :H] \
    IF (COUNT :M) < 2 [MAKE "M WORD 0 :M] \
    IF (COUNT :S) < 2 [MAKE "S WORD 0 :S] \
    SETBG 0  SETH 0 \
    TT (LIST :H :C :M :C :S) \
    WHILE [:S = (LAST TIME)] [] \
    ASK 1 [(STAMPRECT 400 100 "TRUE)]]
    CEASE
END

TO SETUP_OPTIONS
    PR "|Welcome to my clock. Here are some options for you.|
    PR "|To stop the clock, click the red stop button.|
    PR "|To learn about the author, type "author".|
    PR "|To learn about this program, type "about".|
    PR "|To restart the clock, type "start".|
END

TO AUTHOR
    AUTHOR_RJ
END

TO AUTHOR_RJ
    PR `My name is RJ.`
    PR `I was 14 when I made this.`
    PR `I am home schooled,`
    PR `and I have an endless fascination`
    PR `for electronics and programming.`
    PR `Hope you have fun with this program!`
END

TO CEASE
    PR "|STOPPED!!|
    PR "|To restart, type "start".|
    TOPLEVEL
END

TO ABOUT
  ABOUT_CLOCK
END

TO ABOUT_CLOCK
    PR `This is a 24-hour clock that will run for 12 hours and then stop.`
END

START

Procedure START
Description Displays a 24-hour clock
Level Beginner
Tags TIME, Clock, Lists