From: phk@data.fls.dk (Poul-Henning Kamp) Newsgroups: comp.sources.hp48 Subject: NoteBook program v0.02j Date: 29 Aug 91 01:59:13 GMT This is the second (and a half) version distributed of this little gadget. *** iNB -- information NoteBook 0.02j *** It is a small, more or less reliable "rolodex" for your HP48. It allows you to maintain small register like a telephone list in a convenient way on your HP48. I call these registers "notebooks" In many ways this is similar to DB48, except for the speed. iNB is fast. Indeed DB48 has been a major source of inspiration for me. This is not the final version (when did you last see a final version ?) but it seems worthvile to post it at this time anyway. The library has lib# 1031, and will not auto-attach on cold-start; you have to attach it manually using 1031 ATTACH in the directory of your choice. The reason for not auto-attaching is that the only sensible thing to do is to include iNBmenu in your CST or similar menu, and thus the library need only be attached when you edit your menu, or when you edit iNBPAR and use iNBmmdd or iNByymmdd. The library defines only three named objects: iNBmenu The main thing. Puts up the menu contaning the available notebooks. iNBmmdd returns todays date as a string "mmdd" ("0823") iNByymmdd returns todays date as a string "yymmdd" ("910823") When you execute iNBmenu, it will read a variable named iNBPAR in HOME, (and only in HOME !), and use the information therein to present a menu. In the menu you can enter a particular notebook by pressing the relevant key [blue]+key enters in find-mode and [orange]+key in add-mode., This is my iNBPAR: ------------------------------------------------------------------------------- %%HP: T(1)A(D)F(.); { { "PHONE" @ Menu-label @ could be a 21x8 grob... { "Telephone directory" @ title { HOME BASE PHONE.NB } @ Location { "f1" "f2" "f3" "f4" "f5" "f6" "f7" } @ Fieldnames } } { "CAL" { "Calendar" { HOME BASE CALENDAR.DB } { "f1" "f2" } iNByymmdd @ Default Search string } } { "DAYS" { "Aniversaries" { HOME BASE DAYS.NB } { "f1" } iNBmmdd } } } ------------------------------------------------------------------------------- The location can be: Global-name: name of notebook in hidden directory. ex: PHONE.NB list: path of notebook. ex: { HOME BASE PHONE.NB } port: port-name of notebook. ex: :0:PHONE.NB If unable to RCL the variable, an empty list is substituted, if unable to STO back it bails out. (I plan to employ a panic-save variable) The notebook itself is a [list of list of string]. The first field is the "key" used for "find", and the notebook is sorted by this field. Key Bindings: ------------- Review status of this notebook On exit [left] prev record [right] next record [up] scroll up [down] scroll up a-ON copyleft notice Misc Notes: ----------- It is important that all records have the same number of fields, and that this count matches the fieldnames of the iNBPAR. Known bugs: ----------- will happily scroll below the text of a record. very few checks for consistency, be carefull with imported data. does not entirely conform to the official published list of internals. Features planned: ----------------- * Rewrite to use RPLCOMP + SASM &c &c * Change to use POL. * Custom display-procedure * Custom validation of data * Custom menus and keybindings. * Custom messages in any language you like. Source: ------- Available from the author using mail. Presently for saturn assembler. Author: ------- Send comments, suggestions &c &c to: phk@data.fls.dk Poul-Henning Kamp FLS Data Enjoy, Poul-Henning -- phk@data.fls.dk || A host is a host from coast to coast, Poul-Henning Kamp || & no one will talk to a host that's close, FLS DATA A/S || Unless the host (that isn't close) Phone: (+45) 36 18 12 35 || is busy, hung or dead. Fax: (+45) 36 18 12 18 || Anon (?)