Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornComputing_199407.adf » 9407 » 10_10Frnch/TechForum/help_gen/notes
10_10Frnch/TechForum/help_gen/notes
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornComputing_199407.adf » 9407 |
Filename: | 10_10Frnch/TechForum/help_gen/notes |
Read OK: | ✔ |
File size: | 1732 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
Re Acorn's C RISC_OSLib & support of interactive help on menu entries, using the help functions, via the msgs functions & an application message file. The following concerns the accompanying C source code, which gives improved support for context sensitive help - see the notes within the code & below for details. Context sensitivity includes making text conditional on the shaded &/or ticked status of each menu entry. This information usually isn't readily available within the help functions. Fortunately, however, you can call Wimp_GetIconInfo for the menu window/icon handle pair supplied by the wimp in the help request, & read the flags from this! Faded status can be read directly. Additionally, if you are willing to make a small assumption about how menu's are dealt with by the wimp, you can also read the menu icon data to see if the current entry is ticked - though I can't guarantee this is valid in RISC OS 3.5 or will remain valid in later OS. Assuming icons in menus come in triples, with the low numbered one corresponding to the tick, & with its flags set to no text or sprite when there is no tick, for a request of help on icon i in a menu, read flags=flags of icon (i/3)*3 and we will then have (flags&3) non-zero if and only if the selected item is ticked - this is certainly true under RISC OS 3.10, regardless of the direction menus are linked. Copyright: Michael Rozdoba, 27/4/94. **************************************************************************** Menu maker functions should call help_register_handler & it is anticipated that they will be using help_simplehandler. This code modifies the function help_genmessage, as used by help_simplehandler. To understand how, consider the following example menu: title 1 ~~~~~~~ item 1 item 2 item 3 => title 2 item 4 ~~~~~~~ item a item b - ticked item c - faded & ticked ...... - dotted line item separatorr item d - faded item e This is meant to show a menu with 4 entries, & a submenu attached to the 3rd one, itself containing 5 entries. Suppost help_register_handler was given the prefix "HLP" Old help_genmessage would return messages from tags HLP0 for item 1 HLP1 2 HLP2 3 HLP3 4 HLP20 a HLP21 b HLP22 c HLP23 d HLP24 e etc. NEW BEHAVIOUR ~~~~~~~~~~~~~ For item b above, new code will try HLP2T1 - read as HLP2, (T)icked 1 HLP2TM - read as HLP2, (T)icked (M)ulti-purpose HLP21 - read as HLP21 HLP2M - read as HLP2, (M)ulti-purpose Where the top one will be sought first, & if not found, the next will be tried, & so on. If all fail to yield a message tag which exists, no help will be given. This allows help text specific to the ticked case for item b, & if not present, will then look for some general help text for that submenu, describing all ticked entries. If still not found, it defaults to the old case, & if that doesn't exist, a general multi-purpose tag for the submenu is tried. ***************** For item c, new code will try HLP2G2 - read as HLP2, (G)reyed-out 2 HLP2GM - etc HLP2T2 HLP2TM HLP22 HLP2M As this entry is greyed out (faded), code first looks for tag describing this, as it is more significant than ticked status. If not present, try general greyed-out help, & if still not found, behave as for an unfaded entry. ***************** Notice that when over the dotted line separator, old code tries tag HLP2 which is inappropriate. New code will try HLP2N - read as HLP2, (N)o item selected HLP2M ***************** If menu maker function registered a string pointer with help_register_insert, this text may be included within a message by including the character pair '%s' within the message text. A message text may include only one such reference. ***************** All messages may contain the menu item text itself, by including the character pair '%t' within the message text. The menu item text, automatically surrounded by quotes, may be included with the pair '%q'. Only one such pair may appear in a message text. ***************** EXAMPLES OF USE ~~~~~~~~~~~~~~~ Consider a menu containing a variable length run-time dependent list of objects, with a single one ticked, marking some form of user selected choice. Suppose this contains the items: john, paul, george & ringo. For prefix HLP, as above, we can obtain help of the form "Choose 'john' by clicking Select or Adjust" etc or "'paul' is the currently selected object", as appropriate, with just two messages: HLPTM:%q is the currently selected object HLPM:Choose %q by clicking Select or Adjust ***************** For a more complex case, consider a menu copying the root menu of the RISC OS 3 Filer. Here, we can supply old style tags specific to each item, but make the file specific one include the text '<file name>' or 'the selected objects' by using the %s characters & making the corresponding menu maker function register a suitable string with help_register_insert. This example also illustrates that while each item needs its own help text, to cover the faded cases we can use a single message. Thus: HLPGM:This option is greyed out because there are no selected objects. Will cover all such cases. ***************** Still with the above example, notice how with the real filer, moving over a submenu & positioning the pointer between the title & top item (so that no item is selected), causes RISC OS 3 to give inappropriate help, as though we were still in the parent menu. This new code allows your own programs to avoid such errors - with a suitable 'N' type tag, you can provide a message describing the general purpose of the submenu concerned. However, even if you omit this, at worst you get no help, which is rather better than misleading directions.
00000000 0a 52 65 20 41 63 6f 72 6e 27 73 20 43 20 52 49 |.Re Acorn's C RI| 00000010 53 43 5f 4f 53 4c 69 62 20 26 20 73 75 70 70 6f |SC_OSLib & suppo| 00000020 72 74 20 6f 66 20 69 6e 74 65 72 61 63 74 69 76 |rt of interactiv| 00000030 65 20 68 65 6c 70 20 6f 6e 20 6d 65 6e 75 20 65 |e help on menu e| 00000040 6e 74 72 69 65 73 2c 20 75 73 69 6e 67 0a 74 68 |ntries, using.th| 00000050 65 20 68 65 6c 70 20 66 75 6e 63 74 69 6f 6e 73 |e help functions| 00000060 2c 20 76 69 61 20 74 68 65 20 6d 73 67 73 20 66 |, via the msgs f| 00000070 75 6e 63 74 69 6f 6e 73 20 26 20 61 6e 20 61 70 |unctions & an ap| 00000080 70 6c 69 63 61 74 69 6f 6e 20 6d 65 73 73 61 67 |plication messag| 00000090 65 20 66 69 6c 65 2e 0a 0a 54 68 65 20 66 6f 6c |e file...The fol| 000000a0 6c 6f 77 69 6e 67 20 63 6f 6e 63 65 72 6e 73 20 |lowing concerns | 000000b0 74 68 65 20 61 63 63 6f 6d 70 61 6e 79 69 6e 67 |the accompanying| 000000c0 20 43 20 73 6f 75 72 63 65 20 63 6f 64 65 2c 20 | C source code, | 000000d0 77 68 69 63 68 20 67 69 76 65 73 20 69 6d 70 72 |which gives impr| 000000e0 6f 76 65 64 0a 73 75 70 70 6f 72 74 20 66 6f 72 |oved.support for| 000000f0 20 63 6f 6e 74 65 78 74 20 73 65 6e 73 69 74 69 | context sensiti| 00000100 76 65 20 68 65 6c 70 20 2d 20 73 65 65 20 74 68 |ve help - see th| 00000110 65 20 6e 6f 74 65 73 20 77 69 74 68 69 6e 20 74 |e notes within t| 00000120 68 65 20 63 6f 64 65 20 26 20 62 65 6c 6f 77 0a |he code & below.| 00000130 66 6f 72 20 64 65 74 61 69 6c 73 2e 0a 0a 43 6f |for details...Co| 00000140 6e 74 65 78 74 20 73 65 6e 73 69 74 69 76 69 74 |ntext sensitivit| 00000150 79 20 69 6e 63 6c 75 64 65 73 20 6d 61 6b 69 6e |y includes makin| 00000160 67 20 74 65 78 74 20 63 6f 6e 64 69 74 69 6f 6e |g text condition| 00000170 61 6c 20 6f 6e 20 74 68 65 20 73 68 61 64 65 64 |al on the shaded| 00000180 20 26 2f 6f 72 0a 74 69 63 6b 65 64 20 73 74 61 | &/or.ticked sta| 00000190 74 75 73 20 6f 66 20 65 61 63 68 20 6d 65 6e 75 |tus of each menu| 000001a0 20 65 6e 74 72 79 2e 0a 0a 54 68 69 73 20 69 6e | entry...This in| 000001b0 66 6f 72 6d 61 74 69 6f 6e 20 75 73 75 61 6c 6c |formation usuall| 000001c0 79 20 69 73 6e 27 74 20 72 65 61 64 69 6c 79 20 |y isn't readily | 000001d0 61 76 61 69 6c 61 62 6c 65 20 77 69 74 68 69 6e |available within| 000001e0 20 74 68 65 20 68 65 6c 70 20 66 75 6e 63 74 69 | the help functi| 000001f0 6f 6e 73 2e 0a 46 6f 72 74 75 6e 61 74 65 6c 79 |ons..Fortunately| 00000200 2c 20 68 6f 77 65 76 65 72 2c 20 79 6f 75 20 63 |, however, you c| 00000210 61 6e 20 63 61 6c 6c 20 57 69 6d 70 5f 47 65 74 |an call Wimp_Get| 00000220 49 63 6f 6e 49 6e 66 6f 20 66 6f 72 20 74 68 65 |IconInfo for the| 00000230 20 6d 65 6e 75 20 77 69 6e 64 6f 77 2f 69 63 6f | menu window/ico| 00000240 6e 0a 68 61 6e 64 6c 65 20 70 61 69 72 20 73 75 |n.handle pair su| 00000250 70 70 6c 69 65 64 20 62 79 20 74 68 65 20 77 69 |pplied by the wi| 00000260 6d 70 20 69 6e 20 74 68 65 20 68 65 6c 70 20 72 |mp in the help r| 00000270 65 71 75 65 73 74 2c 20 26 20 72 65 61 64 20 74 |equest, & read t| 00000280 68 65 20 66 6c 61 67 73 20 66 72 6f 6d 0a 74 68 |he flags from.th| 00000290 69 73 21 0a 0a 46 61 64 65 64 20 73 74 61 74 75 |is!..Faded statu| 000002a0 73 20 63 61 6e 20 62 65 20 72 65 61 64 20 64 69 |s can be read di| 000002b0 72 65 63 74 6c 79 2e 0a 0a 41 64 64 69 74 69 6f |rectly...Additio| 000002c0 6e 61 6c 6c 79 2c 20 69 66 20 79 6f 75 20 61 72 |nally, if you ar| 000002d0 65 20 77 69 6c 6c 69 6e 67 20 74 6f 20 6d 61 6b |e willing to mak| 000002e0 65 20 61 20 73 6d 61 6c 6c 20 61 73 73 75 6d 70 |e a small assump| 000002f0 74 69 6f 6e 20 61 62 6f 75 74 20 68 6f 77 20 6d |tion about how m| 00000300 65 6e 75 27 73 0a 61 72 65 20 64 65 61 6c 74 20 |enu's.are dealt | 00000310 77 69 74 68 20 62 79 20 74 68 65 20 77 69 6d 70 |with by the wimp| 00000320 2c 20 79 6f 75 20 63 61 6e 20 61 6c 73 6f 20 72 |, you can also r| 00000330 65 61 64 20 74 68 65 20 6d 65 6e 75 20 69 63 6f |ead the menu ico| 00000340 6e 20 64 61 74 61 20 74 6f 20 73 65 65 20 69 66 |n data to see if| 00000350 0a 74 68 65 20 63 75 72 72 65 6e 74 20 65 6e 74 |.the current ent| 00000360 72 79 20 69 73 20 74 69 63 6b 65 64 20 2d 20 74 |ry is ticked - t| 00000370 68 6f 75 67 68 20 49 20 63 61 6e 27 74 20 67 75 |hough I can't gu| 00000380 61 72 61 6e 74 65 65 20 74 68 69 73 20 69 73 20 |arantee this is | 00000390 76 61 6c 69 64 20 69 6e 20 52 49 53 43 0a 4f 53 |valid in RISC.OS| 000003a0 20 33 2e 35 20 6f 72 20 77 69 6c 6c 20 72 65 6d | 3.5 or will rem| 000003b0 61 69 6e 20 76 61 6c 69 64 20 69 6e 20 6c 61 74 |ain valid in lat| 000003c0 65 72 20 4f 53 2e 0a 0a 41 73 73 75 6d 69 6e 67 |er OS...Assuming| 000003d0 20 69 63 6f 6e 73 20 69 6e 20 6d 65 6e 75 73 20 | icons in menus | 000003e0 63 6f 6d 65 20 69 6e 20 74 72 69 70 6c 65 73 2c |come in triples,| 000003f0 20 77 69 74 68 20 74 68 65 20 6c 6f 77 20 6e 75 | with the low nu| 00000400 6d 62 65 72 65 64 20 6f 6e 65 0a 63 6f 72 72 65 |mbered one.corre| 00000410 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 |sponding to the | 00000420 74 69 63 6b 2c 20 26 20 77 69 74 68 20 69 74 73 |tick, & with its| 00000430 20 66 6c 61 67 73 20 73 65 74 20 74 6f 20 6e 6f | flags set to no| 00000440 20 74 65 78 74 20 6f 72 20 73 70 72 69 74 65 20 | text or sprite | 00000450 77 68 65 6e 0a 74 68 65 72 65 20 69 73 20 6e 6f |when.there is no| 00000460 20 74 69 63 6b 2c 20 66 6f 72 20 61 20 72 65 71 | tick, for a req| 00000470 75 65 73 74 20 6f 66 20 68 65 6c 70 20 6f 6e 20 |uest of help on | 00000480 69 63 6f 6e 20 69 20 69 6e 20 61 20 6d 65 6e 75 |icon i in a menu| 00000490 2c 20 72 65 61 64 20 66 6c 61 67 73 3d 66 6c 61 |, read flags=fla| 000004a0 67 73 0a 6f 66 20 69 63 6f 6e 20 28 69 2f 33 29 |gs.of icon (i/3)| 000004b0 2a 33 20 61 6e 64 20 77 65 20 77 69 6c 6c 20 74 |*3 and we will t| 000004c0 68 65 6e 20 68 61 76 65 20 28 66 6c 61 67 73 26 |hen have (flags&| 000004d0 33 29 20 6e 6f 6e 2d 7a 65 72 6f 20 69 66 20 61 |3) non-zero if a| 000004e0 6e 64 20 6f 6e 6c 79 20 69 66 20 74 68 65 0a 73 |nd only if the.s| 000004f0 65 6c 65 63 74 65 64 20 69 74 65 6d 20 69 73 20 |elected item is | 00000500 74 69 63 6b 65 64 20 2d 20 74 68 69 73 20 69 73 |ticked - this is| 00000510 20 63 65 72 74 61 69 6e 6c 79 20 74 72 75 65 20 | certainly true | 00000520 75 6e 64 65 72 20 52 49 53 43 20 4f 53 20 33 2e |under RISC OS 3.| 00000530 31 30 2c 0a 72 65 67 61 72 64 6c 65 73 73 20 6f |10,.regardless o| 00000540 66 20 74 68 65 20 64 69 72 65 63 74 69 6f 6e 20 |f the direction | 00000550 6d 65 6e 75 73 20 61 72 65 20 6c 69 6e 6b 65 64 |menus are linked| 00000560 2e 0a 0a 43 6f 70 79 72 69 67 68 74 3a 20 4d 69 |...Copyright: Mi| 00000570 63 68 61 65 6c 20 52 6f 7a 64 6f 62 61 2c 20 32 |chael Rozdoba, 2| 00000580 37 2f 34 2f 39 34 2e 0a 0a 2a 2a 2a 2a 2a 2a 2a |7/4/94...*******| 00000590 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |****************| * 000005d0 2a 2a 2a 2a 2a 0a 0a 4d 65 6e 75 20 6d 61 6b 65 |*****..Menu make| 000005e0 72 20 66 75 6e 63 74 69 6f 6e 73 20 73 68 6f 75 |r functions shou| 000005f0 6c 64 20 63 61 6c 6c 20 68 65 6c 70 5f 72 65 67 |ld call help_reg| 00000600 69 73 74 65 72 5f 68 61 6e 64 6c 65 72 20 26 20 |ister_handler & | 00000610 69 74 20 69 73 20 61 6e 74 69 63 69 70 61 74 65 |it is anticipate| 00000620 64 0a 74 68 61 74 20 74 68 65 79 20 77 69 6c 6c |d.that they will| 00000630 20 62 65 20 75 73 69 6e 67 20 68 65 6c 70 5f 73 | be using help_s| 00000640 69 6d 70 6c 65 68 61 6e 64 6c 65 72 2e 0a 0a 54 |implehandler...T| 00000650 68 69 73 20 63 6f 64 65 20 6d 6f 64 69 66 69 65 |his code modifie| 00000660 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 68 |s the function h| 00000670 65 6c 70 5f 67 65 6e 6d 65 73 73 61 67 65 2c 20 |elp_genmessage, | 00000680 61 73 20 75 73 65 64 20 62 79 0a 68 65 6c 70 5f |as used by.help_| 00000690 73 69 6d 70 6c 65 68 61 6e 64 6c 65 72 2e 0a 0a |simplehandler...| 000006a0 54 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 68 6f |To understand ho| 000006b0 77 2c 20 63 6f 6e 73 69 64 65 72 20 74 68 65 20 |w, consider the | 000006c0 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 61 6d 70 6c |following exampl| 000006d0 65 20 6d 65 6e 75 3a 0a 0a 20 74 69 74 6c 65 20 |e menu:.. title | 000006e0 31 0a 20 7e 7e 7e 7e 7e 7e 7e 0a 20 20 69 74 65 |1. ~~~~~~~. ite| 000006f0 6d 20 31 0a 20 20 69 74 65 6d 20 32 0a 20 20 69 |m 1. item 2. i| 00000700 74 65 6d 20 33 20 3d 3e 20 74 69 74 6c 65 20 32 |tem 3 => title 2| 00000710 0a 20 20 69 74 65 6d 20 34 20 20 20 20 7e 7e 7e |. item 4 ~~~| 00000720 7e 7e 7e 7e 0a 20 20 20 20 20 20 20 20 20 20 20 |~~~~. | 00000730 20 20 69 74 65 6d 20 61 0a 20 20 20 20 20 20 20 | item a. | 00000740 20 20 20 20 20 20 69 74 65 6d 20 62 20 2d 20 74 | item b - t| 00000750 69 63 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 |icked. | 00000760 20 20 20 69 74 65 6d 20 63 20 2d 20 66 61 64 65 | item c - fade| 00000770 64 20 26 20 74 69 63 6b 65 64 0a 20 20 20 20 20 |d & ticked. | 00000780 20 20 20 20 20 20 20 20 2e 2e 2e 2e 2e 2e 20 2d | ...... -| 00000790 20 64 6f 74 74 65 64 20 6c 69 6e 65 20 69 74 65 | dotted line ite| 000007a0 6d 20 73 65 70 61 72 61 74 6f 72 72 0a 20 20 20 |m separatorr. | 000007b0 20 20 20 20 20 20 20 20 20 20 69 74 65 6d 20 64 | item d| 000007c0 20 2d 20 66 61 64 65 64 0a 20 20 20 20 20 20 20 | - faded. | 000007d0 20 20 20 20 20 20 69 74 65 6d 20 65 0a 0a 54 68 | item e..Th| 000007e0 69 73 20 69 73 20 6d 65 61 6e 74 20 74 6f 20 73 |is is meant to s| 000007f0 68 6f 77 20 61 20 6d 65 6e 75 20 77 69 74 68 20 |how a menu with | 00000800 34 20 65 6e 74 72 69 65 73 2c 20 26 20 61 20 73 |4 entries, & a s| 00000810 75 62 6d 65 6e 75 20 61 74 74 61 63 68 65 64 20 |ubmenu attached | 00000820 74 6f 20 74 68 65 0a 33 72 64 20 6f 6e 65 2c 20 |to the.3rd one, | 00000830 69 74 73 65 6c 66 20 63 6f 6e 74 61 69 6e 69 6e |itself containin| 00000840 67 20 35 20 65 6e 74 72 69 65 73 2e 0a 0a 53 75 |g 5 entries...Su| 00000850 70 70 6f 73 74 20 68 65 6c 70 5f 72 65 67 69 73 |ppost help_regis| 00000860 74 65 72 5f 68 61 6e 64 6c 65 72 20 77 61 73 20 |ter_handler was | 00000870 67 69 76 65 6e 20 74 68 65 20 70 72 65 66 69 78 |given the prefix| 00000880 20 22 48 4c 50 22 0a 0a 4f 6c 64 20 68 65 6c 70 | "HLP"..Old help| 00000890 5f 67 65 6e 6d 65 73 73 61 67 65 20 77 6f 75 6c |_genmessage woul| 000008a0 64 20 72 65 74 75 72 6e 20 6d 65 73 73 61 67 65 |d return message| 000008b0 73 20 66 72 6f 6d 20 74 61 67 73 0a 0a 20 48 4c |s from tags.. HL| 000008c0 50 30 20 66 6f 72 20 69 74 65 6d 20 31 0a 20 48 |P0 for item 1. H| 000008d0 4c 50 31 20 20 20 20 20 20 20 20 20 20 32 0a 20 |LP1 2. | 000008e0 48 4c 50 32 20 20 20 20 20 20 20 20 20 20 33 0a |HLP2 3.| 000008f0 20 48 4c 50 33 20 20 20 20 20 20 20 20 20 20 34 | HLP3 4| 00000900 0a 20 48 4c 50 32 30 20 20 20 20 20 20 20 20 20 |. HLP20 | 00000910 61 0a 20 48 4c 50 32 31 20 20 20 20 20 20 20 20 |a. HLP21 | 00000920 20 62 0a 20 48 4c 50 32 32 20 20 20 20 20 20 20 | b. HLP22 | 00000930 20 20 63 0a 20 48 4c 50 32 33 20 20 20 20 20 20 | c. HLP23 | 00000940 20 20 20 64 0a 20 48 4c 50 32 34 20 20 20 20 20 | d. HLP24 | 00000950 20 20 20 20 65 0a 0a 65 74 63 2e 0a 0a 0a 4e 45 | e..etc....NE| 00000960 57 20 42 45 48 41 56 49 4f 55 52 0a 7e 7e 7e 7e |W BEHAVIOUR.~~~~| 00000970 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 0a 46 6f 72 20 69 |~~~~~~~~~..For i| 00000980 74 65 6d 20 62 20 61 62 6f 76 65 2c 20 6e 65 77 |tem b above, new| 00000990 20 63 6f 64 65 20 77 69 6c 6c 20 74 72 79 20 0a | code will try .| 000009a0 0a 20 48 4c 50 32 54 31 20 20 20 20 20 20 20 20 |. HLP2T1 | 000009b0 20 2d 20 72 65 61 64 20 61 73 20 48 4c 50 32 2c | - read as HLP2,| 000009c0 20 28 54 29 69 63 6b 65 64 20 31 0a 20 48 4c 50 | (T)icked 1. HLP| 000009d0 32 54 4d 20 20 20 20 20 20 20 20 20 2d 20 72 65 |2TM - re| 000009e0 61 64 20 61 73 20 48 4c 50 32 2c 20 28 54 29 69 |ad as HLP2, (T)i| 000009f0 63 6b 65 64 20 28 4d 29 75 6c 74 69 2d 70 75 72 |cked (M)ulti-pur| 00000a00 70 6f 73 65 0a 20 48 4c 50 32 31 20 20 20 20 20 |pose. HLP21 | 00000a10 20 20 20 20 20 2d 20 72 65 61 64 20 61 73 20 48 | - read as H| 00000a20 4c 50 32 31 0a 20 48 4c 50 32 4d 20 20 20 20 20 |LP21. HLP2M | 00000a30 20 20 20 20 20 2d 20 72 65 61 64 20 61 73 20 48 | - read as H| 00000a40 4c 50 32 2c 20 28 4d 29 75 6c 74 69 2d 70 75 72 |LP2, (M)ulti-pur| 00000a50 70 6f 73 65 0a 0a 57 68 65 72 65 20 74 68 65 20 |pose..Where the | 00000a60 74 6f 70 20 6f 6e 65 20 77 69 6c 6c 20 62 65 20 |top one will be | 00000a70 73 6f 75 67 68 74 20 66 69 72 73 74 2c 20 26 20 |sought first, & | 00000a80 69 66 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 74 68 |if not found, th| 00000a90 65 20 6e 65 78 74 20 77 69 6c 6c 20 62 65 0a 74 |e next will be.t| 00000aa0 72 69 65 64 2c 20 26 20 73 6f 20 6f 6e 2e 20 49 |ried, & so on. I| 00000ab0 66 20 61 6c 6c 20 66 61 69 6c 20 74 6f 20 79 69 |f all fail to yi| 00000ac0 65 6c 64 20 61 20 6d 65 73 73 61 67 65 20 74 61 |eld a message ta| 00000ad0 67 20 77 68 69 63 68 20 65 78 69 73 74 73 2c 20 |g which exists, | 00000ae0 6e 6f 20 68 65 6c 70 0a 77 69 6c 6c 20 62 65 20 |no help.will be | 00000af0 67 69 76 65 6e 2e 0a 0a 54 68 69 73 20 61 6c 6c |given...This all| 00000b00 6f 77 73 20 68 65 6c 70 20 74 65 78 74 20 73 70 |ows help text sp| 00000b10 65 63 69 66 69 63 20 74 6f 20 74 68 65 20 74 69 |ecific to the ti| 00000b20 63 6b 65 64 20 63 61 73 65 20 66 6f 72 20 69 74 |cked case for it| 00000b30 65 6d 20 62 2c 20 26 20 69 66 20 6e 6f 74 0a 70 |em b, & if not.p| 00000b40 72 65 73 65 6e 74 2c 20 77 69 6c 6c 20 74 68 65 |resent, will the| 00000b50 6e 20 6c 6f 6f 6b 20 66 6f 72 20 73 6f 6d 65 20 |n look for some | 00000b60 67 65 6e 65 72 61 6c 20 68 65 6c 70 20 74 65 78 |general help tex| 00000b70 74 20 66 6f 72 20 74 68 61 74 20 73 75 62 6d 65 |t for that subme| 00000b80 6e 75 2c 0a 64 65 73 63 72 69 62 69 6e 67 20 61 |nu,.describing a| 00000b90 6c 6c 20 74 69 63 6b 65 64 20 65 6e 74 72 69 65 |ll ticked entrie| 00000ba0 73 2e 20 49 66 20 73 74 69 6c 6c 20 6e 6f 74 20 |s. If still not | 00000bb0 66 6f 75 6e 64 2c 20 69 74 20 64 65 66 61 75 6c |found, it defaul| 00000bc0 74 73 20 74 6f 20 74 68 65 20 6f 6c 64 0a 63 61 |ts to the old.ca| 00000bd0 73 65 2c 20 26 20 69 66 20 74 68 61 74 20 64 6f |se, & if that do| 00000be0 65 73 6e 27 74 20 65 78 69 73 74 2c 20 61 20 67 |esn't exist, a g| 00000bf0 65 6e 65 72 61 6c 20 6d 75 6c 74 69 2d 70 75 72 |eneral multi-pur| 00000c00 70 6f 73 65 20 74 61 67 20 66 6f 72 20 74 68 65 |pose tag for the| 00000c10 20 73 75 62 6d 65 6e 75 0a 69 73 20 74 72 69 65 | submenu.is trie| 00000c20 64 2e 0a 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |d...************| 00000c30 2a 2a 2a 2a 2a 0a 0a 46 6f 72 20 69 74 65 6d 20 |*****..For item | 00000c40 63 2c 20 6e 65 77 20 63 6f 64 65 20 77 69 6c 6c |c, new code will| 00000c50 20 74 72 79 0a 0a 20 48 4c 50 32 47 32 20 20 20 | try.. HLP2G2 | 00000c60 20 20 20 20 20 20 2d 20 72 65 61 64 20 61 73 20 | - read as | 00000c70 48 4c 50 32 2c 20 28 47 29 72 65 79 65 64 2d 6f |HLP2, (G)reyed-o| 00000c80 75 74 20 32 0a 20 48 4c 50 32 47 4d 20 20 20 20 |ut 2. HLP2GM | 00000c90 20 20 20 20 20 2d 20 65 74 63 0a 20 48 4c 50 32 | - etc. HLP2| 00000ca0 54 32 0a 20 48 4c 50 32 54 4d 0a 20 48 4c 50 32 |T2. HLP2TM. HLP2| 00000cb0 32 0a 20 48 4c 50 32 4d 0a 0a 41 73 20 74 68 69 |2. HLP2M..As thi| 00000cc0 73 20 65 6e 74 72 79 20 69 73 20 67 72 65 79 65 |s entry is greye| 00000cd0 64 20 6f 75 74 20 28 66 61 64 65 64 29 2c 20 63 |d out (faded), c| 00000ce0 6f 64 65 20 66 69 72 73 74 20 6c 6f 6f 6b 73 20 |ode first looks | 00000cf0 66 6f 72 20 74 61 67 20 64 65 73 63 72 69 62 69 |for tag describi| 00000d00 6e 67 0a 74 68 69 73 2c 20 61 73 20 69 74 20 69 |ng.this, as it i| 00000d10 73 20 6d 6f 72 65 20 73 69 67 6e 69 66 69 63 61 |s more significa| 00000d20 6e 74 20 74 68 61 6e 20 74 69 63 6b 65 64 20 73 |nt than ticked s| 00000d30 74 61 74 75 73 2e 20 49 66 20 6e 6f 74 20 70 72 |tatus. If not pr| 00000d40 65 73 65 6e 74 2c 20 74 72 79 0a 67 65 6e 65 72 |esent, try.gener| 00000d50 61 6c 20 67 72 65 79 65 64 2d 6f 75 74 20 68 65 |al greyed-out he| 00000d60 6c 70 2c 20 26 20 69 66 20 73 74 69 6c 6c 20 6e |lp, & if still n| 00000d70 6f 74 20 66 6f 75 6e 64 2c 20 62 65 68 61 76 65 |ot found, behave| 00000d80 20 61 73 20 66 6f 72 20 61 6e 20 75 6e 66 61 64 | as for an unfad| 00000d90 65 64 0a 65 6e 74 72 79 2e 0a 0a 2a 2a 2a 2a 2a |ed.entry...*****| 00000da0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 4e 6f |************..No| 00000db0 74 69 63 65 20 74 68 61 74 20 77 68 65 6e 20 6f |tice that when o| 00000dc0 76 65 72 20 74 68 65 20 64 6f 74 74 65 64 20 6c |ver the dotted l| 00000dd0 69 6e 65 20 73 65 70 61 72 61 74 6f 72 2c 20 6f |ine separator, o| 00000de0 6c 64 20 63 6f 64 65 20 74 72 69 65 73 20 74 61 |ld code tries ta| 00000df0 67 0a 20 48 4c 50 32 20 77 68 69 63 68 20 69 73 |g. HLP2 which is| 00000e00 20 69 6e 61 70 70 72 6f 70 72 69 61 74 65 2e 0a | inappropriate..| 00000e10 0a 4e 65 77 20 63 6f 64 65 20 77 69 6c 6c 20 74 |.New code will t| 00000e20 72 79 0a 20 48 4c 50 32 4e 20 20 20 20 20 20 20 |ry. HLP2N | 00000e30 20 20 20 2d 20 72 65 61 64 20 61 73 20 48 4c 50 | - read as HLP| 00000e40 32 2c 20 28 4e 29 6f 20 69 74 65 6d 20 73 65 6c |2, (N)o item sel| 00000e50 65 63 74 65 64 0a 20 48 4c 50 32 4d 0a 0a 2a 2a |ected. HLP2M..**| 00000e60 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a |***************.| 00000e70 0a 49 66 20 6d 65 6e 75 20 6d 61 6b 65 72 20 66 |.If menu maker f| 00000e80 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 |unction register| 00000e90 65 64 20 61 20 73 74 72 69 6e 67 20 70 6f 69 6e |ed a string poin| 00000ea0 74 65 72 20 77 69 74 68 0a 68 65 6c 70 5f 72 65 |ter with.help_re| 00000eb0 67 69 73 74 65 72 5f 69 6e 73 65 72 74 2c 20 74 |gister_insert, t| 00000ec0 68 69 73 20 74 65 78 74 20 6d 61 79 20 62 65 20 |his text may be | 00000ed0 69 6e 63 6c 75 64 65 64 20 77 69 74 68 69 6e 20 |included within | 00000ee0 61 20 6d 65 73 73 61 67 65 20 62 79 0a 69 6e 63 |a message by.inc| 00000ef0 6c 75 64 69 6e 67 20 74 68 65 20 63 68 61 72 61 |luding the chara| 00000f00 63 74 65 72 20 70 61 69 72 20 27 25 73 27 20 77 |cter pair '%s' w| 00000f10 69 74 68 69 6e 20 74 68 65 20 6d 65 73 73 61 67 |ithin the messag| 00000f20 65 20 74 65 78 74 2e 20 41 20 6d 65 73 73 61 67 |e text. A messag| 00000f30 65 20 74 65 78 74 0a 6d 61 79 20 69 6e 63 6c 75 |e text.may inclu| 00000f40 64 65 20 6f 6e 6c 79 20 6f 6e 65 20 73 75 63 68 |de only one such| 00000f50 20 72 65 66 65 72 65 6e 63 65 2e 0a 0a 2a 2a 2a | reference...***| 00000f60 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a |**************..| 00000f70 41 6c 6c 20 6d 65 73 73 61 67 65 73 20 6d 61 79 |All messages may| 00000f80 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 6d 65 6e | contain the men| 00000f90 75 20 69 74 65 6d 20 74 65 78 74 20 69 74 73 65 |u item text itse| 00000fa0 6c 66 2c 20 62 79 20 69 6e 63 6c 75 64 69 6e 67 |lf, by including| 00000fb0 20 74 68 65 0a 63 68 61 72 61 63 74 65 72 20 70 | the.character p| 00000fc0 61 69 72 20 27 25 74 27 20 77 69 74 68 69 6e 20 |air '%t' within | 00000fd0 74 68 65 20 6d 65 73 73 61 67 65 20 74 65 78 74 |the message text| 00000fe0 2e 20 54 68 65 20 6d 65 6e 75 20 69 74 65 6d 20 |. The menu item | 00000ff0 74 65 78 74 2c 0a 61 75 74 6f 6d 61 74 69 63 61 |text,.automatica| 00001000 6c 6c 79 20 73 75 72 72 6f 75 6e 64 65 64 20 62 |lly surrounded b| 00001010 79 20 71 75 6f 74 65 73 2c 20 6d 61 79 20 62 65 |y quotes, may be| 00001020 20 69 6e 63 6c 75 64 65 64 20 77 69 74 68 20 74 | included with t| 00001030 68 65 20 70 61 69 72 20 27 25 71 27 2e 0a 4f 6e |he pair '%q'..On| 00001040 6c 79 20 6f 6e 65 20 73 75 63 68 20 70 61 69 72 |ly one such pair| 00001050 20 6d 61 79 20 61 70 70 65 61 72 20 69 6e 20 61 | may appear in a| 00001060 20 6d 65 73 73 61 67 65 20 74 65 78 74 2e 0a 0a | message text...| 00001070 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |****************| 00001080 2a 0a 0a 0a 45 58 41 4d 50 4c 45 53 20 4f 46 20 |*...EXAMPLES OF | 00001090 55 53 45 0a 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e |USE.~~~~~~~~~~~~| 000010a0 7e 7e 7e 0a 0a 43 6f 6e 73 69 64 65 72 20 61 20 |~~~..Consider a | 000010b0 6d 65 6e 75 20 63 6f 6e 74 61 69 6e 69 6e 67 20 |menu containing | 000010c0 61 20 76 61 72 69 61 62 6c 65 20 6c 65 6e 67 74 |a variable lengt| 000010d0 68 20 72 75 6e 2d 74 69 6d 65 20 64 65 70 65 6e |h run-time depen| 000010e0 64 65 6e 74 20 6c 69 73 74 20 6f 66 0a 6f 62 6a |dent list of.obj| 000010f0 65 63 74 73 2c 20 77 69 74 68 20 61 20 73 69 6e |ects, with a sin| 00001100 67 6c 65 20 6f 6e 65 20 74 69 63 6b 65 64 2c 20 |gle one ticked, | 00001110 6d 61 72 6b 69 6e 67 20 73 6f 6d 65 20 66 6f 72 |marking some for| 00001120 6d 20 6f 66 20 75 73 65 72 20 73 65 6c 65 63 74 |m of user select| 00001130 65 64 0a 63 68 6f 69 63 65 2e 0a 0a 53 75 70 70 |ed.choice...Supp| 00001140 6f 73 65 20 74 68 69 73 20 63 6f 6e 74 61 69 6e |ose this contain| 00001150 73 20 74 68 65 20 69 74 65 6d 73 3a 20 6a 6f 68 |s the items: joh| 00001160 6e 2c 20 70 61 75 6c 2c 20 67 65 6f 72 67 65 20 |n, paul, george | 00001170 26 20 72 69 6e 67 6f 2e 0a 0a 46 6f 72 20 70 72 |& ringo...For pr| 00001180 65 66 69 78 20 48 4c 50 2c 20 61 73 20 61 62 6f |efix HLP, as abo| 00001190 76 65 2c 20 77 65 20 63 61 6e 20 6f 62 74 61 69 |ve, we can obtai| 000011a0 6e 20 68 65 6c 70 20 6f 66 20 74 68 65 20 66 6f |n help of the fo| 000011b0 72 6d 20 22 43 68 6f 6f 73 65 20 27 6a 6f 68 6e |rm "Choose 'john| 000011c0 27 20 62 79 0a 63 6c 69 63 6b 69 6e 67 20 53 65 |' by.clicking Se| 000011d0 6c 65 63 74 20 6f 72 20 41 64 6a 75 73 74 22 20 |lect or Adjust" | 000011e0 65 74 63 20 6f 72 20 22 27 70 61 75 6c 27 20 69 |etc or "'paul' i| 000011f0 73 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 |s the currently | 00001200 73 65 6c 65 63 74 65 64 20 6f 62 6a 65 63 74 22 |selected object"| 00001210 2c 0a 61 73 20 61 70 70 72 6f 70 72 69 61 74 65 |,.as appropriate| 00001220 2c 20 77 69 74 68 20 6a 75 73 74 20 74 77 6f 20 |, with just two | 00001230 6d 65 73 73 61 67 65 73 3a 0a 0a 48 4c 50 54 4d |messages:..HLPTM| 00001240 3a 25 71 20 69 73 20 74 68 65 20 63 75 72 72 65 |:%q is the curre| 00001250 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 20 6f 62 |ntly selected ob| 00001260 6a 65 63 74 0a 48 4c 50 4d 3a 43 68 6f 6f 73 65 |ject.HLPM:Choose| 00001270 20 25 71 20 62 79 20 63 6c 69 63 6b 69 6e 67 20 | %q by clicking | 00001280 53 65 6c 65 63 74 20 6f 72 20 41 64 6a 75 73 74 |Select or Adjust| 00001290 0a 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |..**************| 000012a0 2a 2a 2a 0a 0a 46 6f 72 20 61 20 6d 6f 72 65 20 |***..For a more | 000012b0 63 6f 6d 70 6c 65 78 20 63 61 73 65 2c 20 63 6f |complex case, co| 000012c0 6e 73 69 64 65 72 20 61 20 6d 65 6e 75 20 63 6f |nsider a menu co| 000012d0 70 79 69 6e 67 20 74 68 65 20 72 6f 6f 74 20 6d |pying the root m| 000012e0 65 6e 75 20 6f 66 20 74 68 65 20 52 49 53 43 0a |enu of the RISC.| 000012f0 4f 53 20 33 20 46 69 6c 65 72 2e 0a 0a 48 65 72 |OS 3 Filer...Her| 00001300 65 2c 20 77 65 20 63 61 6e 20 73 75 70 70 6c 79 |e, we can supply| 00001310 20 6f 6c 64 20 73 74 79 6c 65 20 74 61 67 73 20 | old style tags | 00001320 73 70 65 63 69 66 69 63 20 74 6f 20 65 61 63 68 |specific to each| 00001330 20 69 74 65 6d 2c 20 62 75 74 20 6d 61 6b 65 20 | item, but make | 00001340 74 68 65 20 66 69 6c 65 0a 73 70 65 63 69 66 69 |the file.specifi| 00001350 63 20 6f 6e 65 20 69 6e 63 6c 75 64 65 20 74 68 |c one include th| 00001360 65 20 74 65 78 74 20 27 3c 66 69 6c 65 20 6e 61 |e text '<file na| 00001370 6d 65 3e 27 20 6f 72 20 27 74 68 65 20 73 65 6c |me>' or 'the sel| 00001380 65 63 74 65 64 20 6f 62 6a 65 63 74 73 27 20 62 |ected objects' b| 00001390 79 0a 75 73 69 6e 67 20 74 68 65 20 25 73 20 63 |y.using the %s c| 000013a0 68 61 72 61 63 74 65 72 73 20 26 20 6d 61 6b 69 |haracters & maki| 000013b0 6e 67 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e |ng the correspon| 000013c0 64 69 6e 67 20 6d 65 6e 75 20 6d 61 6b 65 72 20 |ding menu maker | 000013d0 66 75 6e 63 74 69 6f 6e 0a 72 65 67 69 73 74 65 |function.registe| 000013e0 72 20 61 20 73 75 69 74 61 62 6c 65 20 73 74 72 |r a suitable str| 000013f0 69 6e 67 20 77 69 74 68 20 68 65 6c 70 5f 72 65 |ing with help_re| 00001400 67 69 73 74 65 72 5f 69 6e 73 65 72 74 2e 0a 0a |gister_insert...| 00001410 54 68 69 73 20 65 78 61 6d 70 6c 65 20 61 6c 73 |This example als| 00001420 6f 20 69 6c 6c 75 73 74 72 61 74 65 73 20 74 68 |o illustrates th| 00001430 61 74 20 77 68 69 6c 65 20 65 61 63 68 20 69 74 |at while each it| 00001440 65 6d 20 6e 65 65 64 73 20 69 74 73 20 6f 77 6e |em needs its own| 00001450 20 68 65 6c 70 20 74 65 78 74 2c 0a 74 6f 20 63 | help text,.to c| 00001460 6f 76 65 72 20 74 68 65 20 66 61 64 65 64 20 63 |over the faded c| 00001470 61 73 65 73 20 77 65 20 63 61 6e 20 75 73 65 20 |ases we can use | 00001480 61 20 73 69 6e 67 6c 65 20 6d 65 73 73 61 67 65 |a single message| 00001490 2e 20 54 68 75 73 3a 0a 0a 48 4c 50 47 4d 3a 54 |. Thus:..HLPGM:T| 000014a0 68 69 73 20 6f 70 74 69 6f 6e 20 69 73 20 67 72 |his option is gr| 000014b0 65 79 65 64 20 6f 75 74 20 62 65 63 61 75 73 65 |eyed out because| 000014c0 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 73 65 | there are no se| 000014d0 6c 65 63 74 65 64 20 6f 62 6a 65 63 74 73 2e 0a |lected objects..| 000014e0 0a 57 69 6c 6c 20 63 6f 76 65 72 20 61 6c 6c 20 |.Will cover all | 000014f0 73 75 63 68 20 63 61 73 65 73 2e 0a 0a 2a 2a 2a |such cases...***| 00001500 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a |**************..| 00001510 53 74 69 6c 6c 20 77 69 74 68 20 74 68 65 20 61 |Still with the a| 00001520 62 6f 76 65 20 65 78 61 6d 70 6c 65 2c 20 6e 6f |bove example, no| 00001530 74 69 63 65 20 68 6f 77 20 77 69 74 68 20 74 68 |tice how with th| 00001540 65 20 72 65 61 6c 20 66 69 6c 65 72 2c 20 6d 6f |e real filer, mo| 00001550 76 69 6e 67 20 6f 76 65 72 20 61 0a 73 75 62 6d |ving over a.subm| 00001560 65 6e 75 20 26 20 70 6f 73 69 74 69 6f 6e 69 6e |enu & positionin| 00001570 67 20 74 68 65 20 70 6f 69 6e 74 65 72 20 62 65 |g the pointer be| 00001580 74 77 65 65 6e 20 74 68 65 20 74 69 74 6c 65 20 |tween the title | 00001590 26 20 74 6f 70 20 69 74 65 6d 20 28 73 6f 20 74 |& top item (so t| 000015a0 68 61 74 20 6e 6f 0a 69 74 65 6d 20 69 73 20 73 |hat no.item is s| 000015b0 65 6c 65 63 74 65 64 29 2c 20 63 61 75 73 65 73 |elected), causes| 000015c0 20 52 49 53 43 20 4f 53 20 33 20 20 74 6f 20 67 | RISC OS 3 to g| 000015d0 69 76 65 20 69 6e 61 70 70 72 6f 70 72 69 61 74 |ive inappropriat| 000015e0 65 20 68 65 6c 70 2c 20 61 73 20 74 68 6f 75 67 |e help, as thoug| 000015f0 68 0a 77 65 20 77 65 72 65 20 73 74 69 6c 6c 20 |h.we were still | 00001600 69 6e 20 74 68 65 20 70 61 72 65 6e 74 20 6d 65 |in the parent me| 00001610 6e 75 2e 0a 0a 54 68 69 73 20 6e 65 77 20 63 6f |nu...This new co| 00001620 64 65 20 61 6c 6c 6f 77 73 20 79 6f 75 72 20 6f |de allows your o| 00001630 77 6e 20 70 72 6f 67 72 61 6d 73 20 74 6f 20 61 |wn programs to a| 00001640 76 6f 69 64 20 73 75 63 68 20 65 72 72 6f 72 73 |void such errors| 00001650 20 2d 20 77 69 74 68 20 61 0a 73 75 69 74 61 62 | - with a.suitab| 00001660 6c 65 20 27 4e 27 20 74 79 70 65 20 74 61 67 2c |le 'N' type tag,| 00001670 20 79 6f 75 20 63 61 6e 20 70 72 6f 76 69 64 65 | you can provide| 00001680 20 61 20 6d 65 73 73 61 67 65 20 64 65 73 63 72 | a message descr| 00001690 69 62 69 6e 67 20 74 68 65 20 67 65 6e 65 72 61 |ibing the genera| 000016a0 6c 0a 70 75 72 70 6f 73 65 20 6f 66 20 74 68 65 |l.purpose of the| 000016b0 20 73 75 62 6d 65 6e 75 20 63 6f 6e 63 65 72 6e | submenu concern| 000016c0 65 64 2e 0a 0a 48 6f 77 65 76 65 72 2c 20 65 76 |ed...However, ev| 000016d0 65 6e 20 69 66 20 79 6f 75 20 6f 6d 69 74 20 74 |en if you omit t| 000016e0 68 69 73 2c 20 61 74 20 77 6f 72 73 74 20 79 6f |his, at worst yo| 000016f0 75 20 67 65 74 20 6e 6f 20 68 65 6c 70 2c 20 77 |u get no help, w| 00001700 68 69 63 68 20 69 73 20 72 61 74 68 65 72 0a 62 |hich is rather.b| 00001710 65 74 74 65 72 20 74 68 61 6e 20 6d 69 73 6c 65 |etter than misle| 00001720 61 64 69 6e 67 20 64 69 72 65 63 74 69 6f 6e 73 |ading directions| 00001730 2e 0a |..| 00001732