The information in this file is _only_ for those users who are upgrading from version 1.9x to 1.99 of TODAYS.PRG. New users should read the FULL TODAYS.DOC file included in the version 1.99 distribution package. Thanks! Changes to TODAYS.LNG: Please be sure to replace your existing TODAYS.LNG file with the new one in the TODAYS199.LZH file. There are some changes in it, and failure to do so can result in some _very_ weird results! Changes to TODAYS.INF: There are some MANDATORY changes you must make to your TODAYS.INF file. Failure to make the changes below can result in some _very_ unexpected results! First off, the 4 equinox and Solstice lines in the TODAYS.INF file have been removed. Instead you can now use the new %FS options in the TODAYS.RPT file rather then these lines. The 'header lines' that came after the lines for the solstices and equinoxes have also been removed from the TODAYS.INF files and are now in their own seperate file called TODAYS.HDR. TODAYS.HDR has the same format as before, and should be in the same directory as TODAYS.RPT and TODAYS.LNG. Line 2 of the file is now used for the filename extenders of any additional TODAY.xxx files you want the program to read in addition to the TODAY.mmm monthly files. In the TODAYS.INF file in the distribution archive, line 2 has HOLOTD on line 2 and Line 1 has "C:\TODAY\" on it, which is the path for these files _and_ the TODAY.mmm monthly files. Using the distribution file as an example, the files C:\TODAY\TODAY.HOL and C:\TODAY\TODAY.OTD will be read durring each run in addition to the C:\TODAY\TODAY.mmm monthly file. You may have the program read as many 'additional' files as you want on this line, I've tested it here on 12 different files, and it does fine. Just remember that each additional file's extender must be three characters long. Use trailing spaces in your TODAYS.INF file if the extender is less then three characters long. (If you've got a file that's named TODAY.F and another named TODAY.HOL, have the line read "F HOL" or "HOLF ".) ******************************************************************* * NOTE: * * TODAY.HOL is no longer automatically read each time the program * * program is run _unless_ you have HOL on line 2! * ******************************************************************* The next change to the TODAYS.INF file comes on the line after the Wrap value. Line 9 now defines the codes used for carridge returns. Each character on this line must be a 3-character decimal ASCII value. The 'default' code is 013010 which is the standard CR/LF string. (13 is the ASCII code for a carridge return, converted to 3 characters, it becomes 013. 10 is the ASCII code for a line feed, converted to 3 characters it becomes 010.) You may use whatever codes you want on this line, VT-52, ANSI, TX2, IGS or whatever, just remember to use the same code structure throughout your TODAYS.INF, TODAYS.HDR and TODAYS.RPT files. This allows those users who want 'hard' returns in their report to have them, and those that want 'soft' returns to have them. Line 12 is allows you to set the maximum number of items you want, or rather will allow the program to collect, as it reads through your data files. This also effects how much memory the program will use. For most users it can be left sitting at 1000, however users who are running a lot of ACCs on a 512K machine may want to lower it. If you've looked at the TODAYS.INF file in the distribution package, you'll notice that I've made comments on the lines and seperated them from the data by semi-colons (;). You do not need to remove the comments from the lines as long as you keep the semi-colon on the line. The program will 'parse' the line and remove whatever is to the right of the semi-colon. Now you don't have to refer back to the documentation to figure out which line is for what whenever you want to make a change. TODAYS.HDR notes: Although I didn't explain it correctly in the documentation, realize that you don't _need_ the pipe character (|) after the type code in your TODAYS.HDR file. I put it in mine because I wanted a blank line between each type of data displayed. (The pipe character is replaced with the Carridge Return string as defined on line 9.) If you'd rather not have that blank line, remove the pipe character. The program will run fine without it. If you'd rather have more blank lines, add in more pipe characters. I also failed to explain in the documentation that if you'd rather use multiple header lines then pipes, you may feel free to do so. I've updated the distribution TODAYS.HDR to give an example to users. Note that the 'Friday the 13th' line is 2 lines long. I've also updated the documentation to explain these better. Changes to TODAYS.RPT: In the TODAYS.RPT file, *ALL* %F options ending with W% have been deleted! These have been replaced with 2 new options which end with either C% or O%. (Capitol letter o, not the number zero). Both these commands do basicly the same thing as the old W% (Converts number symbols to words) however you can now choose whether to have TODAYS.PRG give you Cardinal numbers or Ordinal numbers. (Cardinal numbers are the numbers used when counting (i.e. One, Two, Three, Four, etc.) Ordinal numbers are numbers as when used in showing order or succession. (i.e. First, Second, Third, Forth, etc.)) If you're currently using %F options that end in W% and you want to continue using them, load your TODAYS.RPT file into your favorite word processor and have it do a 'search and replace' looking for W% and change it to O%. (If you've got a %HW% in your report file, be sure to fix that back after the search and replace is complete!) There are also 29 other new options in the TODAYS.RPT you can use. Most of them are fairly straight-forward, however a few do need explaining... %F74E% gives the 'Stardate' as it's spoken on the TV show 'Star Trek'. Each number is seperatly 'spoken' (i.e. 8734 comes out 'Eight Seven Three Four') %F75% gives the 'Stardate' point. This is a single digit number between 0 and 9 that represents the time of day. Star Trek Fans should note that this number does *NOT* conform to the STARFLEET (the official Star Trek fan club) standard, as it uses LOCAL time rather then the Universal Coordinated Time (UCT), or Grenwich Mean Time (GMT) that STARFLEET specifies. To keep things 'standardized', %F75C% gives the Stardate point as a Cardinal Word, %F75O% gives the Stardate point as a Ordinal word, as does %F75E% Changes to type codes: You no longer need to use type ! for Monthly Events or type @ for weekly events. You may now define Monthly and Weekly events as whatever you want them to be. You also can have as many different codes for different Weekly and Monthly events as you require. These don't have to be fixed in your data files, Report, and Header files. ! and @ will still work fine for Monthly and Weekly events. (I'm still using them for that on my system.) With this change, there are only 3 'hard coded' type codes left in the program: ^ (for Friday the 13th), # (for calculated events) and $ (for anniversaries.) You still can not use a type code '%' due to the way the report generation routine works. Changes to the Data files: You may now have Yearly events in your data files by simply leaving the month and day of month fields (columns 2-5) blank and having only a year value in columns 6-9. Lines created this way will show up in your output when the year in columns 6-9 matches the system clock's year, and the line will show up on every day of the year. (Usefull to tell users what this is the 'year of'.) You may also use any column 10 option with this, to make lines that only show up on Fridays or whatever, and put it under any type code you want. There is a new way to use the 'month' and 'day of month' fields in the data files (columns 2-6). A request was made to 'key' off of the day of the year (also known as the 'Julian Period'). When you put a pound sign (#) in column 2, TODAYS.PRG will assume that what you have in columns 3-5 is the _day of the year_ rather then the normal Gregorian month and day (mmdd). If you've got an event that happens on the 163rd day of the year for example, put a pound sign in column 2 and 163 in columns 3-5 to make it #163. The program will figure out internally when this day is (in this case, June 10th on leap years and June 11th on non-leap years) and use it in the same way as if you had the Gregorian date (mmdd) on the line. When using the julian period (day of the year) rather then the Gregorian date, please remember that on leap years the day will happen one day later then on non-leap years. (Assuming the day comes after Februrary 28th of course.) You can use whatever catagory you want for this as well as any column 10 option. Program fixes and enhancements: There was a intermittent problem in the program with using zeros in the data files instead of spaces. This has been corrected. Hopefully it did not cause too many problems. Sorry for the inconvenience. A problem was noticed by a user when they tried to use a space as a type code. When they used it, the 'header line' for NO DATA came out! Opps! Sorry, that was an error on my part. I've fixed that, so you may now use a space as a valid type code. Event type codes are no longer case sensitive. TODAYS.PRG now sees 'z' as a different type of event then 'Z'. Be sure to make the necessary changes to your TODAYS.INF, TODAYS.RPT and data files if you choose to use lowercase type codes. This opens up 26 more type codes for you to use. Calculated dates now 'count' down and up correctly. Word Wrap, when using the SHOW options, now workscorrectly. The 'bug' with continuation lines (a 'C' in column 10) and the SHOW options has also been fixed. When you have no data for the day you're running for, the No Data line now (properly) comes before the first '%H' in your report file. Another programming bug found and killed! Documentation 'fixes' / improvements I've done some more work on the TODAYS.DOC file to make it a bit easier to understand all the various things you can do with the program. It's also been PRINTED to disk so that those of you who want to print it from the desktop can now do that without having page breaks in all sorts of 'weird' places, and use pre-punched paper for insertion into 3-ring binders. Well, I think that's it. As always, if you discover any bugs or if you have a enhancement request, feel free to send it to me at the E-Mail addresses listed in the documentation. (I added in my UseNet address to it, by the way.)