







                                       Remind
                                    Version 3.00




















                              Copyright (C) 1993, 1994
                                         by
                                   Knut Torgersen




                              Remind Version 3.00 User's Manual - Page 1
                                                                   .oOo.


            Contents


            1. ZIP File Contents ......................................3


            2. Disclaimer .............................................4


            3. Shareware ..............................................4

                3.1 Shareware Distributors ............................4

            4. Contacting The Author ..................................4

                4.1 Electronic Mail ...................................4
                4.2 Snail Mail (Surface) ..............................5

            5. Requirements ...........................................5

                5.1 Memory ............................................5
                5.2 Disk ..............................................5
                5.3 Screen ............................................5

            6. Thank You ..............................................6


            7. Overview - What Remind Is And What It Is Not ...........6

                7.1 Remind Tip ........................................7

            8. The Remind Script Language (RSL) .......................8

                8.1 Date ..............................................8
                8.2 Message Line ......................................9
                8.3 End Field ........................................10
                8.4 Comments .........................................10

            9. Date Types ............................................10

                9.1 [DD.MM.YY] (Header) ..............................11
                9.2 [DD.MM.] (Header) ................................11
                9.3 [DD.] (Header) ...................................12
                9.4 [DOW] (Header) ...................................12
                9.5 [DD.MM.YY-DD.MM.YY] (Header) .....................12
                9.6 [DD.MM.-DD.MM.] (Header) .........................13
                9.7 [DD.-DD.] (Header) ...............................14
                9.8 [n.DOW.MM.] (Header) .............................14
                9.9 [n.DOW] (Header) .................................14
                9.10 [DOW.DD.] (Header) ..............................15
                9.11 [Nag] or [Nag=nn] (Header) ......................15
                9.12 [Year] (Message) ................................16




                              Remind Version 3.00 User's Manual - Page 2
                                                                   .oOo.

                9.13 [] (Message) ....................................16
                9.14 [End] (End) .....................................16

            10. Switches .............................................17

                10.1 /? Or /H (Help) .................................17
                10.2 /C (Compress) ...................................17
                10.3 /A (Add new date) ...............................18
                10.4 /W (Window) .....................................18
                10.5 /B (Beep) .......................................18
                10.6 /D (Date) .......................................18
                10.7 /I (Ignore Config File) .........................19
                10.8 /M (Mono-adjusted colors) .......................19
                10.9 /L (Low-intensity colors) .......................19
                10.10 /E (Enhanced colors) ...........................19

            11. Configuration File - KTCONFIG.DAT ....................19

                11.1 String ..........................................20
                11.2 Boolean .........................................21
                11.3 Color ...........................................21
                11.4 Color Values ....................................24
                    11.4.1 Dark Colors (Foreground and Background) ...24
                    11.4.2 Light Colors (Foreground) .................24

            12. The Editor ...........................................24

                12.1 Editor Keys .....................................25

            13. Error Messages .......................................26




                              Remind Version 3.00 User's Manual - Page 3
                                                                   .oOo.



            1. ZIP File Contents

            The ZIP file contains the following files:

                 REMIND.EXE    The executable

                 REMIND.DAT    Sample .DAT file. Delete it if you  don't
                               want  it.  but  read  the   documentation
                               first. Please note that the file includes
                               some examples of how  to use some of  the
                               "features".

                 REMINDNL.DAT  Remind goes  international! Another  .DAT
                               file. This one is  in Dutch! Supplied  by
                               Nord-Jan Vermeer.

                 REMINDNO.DAT  My personal REMIND.DAT file. The file  is
                               the one I currently have when I make  the
                               ZIP file.

                 KTCONFIG.DAT  A sample configuration file. Delete it to
                               use the default values.

                 REMIND.TXT    You're reading it.

                 REVISION.TXT  Corrections and  improvements. A  history
                               file, if you like.

                 SHAREWAR.TXT  A little reminder about Shareware.

                 REGISTER.TXT  A short, little file  telling you how  to
                               register your copy of Remind.




                              Remind Version 3.00 User's Manual - Page 4
                                                                   .oOo.



            2. Disclaimer

            I am not to be held responsible for any damages, including -
            but not limited to  - hardware and/or  software from use  of
            this product. In no  event will I be  liable to you for  any
            damages whatsoever, including lost profits and/or savings or
            other incidental  or consequential  damages arising  out  of
            your use or inability to use the program, or any other claim
            by any other party.


            3. Shareware

            This program is  distributed as shareware.  This means  that
            Remind is not free. If you like it, you should send me a do-
            nation. ($10 is suggested. See REGISTER.TXT for details.) If
            you don't,  please delete  REMIND.EXE and  its  accompanying
            data and documentation files.  I do, however, encourage  you
            to share Remind with your friends. If you do so, please dis-
            tribute the  original ZIP  file,  not only  the  executable.
            Please encourage me to make upgrades by sending me your sup-
            port. As in all capitalistic countries, support = money.  To
            register, send me  your contribution along  with your  name,
            address (paper and  e-mail). Please  print out  and fill  in
            REGISTER.TXT.


            3.1 Shareware Distributors

            A note to shareware distributors  (Disk vendors and BBS  Sy-
            sOps): Please feel free to  distribute the program. I  would
            be thankful, though, if you can notify me about it if you do
            so. You are not  to charge anyone  for your distribution  of
            Remind; except for  direct expenses you  have thereof.  This
            means that a  disk vendor  may charge for  the diskette  and
            postage only - not any "club fees".


            4. Contacting The Author

            You may contact me by mail in one of two ways:


            4.1 Electronic Mail

            Write me at one of the following addresses:

                 InterNet users:  knutt@ifi.uio.no
                                  Knut.Torgersen@SP.fidonet.bbs.no




                              Remind Version 3.00 User's Manual - Page 5
                                                                   .oOo.

            Several other computer  networks, like CompuServe,  exchange
            mail with InterNet. Please ask your SysOp for details.


            4.2 Snail Mail (Surface)

            To use surface mail, write me at:

                 Knut Torgersen
                 Lauritz Hervigs vei 105A
                 N-3035 DRAMMEN
                 Norway

            Please write me if  you need additional  help, find bugs  or
            have suggestions for improving the program.


            5. Requirements

            So, you may ask - what do  I need to run Remind? Testing  it
            on my system revealed these results:


            5.1 Memory

            Using EATMEM from TurboPower Software (TSRUtil 3.3 -  HIGHLY
            RECOMMENDED!!!), the shell program I use (COMMAND.COM  like)
            went limp before Remind did. If you have more than 128Kb  of
            memory, you'll be  safe. I guess  64Kb is OK  as well.  (NOT
            TESTED, though!!!) But I suspect most of you to use at least
            512Kb of DOS memory...


            5.2 Disk

            Remind is a small  program, so you  should have no  problems
            running it from your hard disk. Users with a computer  with-
            out a hard disk should be able to use a diskette without any
            problems whatsoever. Just put  REMIND.EXE, REMIND.DAT and  -
            optionally - KTCONFIG.DAT on your boot diskette.


            5.3 Screen

            Version 1.00 and  1.01 did only  support EGA/VGA screens.  I
            have now added  support for  MDA and CGA  displays as  well.
            Monochrome cards start up in mode  7. If it detects mode  7,
            Remind selects a  different color scheme.  No further  setup
            should be necessary. The program will search the video  BIOS
            for the EGA  signature. If Remind  finds it, EGA/VGA  colors
            will be the default choice. If not, the program selects  the
            CGA colors instead.




                              Remind Version 3.00 User's Manual - Page 6
                                                                   .oOo.

            I do strongly  recommend using Remind  on EGA or  VGA, as  I
            turn off blinking  characters, thus  enabling 16  background
            characters as well. Unfortunately,  CGA screens do not  have
            this option. It does - imho  - look nice turning off  blink.
            IBM didn't do a very good  job on the 8 original  background
            colors.


            6. Thank You

            I would like to say thank you to all of you helping  me with
            this program by sending me bug reports, ideas, and  support.
            Many of the features implemented since version 1.00 are  due
            to the fact that you, the users, send me good ideas.

            I haven't thrown  away a single  letter, so when  I get  the
            time to add some  features for a new  major release, I  will
            read them again, to  be sure I get  all the good ideas  into
            the program.

            Please do send me  more suggestions, criticism, whatever.  I
            read it all with great interest.  It may take some time  be-
            fore I have the time to reply, but I don't think I  have ne-
            glected a single letter so far.

            Again - thank you. (And if you have some money, please  feel
            free to send me some. Address above.)

            I'd like to express my gratitude to Jerry Palsson for  send-
            ing me corrections to my (and the word processor's (Yes, in-
            deed!)) worst mistakes in this document.

            If anyone want  to supply national  .DAT files, please  feel
            free to do so. I cannot credit you for it in any  other ways
            than mentioning you in this documentation (I don't earn that
            much on this  project (Hint)). So,  therefore: Thank you  to
            Nord-Jan Vermeer who supplied the Dutch REMINDNL.DAT file.

            The .DAT files remain the supplier's property and  responsi-
            bility - meaning  that I don't  necessarily understand  that
            particular language.


            7. Overview - What Remind Is And What It Is Not

            If you are like  me, you forget  everything about the  world
            surrounding you when  you go to  turn on the  power of  your
            computer. Wouldn't it be nice to  get a reminder about  your
            bills or the date or meeting  you were supposed  to show  up
            to half an hour ago -  at power-up? (Or whenever you need  a
            comprehensive list of should-have done?)




                              Remind Version 3.00 User's Manual - Page 7
                                                                   .oOo.

            To keep track of things to do, I made Remind. When  invoked,
            the program reads a script file named REMIND.DAT to check if
            there is anything to  remind you about.  There are ten  date
            types you may use to remind you: A full date: [DD.MM.YY],  a
            day and month:  [DD.MM.], a  day only: [DD.]  or a  weekday:
            [DOW]. Then there are three "hybrids": A full date interval:
            [DD.MM.YY-DD.MM.YY], a  day  and  month  interval:  [DD.MM.-
            DD.MM.] and a day only  interval: [DD.-DD.]. There are  also
            two date types for specifying the n'th day of week: n'th day
            of week of  any month:  [n.DOW] and n'th  day of  week of  a
            specified month: [n.DOW.MM.]. The last one, [DOW.DD],  makes
            it possible to remind you that a special day of the month is
            on a  special weekday.  The example  you will  se again  and
            again to  exemplify this  is...  [Fri.13.]... See  the  Date
            Types section below for details on what the various types do
            and how to use them.

            If, after examining today's date, it finds out that at least
            one of the  entries in the  data file is  true, the  program
            displays the  corresponding message  on-screen. The  program
            will use a different header for different messages. If,  for
            instance you  "nag" an  entry -  nags are  described in  the
            "Date Types" chapter later  in this manual - the header will
            display

                 In nn days: [...]
                 Your message goes here

            until there is only  one day left. The  [...] is one of  the
            date types described in the chapter "Date Types" below. Then
            the header layout changes to

                 In  1 day : [...]
                 Your message

            when there is only one day left until your event occurs. The
            "default" header layout for reminders is:

                 Today     : [...]
                 Whatever

            This is new  with version 3  and is there  due to the  added
            [Nag] feature.  Without changing  the header,  the  messages
            might be meaningless in  some cases. The  colon is fixed  at
            position 11.


            7.1 Remind Tip

            To get the  reminders when you  need them, place  REMIND.EXE
            and REMIND.DAT  in your  utility directory.  Make sure  your
            computer's PATH variable  contains the  directory where  you
            put Remind. Now, edit your AUTOEXEC.BAT file to include  Re-




                              Remind Version 3.00 User's Manual - Page 8
                                                                   .oOo.

            mind as the last entry. If you  want a window and a beep  if
            there are any reminders, the line will look like:

                 remind/w/b

            Close AUTOEXEC.BAT and restart  your computer to check  that
            everything is working.


            8. The Remind Script Language (RSL)

            You may safely skip  this section if you  have no plans  for
            doing manual editing on the REMIND.DAT file. If, however you
            want to edit the file, please remember to save the file as a
            plain text file.

            The general format of RSL is:

                 [Date]
                 [Date]
                 .
                 .
                 .
                 [Date]
                 Message Line
                 Message Line
                 .
                 .
                 .
                 Message Line
                 [End]

            All entries altering  the data  stream must  be enclosed  in
            square brackets - "[" and  "]". Square brackets are  illegal
            as characters in a Message Line, unless you want to  specify
            a [Year]  field. You  can read  more  about [Year]  in  Date
            Types.

            Please note that lines starting with  ; - a semicolon -  may
            occur anywhere in the RSL file. These lines are regarded  as
            comments and Remind  will ignore them  completely. You  will
            find more information and an example on comments in the Com-
            ments section below.


            8.1 Date

            [Date] is one of the date types specified in Date Types  be-
            low. A [Date] may be followed  by another [Date] as long  as
            the followers are all of the same type. Thus,

                 [22.03.]
                 [22.04.]




                              Remind Version 3.00 User's Manual - Page 9
                                                                   .oOo.

                 Message Line
                 [End]

            and

                 [Mon]
                 [Tue]
                 Message Line
                 [End]

            are both legal, but

                 [22.03.]
                 [23.03.]
                 [Mon]
                 Message line
                 [End]

            is not. Delete the DOW (See below) type to get it right.

            Adding more than  one [Date]  to a message  header makes  it
            possible to display the same message at different times. Ex-
            ample:

                 [31.07.93]
                 [02.08.93]
                 [03.08.93]
                 Comput'R'Us have a big sell-off on diskettes
                 [End]

            This message   appears 31 July,  2 and 3  August, but not  1
            August (Sunday).


            8.2 Message Line

            A message line is a line consisting of zero or more  charac-
            ters, including zero or more [Year] fields. This is the line
            of text  that is  displayed when  a message  header  becomes
            true. The [Year] is substituted with the difference  between
            this year and the number value in the [Year] field. Here are
            some examples of valid Message Lines:

                 This is a message.
                 1990
                 [1990]
                 Harrison Ford is [1942] years old today.
                 He was born in 1942.

            These are invalid:

                 Today is [23.07.]
                 This is a [cool] place.




                             Remind Version 3.00 User's Manual - Page 10
                                                                   .oOo.

                 Funny, ] is not allowed.


            8.3 End Field

            Every message is terminated  by an [End] line.  Encountering
            end of file or another [date]  without finding an end  value
            is an error. Note: By using the /A switch (described below),
            the program will  automatically insert an  [End] marker  it-
            self. Thus, do  not write [End]  statements in the  built-in
            editor!


            8.4 Comments

            A comment has the form

                 ; This is a comment outside the date block
                 [Date]
                 ; This is a comment inside the date block
                  ; This is not a comment!
                 Feed the fish
                 [End]

            I.e., you may enter comments anywhere you like. Please  note
            the following: For Remind  to recognise the  line as a  com-
            ment, you have to  enter the semicolon  in column #1.  Thus,
            the line "This is not a comment" above is not a comment  be-
            cause the semicolon is in column #2.

            You may also use [DD.], [DD.MM.] and [DD.MM.YY] to make com-
            ments by specifying an invalid number:

                 [00.]
                 This is a comment too!
                 [End]

            As there is no such thing as the zero'th day of a month, you
            may use this  approach as  well for  entering comments  into
            your REMIND.DAT file.


            9. Date Types

            For those  of you  familiar  with programming  languages,  I
            guess "Date Types" may look as a misspelled "Data Types" but
            that is not the case here. The Remind Script Language  (yes,
            it is a language. A simple one.) does not have any types  at
            all besides date types.

            Before we go on, just a  note about the date format used  by
            Remind. Around the world, there are several ways of specify-
            ing a date. To  exemplify, here are some  ways of writing  8




                             Remind Version 3.00 User's Manual - Page 11
                                                                   .oOo.

            January 1993:  The American  way: M/D/Y,  as in  1/8/93  (no
            leading zeros).  The  British write  DD/MM/YY,  as  08/01/93
            (leading zeros).  The Swedes  have  their version  as  well:
            YYYY-MM-DD, yielding 1993-01-08.  Here in  Norway, we  write
            01.08.93 or 8/1/93. Being what I  am, I chose the  Norwegian
            DD.MM.YY version for this program.

            There are ten  different ordinary date  types available  and
            three for special purposes: (Words in paranthesises indicate
            where to use them.)


            9.1 [DD.MM.YY] (Header)

            Remind will print your message if it finds one with a match-
            ing date in its header. Any  number is valid for DD, MM  and
            YY. I.e.: You  do not  get an error  message for  constructs
            like [32.13.97]. You just won't  ever see it displayed.  (If
            you do, please contact the author at once!) Characters other
            than 0..9 are not legal. This  is one of the two date  types
            that can be deleted by the  /C switch. See Switches for  de-
            tails on this subject. Note that you should NOT try  writing
            multiple dates for the same  message in "reverse order",  as
            this will confuse the /C switch. Thus,

                 [02.09.93]
                 [03.09.93]

            is RECOMMENDED,  but [03.09.93]  in front  of [02.09.93]  is
            NOT. This will effectively delete  your message if the  out-
            dated part is at the bottom of the date header. The rest  of
            the dates are transferred to the REMIND.DAT file, leaving  a
            "message less" header.

            Writing [00.DD.YY], substituting suitable values for DD  and
            MM, gives you an opportunity to make deleteable comments  in
            your REMIND.DAT file.  To distinguish it  as a comment,  put
            some asterisks or  something like that  around the  message.
            (Standard "programmer's look...")

            This date  type  responds  to the  [Nag]  or  [Nag=nn]  date
            type/modifier. To nag a  date, place the nag  you need on  a
            new line AFTER the [DD.MM.YY]  you find suitable. Read  more
            about nags below.


            9.2 [DD.MM.] (Header)

            The [DD.MM.] construction resembles the [DD.MM.YY]  version.
            But there  are differences:  As mentioned  above, there  are
            only two date types you can  delete with the /C switch,  and
            [DD.MM.] is not among those two. The purpose of the [DD.MM.]
            (please note the dot in front of the closing "]")  construc-




                             Remind Version 3.00 User's Manual - Page 12
                                                                   .oOo.

            tion is to  display the  same message  every year.  [04.07.]
            will display a  message on  4 July. [29.02.]  will warn  you
            every 4 years.

            The date  type  responds  to  the  [Nag]  or  [nag=nn]  date
            type/modifier. Read more about nags below.


            9.3 [DD.] (Header)

            This type is for displaying a  message on certain days in  a
            month: [1.] will warn you every first of a month about, say,
            paying your rent. Note: If you write [31.], only months hav-
            ing 31 days will  be selected. Any number  is valid for  the
            DD. parameter, but zero and values greater than 31 yield  an
            entry you'll never see. Unless something is wrong with  your
            computer, that is. (Or my programming...)

            If you need  comments in your  REMIND.DAT file, I  recommend
            using the value [00.], yielding an undeleteable comment.

            The date  type  responds  to  the  [Nag]  or  [nag=nn]  date
            type/modifier. Read more about nags below.


            9.4 [DOW] (Header)

            [DOW] stands for Day Of Week. If you need to be reminded  to
            go to work Monday morning, you  may write an entry  starting
            with [Mon] in the REMIND.DAT  file. The nine valid  versions
            of DOW are: Sun, Mon, Tue, Wed, Thu, Fri and Sat, being  the
            normal weekdays,  and Wda  (Weekday) plus  Wen (Weekend).  A
            header containing all seven weekdays will  - of course -  be
            displayed every day of the week. I have not provided a tenth
            value - All - as this will be the same as:

                 [Wda]
                 [Wen]
                 Displays EVERY day of the week
                 [End]

            Be careful with messages  popping up at  all times: You  may
            grow tired of  them, tap  a key  and lose  an important  re-
            minder.


            9.5 [DD.MM.YY-DD.MM.YY] (Header)

            This one is intended for  repeated messages that (sooner  or
            later) will be out of date.  Essentially, it is exactly  the
            same as the old [DD.MM.YY], but now you may specify a "From"
            - "To" interval. Instead of typing:




                             Remind Version 3.00 User's Manual - Page 13
                                                                   .oOo.

                 [09.12.94]
                 [10.12.94]
                 [11.12.94]
                 [12.12.94]
                 [13.12.94]
                 Early Christmas shopping
                 [End]

            you may now write this as:

                 [09.12.94-13.12.94]
                 Early Christmas shopping
                 [End]

            thus saving a few keystrokes, and making the REMIND.DAT file
            more readable. The message will  display 9 December thru  13
            December, both days inclusive.

            Just as the old [DD.MM.YY] this  one also gets deleted  when
            the date field is older than the system date at the time you
            compress the REMIND.DAT file.  The field is  too old if  the
            "To" field is less than the current date. Our example  above
            will be deleted 14 December and later.

            Please keep in mind that "From" greater than "To" is totally
            meaningless and, thus,  illegal; if you  try it, Remind  re-
            turns an error message.


            9.6 [DD.MM.-DD.MM.] (Header)

            Works like the ordinary [DD.MM.], but you have the  opportu-
            nity to specify intervals of dates. If "To" is greater  than
            "From", there won't be any surprises:

                 [09.12.-13.12.]
                 Early Christmas shopping
                 [End]

            pops up 9 to  13 December, just as  you'd expect it to.  But
            switching the two...

                 [13.12.-09.12.]
                 Whazz happenin'?
                 [End]

            will display the message every day  of the year, EXCEPT  10,
            11, 12 December. Why? Because you  just told Remind to  dis-
            play the message FROM 13 December TO 9 December. As the  two
            most clearly are not in the same year, it assumes 9 December
            to be next year.




                             Remind Version 3.00 User's Manual - Page 14
                                                                   .oOo.

            9.7 [DD.-DD.] (Header)

            Like the ordinary [DD.],  this one is for  days in a  month,
            but unlike [DD.], [DD.-DD.] is for intervals of days. "From"
            may be both less than or greater than "To" - leaving out in-
            stead of including days if necessary.

                 [09.-15.]
                 Remember to pay the rent 15th every month
                 [End]

            is pretty obvious. But if you  switch the two, you'll get  a
            completely different result:

                 [15.-09.]
                 Remember the rent 15th every month
                 [End]

            is not what I'd recommend writing. You will see the  message
            15th, 16th and  so on, BUT  NOT 10th, 11th,  ... 14th  every
            month. Thus,  to make  a message  appear FROM  .... TO,  use
            "From" less than  "To". To  EXCLUDE parts of  a month,  make
            "From" greater than "To".


            9.8 [n.DOW.MM.] (Header)

            To specify  days like  the  American Thanksgiving  -  fourth
            Thursday in November - I had to look this up manually in the
            calendar. As I grow older, I get more and more lazy. Looking
            it up using the calendar is far too complicated:

                 [4.Thu.11.]
                 Thanksgiving in the United States of America
                 [End]

            A lot easier, don't you think? Note the absence of a leading
            zero in the first  digit. That field  is a ONE-DIGIT  field.
            Finding the sixth (or even higher),  say Sunday, of a  month
            is pretty impressive.


            9.9 [n.DOW] (Header)

            If you for instance have a library meeting every third  Mon-
            day in every month, you may use the [n.DOW] date type. Every
            n'th DOW of any month, it pops up the message:

                 [3.Mon]
                 Library meeting. Bring a BIG lunch.
                 [End]




                             Remind Version 3.00 User's Manual - Page 15
                                                                   .oOo.

            The example  above, shows  the  message every  third  Monday
            every month.


            9.10 [DOW.DD.] (Header)

            To insert [Fri.13.] we need a type like this one. The syntax
            is simple: DOW  is the (hope-fully)  well-knovn Day of  Week
            type of variable.  And DD  is a day  of the  month. Set  to-
            gether, they give us the chance  to display a message  every
            time a certain weekday falls on a given day of the month.


            9.11 [Nag] or [Nag=nn] (Header)

            Sometimes it is convenient to get  a reminder in advance  of
            an event.  To "nag"  you the  whole week  before, say,  your
            spouse's birthday (remember the year  you forgot it?) add  a
            nag-value to the  event. Remind will  calculate the  correct
            day to start nagging  you and remind you  every day until  -
            and of course including - the date is the current one. Let's
            make this an explanation-by-example as well:

                 [12.12.]
                 [Nag]
                 Some spouse's birthday
                 [End]

            This one starts popping up 5 December. Note! The "header" of
            this message looks like this:

                 In  7 days: [12.12.]
                 Some spouse's birthday

            It changes to

                 Today     : [12.12.]

            when the current date is 12 December.

            If you are like me, you  need a pretty long reminder to  get
            things done. That is why Nag comes in two flavors. Plain va-
            nilla as  shown  above  and  an  "extended"  do-it-yourself-
            version like this one: [Nag=nn]. The "nn" value ranges  from
            00 to 99. In other words,  numbers less than 10 MUST HAVE  a
            leading zero in front of it:  [Nag=05] is legal, [Nag=5]  is
            not. The basic  (vanilla) type  defaults to  seven days.  In
            other words: [Nag] =[Nag=07].




                             Remind Version 3.00 User's Manual - Page 16
                                                                   .oOo.

            9.12 [Year] (Message)

            [Year] is treated in a  special manner: Whenever Remind  en-
            counters such a variable in the text, it substitutes  [Year]
            with ThisYear - [Year]  yielding a year difference. Example:

                 [13.07.]
                 Harrison Ford is [1942] years old today. He was born in
            1942.
                 [End]

            will look like

                 Today     : [13.07]
                 Harrison Ford is  51 years  old today. He  was born  in
            1942.

            on-screen. (If the year is 1993...)


            9.13 [] (Message)

            This is a "the variable says  it all" type. Or perhaps  not?
            The variable will only be  useful in conjunction with  nags.
            To use it, place a "[]"  somewhere in the text area.  Remind
            then re-places each occurrence  of "[]" with the  difference
            in days between the  current date and  whatever it found  in
            the date header. Example:

            The current date is 21 June 1994:

                 [21.06.]
                 [Nag]
                 In [] days, this message will be zero.
                 [End]

            Let's say the current date is 20 June, then Remind  displays
            this:

                 In  1 day : [21.06.]
                 In  1 days, this message will be zero.

            The drawback is of course that there is no way of  disabling
            the message on day zero.


            9.14 [End] (End)

            The only valid contents  of the [End]  variable is End.  Its
            purpose is to signal the end of the message.




                             Remind Version 3.00 User's Manual - Page 17
                                                                   .oOo.

            10. Switches

            The general format of Remind is:

                 REMIND [[/?|/H][/C|/D<DD.MM.YY>][/A][/W][/B][/M|/L|/E]]

            where switches enclosed in  [] are optional. Switches  sepa-
            rated by a "|" means that  you may choose only one of  them.
            Choosing two or more  of these means that  only one of  them
            will take effect.  Items surrounded by  "<" and ">"  picture
            required parameters  to the  switch. You  cannot specify  /D
            without adding the date as well.


            10.1 /? Or /H (Help)

            Types a short help message describing the switches briefly.


            10.2 /C (Compress)

            Compresses the REMIND.DAT file, while displaying a  progress
            indicator. Old, outdated items will be deleted from the data
            file. This  only affects  entries with  a [DD.MM.YY]  and  a
            [DD.MM.YY-DD.MM.YY] header. The latter will only be  deleted
            if the "To" part is outdated. If a date header is older than
            the current system date, Remind  removes the entry from  the
            file, if the date is the topmost item. Example:

                 [11.05.94]
                 [11.07.94]
                 Water the cactus
                 [End]

            If the system date at this  point is 11 July, and you  issue
            an REMIND/C, the REMIND.DAT will look like

                 [11.07.94]
                 Water the cactus
                 [End]

            after compress is  done. (I  do not recommend  using a  full
            date for remembering to water the cactus... Guess what  hap-
            pens if you do a compress  12 July. And guess what does  NOT
            appear same time next year.)

            The [DD.MM.YY-DD.MM.YY] works like this: If the "To" part of
            the date is outdated, Remind flags the entry for deletion:

                 [11.07.94-15.07.94]
                 Daily meetings, room 1024, 9:15.
                 [End]




                             Remind Version 3.00 User's Manual - Page 18
                                                                   .oOo.

            This one is outdated 15 July 1994.

            It is important to keep the dates sorted in ascending order.
            Due to limitations  in the compress  algorithm, the  program
            will delete from the current position to [End] regardless of
            previous dates. I am working on this.

            Remind creates  a temporary  file called  REMIND.$$$ in  the
            same directory that  REMIND.EXE and  REMIND.DAT reside.  All
            non-[DD.MM.YY] entries plus  the not-yet deleteable  entries
            are copied to this file. After completing the transfer,  Re-
            mind  deletes  the  original  REMIND.DAT  file  and  renames
            REMIND.$$$ to REMIND.DAT.

            If you specify the /D switch  along with the /C switch,  Re-
            mind ignores /D. It does so to protect you from accidentally
            deleting data not yet displayed. If  this is what you  wnat,
            change the system date  on your computer before  compressing
            instead.


            10.3 /A (Add new date)

            Provide a window to add a date to the data file. The  editor
            is a simple one. Just type  in whatever you want to add  and
            press F2 to save  them. A window will  pop up asking you  to
            confirm that you want to save. Yes is default. There is some
            more information on the editor below.


            10.4 /W (Window)

            If there are any  messages - window them!  It should not  be
            necessary to comment on this. The window will pop up only if
            there are any messages. Press a key to continue, or quit Re-
            mind. The window is 68 characters wide and 14 lines of text.
            If you are using an external  editor, please keep the  width
            in mind.


            10.5 /B (Beep)

            Just as with window, Remind will  only react to this  switch
            if there is a message. The beep is the familiar honk of  the
            internal speaker.


            10.6 /D (Date)

            Sometimes, it is convenient to check what is going on a spe-
            cific date. To do so with Remind, write /DDD.MM.YY,  substi-
            tuting the wanted date with DD.MM.YY. To find out what  hap-
            pens on 8 January, write:




                             Remind Version 3.00 User's Manual - Page 19
                                                                   .oOo.


                 REMIND/D08.01.94

            Remind overrides the system date and writes the contents (if
            any) for that date. It calculates the correct day of week as
            well, so all [DOW] entries should work correctly.

            NOTE: Specifying  this  switch with  /C  to compress  for  a
            specified date is NOT allowed, due to the fact that you  may
            delete more than you planned. If you by mistake write  "next
            year" instead of this year, lots  and lots of valuable  data
            go down the  drain. Change  the computer's  system date  in-
            stead.


            10.7 /I (Ignore Config File)

            The settings  in  KTCONFIG.DAT  takes  presedence  over  the
            switches. To override this, you  must tell Remind to  ignore
            the configuration file.


            10.8 /M (Mono-adjusted colors)

            This switch selects colors suitable for a monochrome system.
            I have tested the colors by switching to MDA mode on my  VGA
            card. Use this switch if you are on a mono system and do not
            use the MDA text mode. For those of you interested, MDA  op-
            erates in mode 7.  The color scheme  is default when  Remind
            detects a monochrome display mode. This switch takes  prece-
            dence over the /L and /E switches.


            10.9 /L (Low-intensity colors)

            If you don't like white and light blue background, use  this
            one. It selects the default CGA colors. On a CGA system, Re-
            mind will select this mode as the default.


            10.10 /E (Enhanced colors)

            You should never have to select this switch, but I  included
            it for completeness. It selects the default EGA/VGA  colors.
            CGA users testing out this switch will probably get a blink-
            ing window if it is used along with the /W or /A  switch. If
            you use it  along with /L, Remind ignores the latter.


            11. Configuration File - KTCONFIG.DAT

            To override most of the default  settings, you may create  a
            configuration file called KTCONFIG.DAT.  This file must  re-




                             Remind Version 3.00 User's Manual - Page 20
                                                                   .oOo.

            side in the same directory as the executable.  If you  don't
            want to override any of the default settings, you may safely
            delete the file.

            So, what is a default setting? The colors for the  different
            screens and text elements is  one example.  Another  example
            is the name of the data file, REMIND.DAT. If you don't  like
            the name, you may specify a different one.

            The format of KTCONFIG.DAT is:

                 [ProgramName]
                 Command=Value
                 Command=Value
                 .
                 .
                 .

            If you  do not  specify a  command sequence  for a  specific
            item, Remind  chooses the  ordinary default  value  instead.
            Substitute [ProgramName] with [Remind] for Remind.

            As with the ordinary  Remind data file, a  ";" in the  first
            column denotes a comment.

            Here are the valid commands - the subchapter title  reflects
            what kind of information it expects:


            11.1 String

            The following commands  require various textual  parameters.
            For   instance   to   set   the   DataPath   to   point   to
            C:\CONFIGS\REMIND, write

                 DataPath=C:\CONFIGS\REMIND\

            DataFile
            Name of data file to read and write to.
            Default: REMIND.DAT.

            DataPath
            Path to data file. This must be a "full" path name,  meaning
            it has to end with a backslash.
            Default: Path where REMIND.EXE resides.

            ScreenType
            Specifies the screen type you have. Use this to override the
            built-in screen type detection.  The valid values are:  MDA,
            CGA, EGA and  VGA. Corresponds  to the /L/M  and /E  command
            line switches. EGA and VGA are identical.
            Default: Your screen type.




                             Remind Version 3.00 User's Manual - Page 21
                                                                   .oOo.

            11.2 Boolean

            These commands are boolean  (Yes/No or True/False) and  tell
            Remind you want it to use or shut off a certain feature.  If
            you want Remind to  always beep when  there is something  to
            remind you about, you can write:

                 Beep=TRUE

            If you prefer to use Yes for True and No for False,  the ex-
            ample will look like:

                 Beep=No

            The two examples are equal.

            BlinkEditWindow
            Controls the blinking of enhanced colors in the edit window.
            FALSE yields sixteen foreground and bacground colors.
            Default: FALSE (no blink and 8/16 foreground/backround char-
            acters).

            BlinkMessageWindow
            To get sixteen colors  for the message  window, set this  to
            FALSE.
            Default: FALSE (no blink and 8/16 foreground/backround char-
            acters).

            BlinkDOS
            If you want  sixteen bacground  colors in DOS,  you may  set
            BlinkDOS to FALSE.  Usually, Remind cleans  up after  itself
            when it finishes. But it will not reset the way DOS  handles
            blinking characters if you set this to FALSE. This may  stir
            up the looks  of other programs.  If programs suddenly  look
            strange, set BlinkDOS to TRUE.
            Default: TRUE (blink  and 8/16 foreground/backround  charac-
            ters).

            Beep
            Choose to get a beep every  time Remind finds items to  dis-
            play. The same as REMIND/B
            Default: FALSE. (No beep)

            Window
            If you want to window your messages, set this to TRUE.
            Default: FALSE. (No Window)


            11.3 Color

            The color commands change - not  surprisingly - the way  Re-
            mind looks. You find the color names in the next section. As
            the colors come in  pairs - foreground  and bacground -  you




                             Remind Version 3.00 User's Manual - Page 22
                                                                   .oOo.

            find the description below in pairs.  You should be able  to
            distinguish what to  put where anyway.  The Default  section
            reads Foreground, Background. If the default reads  "Yellow,
            Red" this means "Yellow characters on Red background."

            ErrorForeground
            ErrorBackground
            Controls the appearance of error messages.
            Default: Yellow, Red.

            DOSMessageForeground
            DOSMessageBackground
            The color of the messages/reminders displayed in DOS.  Color
            scope is from the beginning to the end of the line.
            Default: White, Black.

            DOSDateForeground
            DOSDateBackground
            This is the  color of the  date header written  in DOS.  The
            color scope is from the beginning of the line to the end  of
            the date header.
            Default: Yellow, Black.

            DOSSeparatorForeground
            DOSSeparatorBackground
            The color of the three  dashes ("---") separating each  mes-
            sage. Color affects the dashes only.
            Default: Red, Black.

            WindowEditorBorderForeground
            WindowEditorBorderBackground
            Specifies the  color of  the border  surrounding the  editor
            window.
            Default: Yellow, LightBlue.

            WindowEditorForeground
            WindowEditorBackground
            The color of the editor surroundings.
            Default: Yellow, LightBlue.

            WindowEditorMessageForeground
            WindowEditorMessageBackground
            Changes the color of the edited text.
            Default Blue, White.

            WindowEditorHeaderForeground
            WindowEditorHeaderBackground
            Specifies the color of the editor header text.
            Default: White, LightBlue

            WindowMessageBorderForeground
            WindowMessageBorderBackground
            Changes the color of the message border.




                             Remind Version 3.00 User's Manual - Page 23
                                                                   .oOo.

            Default: Yellow, LightBlue.

            WindowMessageForeground
            WindowMessageBackground
            The color  of the  message screen.  This gives  you a  thin,
            solid border within the outer border line.
            Default: Yellow, LightBlue.

            WindowMessageAreaForeground
            WindowMessageAreaBackground
            Specifies the color  of the  messages you  want to  display.
            Color scope is  the entire  screen, unless  overridden by  a
            date or  separator.  You may  call  this the  actual  screen
            color.
            Default: Blue, White.

            WindowDateForeground
            WindowDateBackground
            Color of the date header. The scope is from the beginning of
            the line to the end of the date header.
            Default: Red, White.

            WindowSeparatorForeground
            WindowSeparatorBackground
            The color of  the message  separator ("---").  The scope  is
            from the beginning of the line to the end of the separator.
            Default: Black, White.

            WindowMessageHeaderForeground
            WindowMessageHeaderBackground
            This is the color of the header and footer ("Press any key")
            texts.
            Default: White, LightBlue.

            WindowReplyBorderForeground
            WindowReplyBorderBackground
            This is the "Do you want to save? Yes/No" window border.
            Default: Yellow, Green.

            WindowReplyForeground
            WindowReplyBackground
            Color of the "Do you want to save? Yes/No" window.
            Default: Yellow, Green.

            WindowDefaultForeground
            WindowDefaultBackground
            Color of the  default choice (Yes)  in the "Do  you want  to
            save? Yes/No" window.
            Default: White, Green.




                             Remind Version 3.00 User's Manual - Page 24
                                                                   .oOo.

            11.4 Color Values

            This is a listing of the  color values you may use  together
            with the color commands in the KTCONFIG.DAT file. For blink-
            ing text  foreground,  you  may  use  the  light  colors  as
            bacground colors like this:

                 BlinkMessageWindow=FALSE
                 WindowsMessageForeground=LightGray
                 WindowsMessageBackground=DarkGray

            Note that  LightGray is  a "dark"  color and  DarkGray is  a
            "light" color.  That is  because LightGray  is lighter  than
            DarkGray. Unfortunately, only one of them is directly usable
            as a background color.

            11.4.1 Dark Colors (Foreground and Background)

            These colors are safe  to use as  both foreground and  back-
            ground colors:

            Black
            Blue
            Green
            Cyan
            Red
            Magenta
            Brown
            LightGray

            11.4.2 Light Colors (Foreground)

            The following colors are meant to be foreground colors only.
            If you want to use them as bacground colors, use the  appro-
            priate boolean command (BlinkEditWindow, etc.) to turn blink
            off.

            DarkGray
            LightBlue
            LightGreen
            LightCyan
            LightRed
            LightMagenta
            Yellow
            White


            12. The Editor

            The editor  is extremely  simple. You  invoke it  by  typing
            REMIND/A at the DOS prompt. A window will pop up,  prompting
            you to write in a message. By default, line one contains to-
            day's date. Line one is marked  "Date:" on the left, and  is




                             Remind Version 3.00 User's Manual - Page 25
                                                                   .oOo.

            only seventeen characters long.   The next twelve lines  are
            sixty characters wide. This is where your message goes.  The
            date field is for entering a date. Do not use square  brack-
            ets in this  field. Remind adds  them automatically. If  you
            want to add another date of the same type, you may do  so in
            the text section. You must use square brackets here.

            Do not write the [End] terminator from the internal  editor.
            Remind adds it automatically when you save.


            12.1 Editor Keys

            The editor keys are:

                 Ctrl-End     Delete to end of the line.

                 Delete       Delete to the right of the cursor.

                 Backspace    Delete to the left of the cursor.

                 Arrow keys   As you may expect.

                 Home         Go to the beginning of the line.

                 End          Go to the end of the line.

                 Insert       Toggle: Ins on/off. Default is off.

                 Tab          Type 8 spaces.  NOTE! Insert-aware.  Over-
                              writes text if Ins is off.

                 F2           Abandon text or  save it.  To save,  press
                              enter or the letter 'Y'. Esc equals no.

                 Alt-X        Exit the editor.  If you  have typed  any-
                              thing Remind will  prompt you to  save it.
                              Pressing Esc at this prompt will terminate
                              the exit, but you will lose everything you
                              typed.




                             Remind Version 3.00 User's Manual - Page 26
                                                                   .oOo.



            13. Error Messages

            Here is a  brief explanation to  the various error  messages
            issued by Remind. Note: Messages numbered 1 thru 50  display
            a line number.  51 and up  do not. (No,  there are not  more
            than 50 messages... I just made room for alterations and ad-
            ditions to the  list of  messages.) The  line number  corre-
            sponds to the line  in the REMIND.DAT  file where the  error
            occurred.

                  1:   Expected a [date] or a [weekday] at this point.
                       The interpreter discovered  some rubbish  in its
                       input. You may have forgotten to  include a date
                       header, or when editing by a stand-alone editor,
                       forgotten to  type  in  the  brackets  around  a
                       header.

                  2:   '"Cause" was not expected after "["'
                       You have  typed  in  a  non-existing date  type.
                       Check the Date Types above.

                  3:   Found "Cause" where [year] was expected
                       Only a year  may be  entered in  brackets within
                       the message area.

                  4:   No ending "]" on same line as "["'
                       Opening "[" and closing "]" must  be on the same
                       line.

                  5:   Expected part of a date, found "Cause" instead
                       You typed some  rubbish where there  should be a
                       date. Check for non-numeric data. (Dates are n u-
                       meric.)

                  6:   Found "Cause" where a closing "]" was expected
                       There is not  a closing bracket  where it should
                       be.

                  7:   Wrong date format
                       You have not provided the "." separator where it
                       should be,  there  isn't a  '-'  where expected,
                       etc.

                  8:   Only [DD.] may follow [DD.], not "Cause"
                  9:   Only [DD.MM.] may follow [DD.MM.], not "Cause"
                 10:   Only  [DD.MM.YY]  may   follow  [DD.MM.YY],  not
                       "Cause"
                 11:   Only [DOW] may follow [DOW], not "Cause"
                 12:   Only [DD.-DD.] may follow [DD.-DD.], not "Cause"
                 13:   Only [DD.MM.-DD.MM.] may follow [DD.MM.-DD.MM.],
                       not "Cause"




                             Remind Version 3.00 User's Manual - Page 27
                                                                   .oOo.

                 14:   Only [DD.MM.YY-DD.MM.YY]  may  follow [DD.MM.YY-
                       DD.MM.YY], not "Cause"
                 15:   Only [n.DOW] may follow [n.DOW], not "Cause"
                 16:   Only [n.DOW.MM.]  may  follow  [n.DOW.MM.],  not
                       "Cause"
                       These nine messages  indicate that you  tried to
                       mix different date types. Remind  does not allow
                       mixing.

                 17:   "From" must be smaller than  "To" for [DD.MM.YY-
                       DD.MM.YY]
                       It makes  no  sense to  have  "To" smaller  than
                       "From". Besides,  it will  disrupt  the compress
                       procedure.

                 18:   [Nag=nn] expected, found "Cause" instead
                       You have not typed a number in the nn part.

                 19:   Expected [], found "Cause" instead
                       You wrote something else than []  where the ed i-
                       tor expected to find [].

                 20:   Only [DOW.DD] may follow [DOW.nn], not "Cause"
                       You cannot mix different date types.

                 41:   Illegal configuration color command: "Cause"
                       What you wrote in the KTCONFIG.DAT file is not a
                       color.

                 42:   TRUE or  FALSE expected  in  configuration file,
                       not "Cause"
                       Only TRUE and FALSE are legal  values for a bo o-
                       lean command.

                 43:   Illegal configuration screen type: "Cause"
                       You have selected a non-existing screen type.

                 44:   Unknown configuration command: "Cause"
                       This is not  a legal command.  Check your typing
                       and try again.

                 51:   File or path not found: "DataPath\DataFile"
                       Only REMIND/A (and  the help switch(es))  is a l-
                       lowed when there is no Remind data file present.
                       This file must  reside in the  same directory as
                       the executable, unless  you explicitly  tell R e-
                       mind in the configuration file where to find it.
                       There may  also be  errors in  the configuration
                       variables DataPath and DataFile.

                 52:   Unexpected end of file




                             Remind Version 3.00 User's Manual - Page 28
                                                                   .oOo.

                       You have forgotten to include  an [End] termin a-
                       tor on  the last  entry,  or the  file  has been
                       truncated or corrupted  in some way  or another.
                       Check the (bottom of) the REMIND.DAT file.

                 53:   Illegal parameter: "Cause"
                       You typed a  parameter on the  command line that
                       Remind does  not understand.  Check  your typing
                       and try again.  You may  also want to  check out
                       "Switches" above.

                 54:   Wrong  date  format   in  parameter  /DDD.MM.YY:
                       "Cause"
                       Something you typed caused Remind  to reject the
                       date. Check to see if the leading zeros are pr e-
                       sent, missing "." etc. and try again.
