HPTODO31.DOC NOTICE: Program HPTODO.LIB and documentation HPTODO31.DOC are copyright (C) 1995-96 Ludvik Krulik, all rights reserved. This version of HPTODO is NOT public domain or free software, but is being distributed as SHAREWARE. You are granted a limited license to use this shareware for a two week evaluation period. If after the two week evaluation period you determine that HPTODO meets your needs, you are required to register HPTODO. If you distribute this software to others, you are required to distribute the entire unmodified package (ZIP file). Commercial use of this material is not allowed without prior permission from the author. WARRANTY: Following library works ONLY on G/GX series HP48 calculators. It contains unsupported code. Even though it has been extensively tested on various ROM revisions, USE AT YOUR OWN RISK. THIS SOFTWARE IS PROVIDED WITHOUT ANY WARRANTY. AUTHOR SHALL NOT BE LIABLE FOR ANY DAMAGES RESULTING FROM THE USE OF THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO, LOSS OF PROFIT, DATA OR USE OF THE SOFTWARE, OR INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OR OTHER SIMILAR CLAIMS. NOTE TO HACKERS: This program is shareware. If you can take it apart and remove shareware pause, keep this to yourself. If you have any questions, suggestions or bug reports, e-mail me at Ludvik.Krulik@snet.fer.uni-lj.si 1. Overview HPTODO v3.1 = HP48 TO-DO manager. * Uses built-in browser and input forms for data entry. * To-dos with or without date component. * Chronologically sorted. * Multiple to-do files. * Scans for active (=today's or past due) to-dos. * Fast entering of stickies. * Link to HPCALENDAR library (1500) v3.0 or higher. * In connection with HPSTACK library (1502) v3.0 or higher scan for active to-dos once per given interval. HPTODO library consists of five commands: - TODO, to-do manager itself, - STICKIE, fast to-do entering from stack, - TODOCHK, checks for any active (=today's or past due) to-dos, - TODOAUTO, checks for active to-dos ONCE every given period, - ABOUT. Additional, separate programs, named UPGRADE and UPGRADE2 are used to convert to-do files: * from v1.0 and v1.1 into v2.1 and * from v2.0 into v2.1, respectively. Other upgrades are compatible. 2. Revision history - Version 1.1: - Fixed bug: after calling DBASE 3.0 or 3.1 program (by Matthew Todd Eckrich), CAL wouldn't refresh screen. - Removed QCD and SIZER from library. They can be found in LKUTILS package. - Version 2.0: - Added date component to every to-do entry. - Added INFORM instead of INPUT for data entry. - Added backup of TODOs directory via XModem. - Added UPGRADE program. - Changed CAL display for more HP look with two new menu keys. - Fixed bug: When putting record on stack from DBASE program, CAL would eat it. - Version 2.1: - Removed CAL, ALARM and WAKEUP from library and renamed it from CALTD into TODO. CAL can be found in a separate library called TODO. - Better handling if control alarm goes off when TODO is active. - On exit, position of selection as well as to-do file name are saved. - Added order menu key. - Version 2.2: - Fixed bug from v2.1: TODO wouldn't start if there were no TODO files. - Added ability to call TODO library directly from ADD/EDIT input forms. - Version 2.3: - After running TODO from ADD or EDIT input forms, TODO automatically sets 'ATTACH DATE' field. - Version 3.0: - Renamed library into HPTODO. - Added ability to move backward between files in TODOs subdirectory. - Added immediate alpha, lower case and command line lock on ADD. - Added fast entering of stickies. - Added chronological sort of entries. - Added [MOVE] menu key. - Added link to HPCALENDAR library (1500). - Version 3.1: - Added scanning for active to-dos. - Added TODOCHK command. - Added fast selection of files with keys 1 .. 9. - Moving forward/backward between files is done with keys + and -. - Deleting to-dos is done with DEL key. - Added 'scan for active to-dos' menu key. - Handles keystrokes faster. - Added TODOAUTO command. 3. Using HPTODO library 3.1 TODO command 3.1.1 Display Typical TODO screen looks similar to: +--------------------------------------+ | ************* TODO FILE ************ | | sun 03.02.96 ? TEXT1.............. | <- Past due to-do (?) | mon 04.02.96 > TEXT2.............. | <- Today's to-do (>) | tue 05.02.96 TEXT3.............. | <- Future to-do ( ) | TEXT4............................. | <| to-dos without a | TEXT5............................. | <| date | [ADD ][EDIT][MOVE][VIEW][?> X][>>? ] | +--------------------------------------+ You can also have multiple lists of to-dos. For example: one for what you have to buy, one for books from library, one for home, one for school/work etc. HINT: If you have just installed HPTODO library and ran TODO, press NXT and than [NEW] to create to-do file. 3.1.1 Menu keys _ * [EDIT ] lets you edit selected entry. Input form is the same as for [ ADD ]. _ * [ ADD ] prompts you for new to-do message and if you want to attach date. If you decide to attach date, - enter date and - number of days/weeks to add to original date, or - press [CALE] menu key if you have HPCALENDAR library (1500) installed. Example: you have to return a book within three weeks: Leave current date and add 3 weeks. ! Note: Using spaces instead of other delimiters (.,-...) enables VIEW message box to nicely word wrap the text. ! Note: If you enter illegal date, it will be discarded with only the message remaining. * [MOVE ] moves to-dos between files. You are prompted for the destination file name. * [VIEW ] displays selected message in a message box. * [?> v'] if there ARE ANY ACTIVE (=today's or past due) to-dos or [?> X] if there ARE NO ACTIVE to-dos. [?> v'] searches for and selects next file that contains active to-do. * [ >>? ] lets you move between available to-do files. ! Note: After >>? lock Alpha and press FIRST UPPERCASE LETTER OF FILE NAME to select it. If you didn't get what you wanted, press that letter again. You can also use keys 1..9 for quick selection of to-do files. _ * [ NEW ] prompts you for the name and creates empty to-do file. ! NOTE: YOU HAVE TO ENTER FILE NAME AS A STRING. YOU CAN USE INVALID NAMES (ex: "Mat. Library") _ * [CALE ] only if you have HPCALENDAR library (1500) installed. Runs CALENDAR with marked selected to-do's date. * [PURG ] purges current to-do file. ! NOTE: PURGE DELETES WHOLE FILE, NOT JUST SELECTED TO-DO ENTRY. USE DEL KEY TO DELETE SINGLE TO-DO ENTRY. * [ORDER] puts current file in first place in TODOs directory. This option is useful if you use invalid file names that cannot be sorted from stack shell. * [ A.. ] (actually up arrow) backs up TODOs directory via XModem protocol. * [EXIT ] exits TODO. ! NOTE: YOU CAN PRESS KEYS, ENTER MESSAGE ETC. BEFORE DISPLAY IS COMPLETELY REDRAWN. 3.1.2 Key bindings - DEL - Deletes selected to-do entry. NOTE: In a hurry one can easily press wrong menu key. That's why DEL key is used to delete selected to-do entry instead [DEL] menu key. - 1 .. 9 - selects n'th (n being 1 .. 9) file in TODOs sub directory. - + advances to the next file in in TODOs sub directory. - - advances to the previous file in in TODOs sub directory. - CANCEL/ENTER - Exit TODO. - Up/Down Arrow - Move Up/Down. - RightShift + Up/Down Arrow - Go to Beginning/End of file. - Left/Right Arrow - Page Up/Down. - BackSpace - Turns HP48 off. 3.1.3 Notes - to-do files are kept in TODOs sub directory in hidden directory. TODOs sub directory also contains hidden file called 'TODOpar'. You can access hidden directory by entering: #640BEh SYSEVAL (if you have HPSTACK library (1502) installed, run ->HDIR). WARNING: DO NOT ATTEMPT TO MODIFY OR CREATE TO-DO FILES OUTSIDE HPTODO LIBRARY. 3.2 STICKIE command Stickie (Post-It Note) is a small, yellow, self sticky piece of paper that you use to write down notes fast. STICKIE command enables you to add to-do as fast as possible. All to-dos that you enter through STICKIE are added to 'Stickies' to-do file. To view, move or delete them, you have to run TODO. 'Stickies' file is already selected. You can also assign STICKIE to a key for additional speed increase. If you are using HPSTACK library (1502) you can take advantage of it's entry mode sensitive user keys. 3.3 TODOCHK command Run this command outside HPTODO library to find out if there are any active (=today's or past due) to-dos. TODOCHK returns: - 1: 0 if there are no active to-dos, - 2: "fileName" 1: 1 if there is at least one active to-do in "fileName" file. 3.4 TODOAUTO command 3.4.1 Overview Effectively, TODOAUTO checks for active to-dos ONCE every given period. To maximize it's potential, it should be run by program that executes on HP48 turn on (like AUTOEXEC.BAT under MSDOS). 3.4.2 Syntax Put on stack a real number representing scanning period in format: hh.mmss. Example: You want TODOAUTO to check for active to-dos every time it is run, but not more than once every two hours and twenty minutes. Solution: << 2.20 TODOAUTO >> 3.4.3 Using TODOAUTO with HPSTACK library (1502) Store UserRPL program << scanningPeriod TODOAUTO >> into 'AUTOEXEC' variable in your HOME directory (for your convenience, you can hide 'AUTOEXEC' variable using HPSTACK's HIDE command). Subsequently, as you turn HP48 off and on in HPSTACK shell, there are active to-dos and scanning period has expired, a message box will pop up, displaying a file name containing active to-do. Message box menu keys: - [TODO] runs TODO command. Active to-do is alredy selected. Press [?> v'] key to find next active to-do if there are more than one. - [SKIP] instructs TODOAUTO to pop up the same message box next time HP48 is turned on (if you don't have time to deal with to-do now, deal with it later). - [ OK ] proceeds, clearing message box. 3.4.4 Notes * TODOAUTO uses 'TDAUTOpar' variable in hidden directory. You can purge it but don't modify it. 4. Credits Thanks to the following people for suggestions and beta testing: Francois Vignon (100333.700@compuserve.com) Andrej Sila (asil@ltk6.fer.uni-lj.si) Erik Wever (ew@p20.wharfrat.fido.de) Makoto Miyamoto (Makoto.Miyamoto@rz.ruhr-uni-bochum.de) 5. Information about library - Version: 3.1 - Library ID: 1501 - Size: 5809.0 bytes - Checksum: #4AD8h 6. Registering information If you decide to register this program, you will * receive the latest version without "SHAREWARE PAUSE" message via Internet e-mail, UUENCODED. * receive future upgrades free of charge via Internet e-mail, UUENCODED. You can register more than one program. If you decide to register three or more, registration fee is for three programs only. Payment method: In cash, US$ only. Registration form: ===================================================================== TO: Date: _____________________ Ludvik Krulik Sela 49a, 8257 DOBOVA SLOVENIA Ludvik.Krulik@snet.fer.uni-lj.si FROM: Name: _______________________________________________________ Address: _______________________________________________________ Country: _______________________________________________________ Internet E-mail address (obligatory) : ________________________________________________________________ ORDER: HPTODO v3.1 ........................................ (5 US$) [ ] HPAPPA v3.0 ........................................ (5 US$) [ ] HPCALENDAR v3.0 .................................... (5 US$) [ ] HPLOCK v3.0 ........................................ (5 US$) [ ] HPPORT v3.0 ........................................ (5 US$) [ ] ================================================================ TOTAL (three if more than three checked)..............__ x 5 US$ =====================================================================