+---------------+ | FORUSRDEF.TLB | +---------------+ For convenient access to modules in FORUSRDEF.TLB, I define the following logical in my LOGIN.COM: $assign sys$login:forusrdef.tlb forusrdef Then, I can INCLUDE 'FORUSRDEF(module)' in fortran. These modules (plus a few other things, like the basic character sets) are documented in MYHELP.HLB. The modules are (briefly): $DSCDEF -- scalar descriptor record is all that's there just yet. You can hack with descriptors by passing something -- doesn't really matter what -- as %DESCR( whatever ), then do zero or more things to the descriptor in a subroutine, pass it back as a string to store it for later use. OF COURSE, if you use it later, be sure to pass it by %REF( descr-string ) wherever a %DESCR() is required (!!) ASCII_DEF -- REALLY a lifesaver for me; FORGET the numeric equivalents of ASCII, Multinational special characters. CARRIAGE_CONTROL_DEF -- analog of ASCII_DEF for carriage control characters. EXIT_STATUS_DEF -- analog of ASCII_DEF for image exit status codes. EXTREME_VALUES -- max/min values for numeric data types. For many numerical applications, the maximum values serve as convenient values for infinity. FUNDAMENTAL_MATH_CONSTANTS -- some stuff here; incomplete -- watch for next SIG tape. LINE_DRAWING_DEF -- like ASCII_DEF for the more important line- drawing characters. LOGARITHMIC_CONSTANTS -- some stuff here; incomplete -- watch for next SIG tape. LOGICAL_DEF -- really gee-whiz stuff for Pascal programmers who have to use "FORmless TRANslation" on occasion. RECEIVED_TERMINAL_CODES -- easy-to-remember (hopefully) mnemonics for those scads of terminal control sequences. SMG_DEF -- higher-level SMG$ terminator codes than are in FORSYSDEF($SMGDEF). TRANSMITTED_TERMINAL_CODES -- menmonics for VT1xx, LK201 keys. +------------+ | MYHELP.HLB | +------------+ To make access to the help files for this (and other items) easier, I also define the following symbol in my LOGIN.COM: $myhelp== "help/library=sys$login:myhelp" +-------+ | *.COM | +-------+ The *.COM files are for moving around within a VMS directory tree. They are not intended as my answer to the SWING utility, but they do provide the ability to define and undefine logicals and symbols in subdirectories pretty much as you please. I have found that this ability is handy when you have to move about all over the place frequently. Since they are command files, they may be a bit slow, but I've been using them in various versions for several months now, and I don't mind the speed or lack of a graphical display at all -- the graphical display is inside my head. This is a bit messy in that each subdirectory in which I need to have certain things defined on arrival and undefined on exit are currently put in files named ARRIVE.COM and LEAVE.COM which reside in the subdirectory in question. (I really should change that so they all reside in an indexed file in SYS$LOGIN.) To make the directory movement command files visible "wherever" I might be on the system, I define the following symbols in my LOGIN.COM: $brother== "@sys$login:brother" $children== "@sys$login:children" $father== "@sys$login:father" $forget== "@sys$login:forget" $node== "@sys$login:node" $remember== "@sys$login:remember" $root== "@sys$login:root" $siblings== "@sys$login:siblings" $son== "@sys$login:son" $tree== "@sys$login:tree" If you prefer, you could call 'father' mother, 'brother' sister, 'tree' shrub, etc., as you wish. -------------------------------------------------------------------------------- Submitted by: James Fullerton Cessna Aircraft Co. Wallace Div., Dept. 178 Wichita, KS 67277