home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / rdebug21.zip / RDBHELP.KEX < prev    next >
Text File  |  1993-03-25  |  5KB  |  185 lines

  1. /*H* RDBHELP.KEX 02-10-93 12:19*/
  2.  Arg dborigin .
  3.  parse arg . item menu menu? .
  4.  parse arg . key
  5.  signal on error;   signal ON FAILURE;  signal on halt
  6.  signal ON NOVALUE;
  7.  signal ON NOTREADY;
  8.  signal ON SYNTAX
  9.  dbme='rdbHELP'
  10.  Parse Value 'COMMAND SET!COMMAND X!COMMAND EXT' With dbcs'!'dbxx'!'dbce
  11.  Parse Value 'COMMAND!COMMAND COMMAND SOS' With dbc'!'dbso
  12.  dbce '/FN/OPSYS'
  13.  dbsys=opsys.1
  14.  if dbsys='OS/2' then dbsys='OS2'     /*O*/
  15.  Parse Value 0 0 With dbvar dbtrc dbtrap dbtrapp dbmsg
  16.  call initial
  17.  select
  18.    when dborigin='HELP'        then call db1panel menu''item
  19.    when dborigin='/PANEL'      then call db1panel menu''item
  20.    when dborigin='/HYPERTEXT'  then call db3panel 0 key
  21.    when dborigin='/HYPERTEXT2' then call db3hypertext2
  22.    when dborigin='/TEST'       Then do
  23.    /*  to test hypertext links
  24.      dborigin= '/HYPERTEXT'
  25.      call db3panel 0 key; end
  26.      to test type: def c-f5 rdbhelp '/TEST'
  27.    */
  28.      dborigin='/PANEL'
  29.      call db1panel; end
  30.    otherwise call db1panel menu''item
  31.  end
  32.  dbc 'MSGM ON'
  33.  if dbtrc=-7 then return -7 dbtrap
  34.  Exit dbvar
  35.  
  36.  DB1PANEL:
  37.  arg panel
  38.  if menu? then parse value    db3panel('/PANEL' panel) with dbtrc dbtrap
  39.  else do
  40.    if command() then parse value    db3panel('/PANEL HT') with dbtrc dbtrap
  41.    else call process_word_at_cursor
  42.  end
  43.  If dbmsg<>'' Then 'EMSG' dbmsg
  44.  if dbtrc=-7 then return -7 dbtrap
  45.  return 0
  46.  
  47.  PROCESS_WORD_AT_CURSOR:
  48.  dbce '/curline'
  49.  i=pos(keyleft,curline.3)
  50.  if i>0 then do
  51.    j=pos(keyright,curline.3)
  52.    if j>i then do
  53.      key=substr(curline.3,i+1,j-i-1)
  54.      parse value    rdbhelp('/HYPERTEXT' key) with dbtrc dbtrap
  55.      return; end
  56.  end
  57.  parse value  rhypertx('/RDEBUG') with dbtrc dbtrap
  58.  parse value dbtrc dbtrap with key dbfound
  59.  if dbtrc=-7 then return -7 dbtrap
  60.  if dbfound=0 then parse value    db3hypertext2('/HYPERTEXT2' key) with dbtrc dbtrap
  61.  else dbvar=1 key
  62.  return
  63.  
  64.  DB3HYPERTEXT2:
  65.  arg . panel
  66.  '3'
  67.  dbcs 'RESER -1 REVERSE rDEBUG    ESC=Exit    PGUP=Last Page    PGDN=Next Page    Arrow Keys=Select'
  68.  call process_file
  69.  if dbtrc=-7 then return -7 dbtrap
  70.  return 0
  71.  
  72.  db3PANEL:
  73.  arg . panel
  74.  if      panel='KEDIT' then help='KEDIT.HLP'
  75.  else if panel='REXX'  then help='\RDEBUG\REXX.HLP'
  76.  else help='RDBHELP.HLP'
  77.  dbxx help
  78.  dbc ':0 ALL'
  79.  dbcs 'SHAD OFF'
  80.  dbcs 'MSGM OFF'
  81.  if help='RDBHELP.HLP'  then dbc  'V 5'
  82.  if dborigin='/HYPERTEXT' then do
  83.    if help='RDBHELP.HLP' then do
  84.      signal off error
  85.      dbc '/_'panel
  86.      signal on  error
  87.      dbce '/curline'
  88.      panel=strip(substr(curline.3,1,4))
  89.      i=pos('_',panel)
  90.      if i>0 then panel=substr(panel,1,i-1)
  91.      key=strip(substr(curline.3,5))
  92.      dbc 'ALL /'panel'_ '
  93.      signal off error
  94.      dbc 'TAG /'hypertext
  95.      signal on  error
  96.      call delete_other_systems
  97.    end
  98.    else key=panel
  99.  end
  100.  else do
  101.    if help='RDBHELP.HLP' then do
  102.      dbc '/'panel'_'
  103.      dbce '/curline'
  104.      dbc 'ALL /'panel'_ '
  105.      call delete_other_systems
  106.      signal off error
  107.      dbc 'TAG /'hypertext
  108.      '+3'
  109.      signal on error
  110.      key=strip(substr(curline.3,5))
  111.    end
  112.    else key=panel
  113.  end
  114.  dbcs 'RESER -1 REVERSE rDEBUG   ESC=Return  PGUP=Last Screen  PGDN=Next Screen   F1=Select'
  115.  call process_file
  116.  if dbtrc=-7 then return -7 dbtrap
  117.  return 0
  118.  
  119.  PROCESS_FILE:
  120.  dbcs 'RESER 1 WHITE ON BLUE' center('Help:' key,80)
  121.  dbfn= time('s')
  122.  dbc 'FN' dbfn
  123.  dbce '/FILEID'
  124.  dbcs 'TOFEOF OFF'
  125.  'REFRESH'
  126.  do forever until (readv.1=esc)+(readv.1=goback)>0
  127.    dbc 'READV KEY'
  128.    select
  129.      When readv.1=pgup   then dbc  'BA'
  130.      When readv.1=pgdn   then dbc  'FO'
  131.      When readv.1='CURL' then dbso 'CL'
  132.      When readv.1='CURR' then dbso 'CR'
  133.      When readv.1='CURU' then dbso 'CU'
  134.      When readv.1='CURD' then dbso 'CD'
  135.      When readv.1='F1' then do
  136.        parse value    rdbhelp('/PANEL') with dbtrc dbtrap;
  137.        if dbtrc=-7 then leave
  138.      end
  139.      otherwise nop
  140.    end
  141.  end
  142.  dbxx fileid.1
  143.  'QQUIT'
  144.  ':'line.1
  145.  dbcs 'msgmode' msgmode.1
  146.  if dbtrc=-7 then return -7 dbtrap
  147.  return 0
  148.  
  149.  DELETE_OTHER_SYSTEMS:
  150.  if dbsys<>'OS2' then dbc 'LESS /*O*/'
  151.  return 0
  152.  
  153.  INITIAL:
  154.  if menu?='' then menu?=0
  155.  if menu=''  then menu='F'
  156.  parse value 0 with dbtrc dbtrapp dbmsg panel
  157.  dbce '/FN/FT/LINE/MSGMODE'
  158.  readv.1=''
  159.  esc='ESC'
  160.  goback='F3'
  161.  panel=''
  162.  pgup='PGUP'
  163.  pgdn='PGDN'
  164.  keyblank=' '
  165.  keyleft=''
  166.  keyright=''
  167.  hypertext=keyleft'~'keyright
  168.  if dbsys='CMS' then dbs=' '
  169.  else dbs='.'
  170.  if dbtrc=-7 then return -7 dbtrap
  171.  return
  172.  
  173.  ERROR:    return db9trap(sigl 80e) sourceline(sigl)
  174.  FAILURE:  return db9trap(sigl 80f) sourceline(sigl)
  175.  HALT:     return db9trap(sigl 80h)
  176.  NOTREADY: return db9trap(sigl 80r) sourceline(sigl)
  177.  NOVALUE:  return db9trap(sigl 80v)
  178.  SYNTAX:   return db9trap(sigl 80e) errortext(rc)'~'sourceline(sigl)
  179.  db9TRAP:
  180.  if dbtrc=-7 then dbtrapp=dbtrap
  181.  parse arg dbsigl dbtcode dbtrest
  182.  dbtrap = 0 dbme dbsigl dbtcode dbmsg rdbmsg(dbtcode dbme dbsigl) dbtrest
  183.  dbtrc=-7
  184.  return -7 dbtrapp'~'dbtrap
  185.