Here's a more recent version with corrected inspiration. :-)
[
REBOL [
        Title: "Reminder"
        Date: 1/December/1999
        Name: 'Reminder
        Version: 0.0.2
        File: %"Reminder.r"
        Home: http://members.xoom.com/AndrewMartin/
        Author: "Andrew Martin"
        Owner: "Andrew Martin"
        Rights: "Copyright © 1999, Andrew Martin."
        Needs: 2.2.0
        Tabs: 4
        Usage: {
                Reminder? 5/Dec/1999/19:00:34
                Reminder? now
                }
        Purpose: {
                To issue reminders for the current time
                for a daily and weekly schedule.
                }
        Comment: {
                Inspiration gratefully received from Graham Chiu! :-)
                }
        Inspiration: {
                Graham Chiu
                gchiu<at>compkarori.co.nz
                http://www.compkarori.com/dynamo - The Homebuilt Dynamo
                http://www.compkarori.com/dbase - The dBase bulletin
                }
        History: [
                0.0.1 [1/December/1999 {Created this.} {Andrew}]
                0.0.2 [1/December/1999 {Updated this header.} {Andrew}]
                ]
        Language: 'English
        Email: [EMAIL PROTECTED]
        Site: http://members.xoom.com/AndrewMartin/
        Category: 'general
        Charset: 'ANSI
        Example: {}
        ]

Daily_Schedule: [
        22:00 "Ten O'Clock News - TV1"
        ]

Weekly_Schedule: [
        Tuesday [
                18:00 "Six O'Clock News - TV1"
                20:30 "StarTrek Voyager - TV4"
                ]
        Thursday [
                20:30 "Star Gate - TV3"
                ]
        Friday [
                19:30 "Farscape - TV3"
                ]
        Sunday [
                19:00 "Futurama - TV2"
                ]
        ]

Weekday: function [
        {Translates Weekday number to weekday name word.}
        Date [date!]] [Weekdays]
        [
        Weekdays: [
                Monday
                Tuesday
                Wednesday
                Thursday
                Friday
                Saturday
                Sunday
                ]
        pick Weekdays Date/Weekday
        ]

Month: function [
        {Translates Month number to month name word.}
        Date [date!]] [Months]
        [
        Months: [
                January
                February
                March
                April
                May
                June
                July
                August
                September
                October
                November
                December
                ]
        pick Months Date/Month
        ]

Daily?: func [Schedule [block!] Time [time!]] [
        Time: Time - (Time // 00:01:00)
        select Schedule Time
        ]

Weekly?: function [Weekly_Schedule [block!] Date [date!]] [Schedule] [
        Schedule: select Weekly_Schedule Weekday Date
        if block? Schedule [
                Daily? Schedule Date/Time
                ]
        ]

Reminder?: function [Date [date!]] [Reminder] [
        Reminder: Daily? Daily_Schedule Date/Time
        if none? Reminder [
                Reminder: Weekly? Weekly_Schedule Date
                ]
        Reminder
        ]

Remind: function [] [Reminder] [
        forever [
                Reminder: Reminder? now
                if string? Reminder [
                        print rejoin [{Reminder: "} Reminder {"}]
                        ; Call Cellular Telephone Message script here!
                        ; My_Cellular_Telephone_Message Reminder
                        ]
                wait 00:01:00
                ]
        ]

print Reminder? 5/Dec/1999/19:00:34

]

Andrew Martin
Perspiring over a hot REBOL stove... ;-)
[EMAIL PROTECTED]
http://members.xoom.com/AndrewMartin/
Online @ 33,600 Baud!
-><-

Reply via email to