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

  1. /*H* RDBTASK.KEX 02-15-93 10:08*/
  2.  arg dborigin .
  3.  arg . code1 code2 initial
  4.  Signal On Error;   Signal On Failure;  Signal On Halt
  5.  Signal On Novalue; Signal On Notready; Signal ON Syntax
  6.  call dbtinitial
  7.  if dbtrc=-7 then return -7 dbtrap
  8.  
  9.  Parse Value strip(code1)''strip(code2) With code
  10.  parse value     db3task(code)     with dbtrc dbtrap
  11.  if dbtrc=-7 then return -7 dbtrap
  12.  signal off novalue
  13.  job=task.code
  14.  signal on novalue
  15.  if left(job,5)='TASK.' then do
  16.    dbc 'EMSG' rdbmsg(104 code2)
  17.    return 0; end
  18.  parse var job code code2 statement
  19.  if code2 = 'DIALOG' then do
  20.    dbce '/VERSION'
  21.    if version.2 >= 5.00 then do
  22.      signal off error
  23.      code2 statement
  24.      signal on error
  25.      signal off novalue
  26.      if dialog.1='DIALOG.1' then dialog.1=''
  27.      if (dialog.2="OK")|(dialog.2="YES")|(dialog.2="NO")+(dialog.2="CANCEL")>0
  28.      then if dialog.1 <>'' then answer=dialog.1
  29.      else answer=dialog.2
  30.      else answer=dialog.1
  31.      signal on novalue
  32.      if dialog.2='CANCEL' then parse value 'CANCEL' 'CANCEL' with code answer
  33.      Parse Value answer '' With code2 statement; end
  34.    else do
  35.      parse value statement with '/' prompt '/' .
  36.      'EMSG' prompt
  37.      parse value 'NO' with code2 code
  38.      parse value      rdbui(1)      with dbtrc dbtrap
  39.      if dbtrc=-7 then return -7 dbtrap
  40.      statement=dbtrc dbtrap
  41.      if statement<>'' then code2='OK'; end
  42.  end
  43.  if code = '*' then do
  44.    if code2='*' then 'emsg' rdbmsg(999 job statement)
  45.    else do
  46.      parse var job . statement
  47.      interpret statement; end
  48.    return 0; end
  49.  if code=1 then do
  50.    parse var job . . rest
  51.    code=''
  52.    interpret 'statement='rest
  53.    if statement='*' then do;
  54.      dbc 'EMSG' rdbmsg(711)
  55.      return 0; end
  56.  end
  57.  answer=code code2 statement
  58.  if code1='P' then return answer
  59.  if dbtrc=-7 then return -7 dbtrap
  60.  dbso 'QCMND'
  61.  dbc 'TEXT' answer
  62.  /*Exit*/ Return leave?
  63.  
  64.  db3TASK:
  65.  arg code
  66.  first=left(code,1)
  67.  part1='  DIALOG /Enter new value / TITLE /'
  68.  partf='  DIALOG /Enter filename / TITLE /'
  69.  part2='/ EDITFIELD /' initial '/'
  70.  signal off novalue
  71.  signal off syntax
  72.  signal value 'T'first
  73.  signal on novalue
  74.  signal on syntax
  75.  'EMSG rdbTASK Invalid selection:' right(code,1)
  76.  if dbtrc=-7 then return -7 dbtrap
  77.  /*Exit*/ Return 0
  78.  
  79.  TF:
  80.  task.FN='* * **'
  81.  task.FO='OPEN'
  82.  /* partf 'File Open ' part2 */
  83.  task.FS="SAVE"
  84.  task.FA="SAVE",
  85.  ' '  partf 'save As' part2
  86.  task.FP="PRINT"
  87.  task.FE="EXIT"
  88.  return 0
  89.  TV:
  90.  dbce '/SCR'
  91.  parse var screen.1 . size .
  92.  if (size< 13) then
  93.  task.VZ="* 'set screen 1'"
  94.  else
  95.  task.VZ="UNZOOM"
  96.  task.VS='* "SOS TABCMDF" '
  97.  task.VO="OUTPUT"
  98.  task.VM='* "SOS TABCMDF" '
  99.  task.VH='* "rgtleft" '
  100.  task.VR="REFRESH"
  101.  return 0
  102.  task.SF='* "/"! Enter function name'
  103.  task.SC='* "c/"! Enter item to change'
  104.  /*   see xui f3
  105.  task.SR='* "/"'
  106.  */
  107.  return 0
  108.  TS:
  109.  task.SF='* "/"! Enter function name'
  110.  task.SC='* "c/"! Enter item to change'
  111.  /*   see xui f3
  112.  task.SR='* "/"'
  113.  */
  114.  return 0
  115.  TR:
  116.  task.RS='GO 1'
  117.  task.RR='RESTART'
  118.  dbce '/LINE'
  119.  go="GO -2" line.1
  120.  task.RG= go
  121.  rc='RC'
  122.  task.RC='GO'
  123.  return 0
  124.  TC:
  125.  task.CB='BREAK'
  126.  task.CE='EXCLUDE'
  127.  task.CS='SKIP'
  128.  task.CD='DEBUG'
  129.  return 0
  130.  TD:
  131.  task.DS='GO 0'
  132.  task.DP="GO -1"
  133.  task.DT='TRACE -1'
  134.  task.DB='BREAK -1'
  135.  task.DA="BREAK 0"
  136.  task.DN='NEXT'
  137.  return 0
  138.  TX:
  139.  task.XD='* * * Display...     **'
  140.  task.XH='* * * Help Path...   **'
  141.  task.XS='* * * Syntax Checking**'
  142.  return 0
  143.  TO:
  144.  task.OS='Switches'
  145.  task.OF='FULL  -1'
  146.  task.OE='ERROR -1'
  147.  task.OL='LOG   -1'
  148.  task.OT='TRACE -1'
  149.  task.OA='TALLY -1'
  150.  task.OW='WATCH -1'
  151.  task.OC='COUNT',
  152.  '  DIALOG /Enter new count limit / TITLE / Change Count ' part2
  153.  task.OI='WAIT',
  154.  '  DIALOG /Enter new delay factor / TITLE / Change Wait ' part2
  155.  return 0
  156.  TW:
  157.  task.WA='WATCH',
  158.  '  DIALOG /Enter variable name / TITLE / Add watch ' part2
  159.  task.WB='1 WATCH wordatcursor()'
  160.  task.WS='1 SAY  wordatcursor()'
  161.  task.WT='1 SAY  wordatcursor()'
  162.  task.WD='DISCARD',
  163.  '  DIALOG /Enter variable name / TITLE / Drop watch ' part2
  164.  task.WS='SHOWWATCH'
  165.  task.WE='watch'
  166.  task.WR='WATCH -2'
  167.  return 0
  168.  TT:
  169.  task.TC='CASE'
  170.  task.TA='DBCALLSTACK'
  171.  task.TE='ENV'
  172.  task.TF='RING'
  173.  task.TI='INDENTATION'
  174.  task.TP='PROFILER'
  175.  task.TM='MATCH'
  176.  task.TS='STRUCTURE'
  177.  task.TY='SYNTAX'
  178.  task.TX='XREF'
  179.  return 0
  180.  TH:
  181.  helppf="* parse value rdbHELP('/PANEL"
  182.  helpsf="1') with dbtrc dbtrap ;"
  183.  task.HI=helppf 'I H' helpsf
  184.  task.HC=helppf 'C H' helpsf
  185.  task.HT=helppf 'T H' helpsf
  186.  task.HU=helppf 'U H' helpsf
  187.  task.HA=helppf 'A H' helpsf
  188.  return 0
  189.  T1:
  190.  task.1N='NEW'    partf 'File New  ' part2
  191.  task.1O='OPEN'   partf 'File Open ' part2
  192.  task.1S='SAVE'
  193.  task.1A='SAVEAS' partf 'save As ' part2
  194.  task.1P='PRINT'
  195.  task.1C='DONE'
  196.  task.1E='EXIT'
  197.  return 0
  198.  T2:
  199.  task.2N='NEW'
  200.  task.2S='SAVE'
  201.  task.2A='SAVEAS',
  202.  ' ' partf 'save As ' part2
  203.  task.2P='PRINT'
  204.  task.2C='DONE'
  205.  task.2R='RERUN'
  206.  task.2E='EXIT'
  207.  return 0
  208.  T3:
  209.  task.3N='NEW'
  210.  task.3S='SAVE'
  211.  task.3P='PRINT'
  212.  task.3C='DONE'
  213.  task.3E='EXIT'
  214.  return 0
  215.  T4:
  216.  task.4S='SAVE'
  217.  task.4A='SAVEAS',
  218.  partf 'save As ' part2
  219.  task.4C='DONE'
  220.  task.4E='EXIT'
  221.  return 0
  222.  
  223.  TP:
  224.  task.P1='. DIALOG /Enter parameters if necessary / TITLE /',
  225.  '  Program parameters / EDITFIELD /'
  226.  task.P2='. DIALOG /Exit rDEBUG and save changes? / TITLE / Exit? / YESNOCANCEL'
  227.  task.P3='. DIALOG /Enter new parameters if necessary / TITLE / Restart' part2
  228.  task.P4='. DIALOG /Exit rDEBUG? / TITLE / Exit? / OKCANCEL'
  229.  task.P5='. DIALOG /Unable to RERUN - backup of previous source and/or profile missing / TITLE / Rerun? / OK'
  230.  task.P6='. DIALOG /Enter parameters if necessary / TITLE / Open' part2
  231.  task.P7='. DIALOG /Enter program name / EDITFIELD /'
  232.  return 0
  233.  
  234.  WORDATCURSOR:
  235.  parse value  rhypertx('/RDEBUG') with dbtrc dbtrap
  236.  if dbtrc=-7 then return -7 dbtrap
  237.  return dbtrc
  238.  Return word
  239.  
  240.  dbtINITIAL:
  241.  Parse Value 'COMMAND SET!COMMAND X!COMMAND EXT' With dbcs'!'dbxx'!'dbce
  242.  Parse Value 'COMMAND!COMMAND SOS' With dbc'!'dbso
  243.  Parse Value 0 With dbtrc dbtrap dbtrapp dbmsg
  244.  dbce '/OPSYS'
  245.  Parse Value 'rdbTASK' opsys.1  With dbme dbsys
  246.  if dbsys='OS/2' then dbsys='OS2'     /*O*/
  247.  Parse Value 0 1 0 With dbtrc leave? menu? selection
  248.  if code1='' then Exit tell(dbme)
  249.  if dborigin='?' then Exit tell(dbme)
  250.  Return 0
  251.  
  252.  ERROR:    return db9trap(sigl 80e) sourceline(sigl)
  253.  FAILURE:  return db9trap(sigl 80f) sourceline(sigl)
  254.  HALT:     return db9trap(sigl 80h)
  255.  NOTREADY: return db9trap(sigl 80r) sourceline(sigl)
  256.  NOVALUE:  return db9trap(sigl 80v)
  257.  SYNTAX:   return db9trap(sigl 80e) errortext(rc)'~'sourceline(sigl)
  258.  db9TRAP:
  259.  if dbtrc=-7 then dbtrapp=dbtrap
  260.  parse arg dbsigl dbtcode dbtrest
  261.  dbtrap = 0 dbme dbsigl dbtcode dbmsg rdbmsg(dbtcode dbme dbsigl) dbtrest
  262.  dbtrc=-7
  263.  return -7 dbtrapp'~'dbtrap
  264.