home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.hp48
- Path: sparky!uunet!tcsi.com!iat.holonet.net!brianw
- From: brianw@iat.holonet.net (Brian Walsh)
- Subject: Re: sys_RPL??? and DEBUGer ???
- Message-ID: <Bx9wMC.8Iw@iat.holonet.net>
- Organization: HoloNet
- Date: Fri, 6 Nov 1992 02:37:22 GMT
- Lines: 38
-
- In article <1992Nov6.091825.11984@waikato.ac.nz> fee@waikato.ac.nz writes:
-
- > Does anybody know how to tell from within a programme (preferably sys_RPL
- > but user_RPL will suffice for a start) what menu is currently being
- > displayed?
- User RPL to the rescue! RCLMENU does the trick, returning the menu
- number and page.
-
- > Second question: Are the built-in menu grobs held anywhere as one-line
- > grobs and are they accessible? ie: is page 2 of the MTH menu for instance
- > a 131 X 9 GROB held somewhere that can be recalled to the stack?
- Nope, that would waste lots of memory. The menu labels are built as
- needed from strings using entries such as MakeStdLabel (#3A328h),
- MakeDirLabel (#3A3ECh), and MakeBoxLabel (#3A38Ah). There's a way to
- recall the 131x8 menu grob to the stack but I don't remember it. But
- here's a routine to recall the name displayed on a menu label as a
- global name (or string if not a name):
- GETLBL
- :: CK1&Dispatch #1h Input a real number on the stack, 1 to 6
- :: COERCE GETDF Return the menu label object for that key
- CK1&Dispatch
- #8h Is it a secondary? (menu label such as SOLVR)
- :: CDRCOMP CARCOMP ; Yes, get the second object (string)
- #0h NOP No, we're done
- ;
- ;
-
- ASC version of GETLBL:
- %%HP: T(1)A(R)F(.);
- "D9D20ECE819FF30D9D20AEC8114A40ECE81F3040D9D203515098050B2130FEF3
- 0E8E60B2130B21303D99"
- @ BYTES: #99D3h 40
-
- Caution: numbers other than 1 to 6 may give unpredictable results.
-
- -- Brian Walsh
- brianw@holonet.net -Just say no to taglines-
-
-