home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / ted99107.zip / TextEdit.INF (.txt) < prev   
OS/2 Help File  |  1999-04-17  |  95KB  |  3,154 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Introduction ΓòÉΓòÉΓòÉ
  3.  
  4. Introduction 
  5.  
  6. This document covers the TEXTEDIT.CMD command which can be used to 
  7. programatically modify any text file.  This program is particularly useful for 
  8. CID build processes.  Useful return codes are returned on error.  This program 
  9. can be used under DOS, Windows 95 and Windows NT if the free regina interpreter 
  10. is used. 
  11.  
  12. The TEXTEDIT.CMD command supports decision making with commands such as "#if" 
  13. and supports #define & #include commands.  Many commands function based on the 
  14. currently active position. 
  15.  
  16. Note that this program was not built specifically to modify config.sys 
  17. (although it has come commands that only make sense in config.sys such as 
  18. LIBPATH). 
  19.  
  20.  
  21. ΓòÉΓòÉΓòÉ 1.1. Current Position ΓòÉΓòÉΓòÉ
  22.  
  23. Current Position 
  24.  
  25. Most commands work based on the concept of a "Current Position", this position 
  26. can be changed with many commands such as TOP & FIND. 
  27.  
  28. The current position is usually the linenumber of a line (1 to n) or 0 where 0 
  29. indicates the TOP and is a special case to allow INSERTLINE to insert a line at 
  30. the top of the file. 
  31.  
  32. Most commands will treat positions of 0 and 1 as being the same at least in 
  33. their primary function for example a "DELETELINES 1" command will delete the 
  34. 1st line whether the current position is 0 or 1 (however the current position 
  35. should remain either 0 or 1). 
  36.  
  37.  
  38. ΓòÉΓòÉΓòÉ 2. TEXTEDIT.CMD Command Line ΓòÉΓòÉΓòÉ
  39.  
  40. TEXTEDIT.CMD Command Line 
  41.  
  42.         TEXTEDIT[.CMD]  InputFile  OutputFile  ChangeFile  OptionalParameters
  43.  
  44. The "InputFile" is read in when processing begins, it is the source of the file 
  45. being changed.  This parameter can be accessed from your script via the 
  46. "${TextFileIn}" variable. 
  47.  
  48. The "OutputFile" parameter represents the name of the output file.  This can be 
  49. the same file as that specified for the "InputFile" parameter.  The 
  50. "OutputFile" becomes the default file on a "CHECKPOINT" command, and is 
  51. available via the "${TextFileOut}" variable. 
  52.  
  53. The "ChangeFile" parameter specifies the file which contains the change script. 
  54. This file contains the commands that you would like processed.  This parameter 
  55. can be accessed from your script via the "${ChangeFile}" variable. 
  56.  
  57. The "OptionalParameters" parameter need not be specified.  Its contents can be 
  58. accessed via the "${Parameters}" variable.  Your script could do conditional 
  59. processing on this value (with #if commands etc).  Note that information you 
  60. require could be passed to your change script in other ways such as OS/2 
  61. environment variables. 
  62.  
  63. For an example of what you can expect the preprocessor to output to the screen, 
  64. please see the TextEdit Redirected Output (note that you can increase or 
  65. decrease the detail with the SAYLEVEL command). 
  66.  
  67.  
  68. ΓòÉΓòÉΓòÉ 3. General Syntax ΓòÉΓòÉΓòÉ
  69.  
  70. SYNTAX 
  71.  
  72. This section describes the basic syntax of the change file script. 
  73.  
  74. Leading (& trailing) whitespace on a line is ignored and tab characters are not 
  75. allowed. 
  76.  
  77. A line beginning with ";" is a comment line and is ignored.  If a line contains 
  78. "//" then the line is truncated immediately after the last whitespace prior to 
  79. the inline comment.  Note that you may need to use "//" in a line, in this case 
  80. add an inline comment to the end of the line as everything after the last "//" 
  81. is removed! 
  82.  
  83. A line which only contains spaces or is empty (blank) is treated as a comment 
  84. and is ignored. 
  85.  
  86. If a line begins with a "@" then its not displayed to the console (unless you 
  87. have turned "DEBUG" on). 
  88.  
  89. Commands are not case sensitive so that you might wish to use "DeleteLines" 
  90. instead of "DELETELINES" or "deletelines". 
  91.  
  92. You may wish to see the following elements which are common over many command: 
  93.  
  94.          qTextq 
  95.          qWildCardq 
  96.          Integer 
  97.          Positive Integer 
  98.  
  99.  
  100. ΓòÉΓòÉΓòÉ 3.1. qTextq ΓòÉΓòÉΓòÉ
  101.  
  102. QUOTED TEXT 
  103.  
  104. Many commands require quoted text, the only thing special about the quotes in 
  105. this program are that they can be almost any character (anything 
  106. non-alphanumeric), the only restriction are as follows: 
  107.  
  108.        1. The same quote character must appear at the start and end of the 
  109.           text. 
  110.        2. If another parameter follows then there must be at least one space 
  111.           after the end quote character. 
  112.  
  113.  EXAMPLES 
  114.  
  115.  The following are examples of valid quoted strings: 
  116.  
  117.          "A string" 
  118.          'Another string' 
  119.          ^A 'string' which contains "quotes"^ 
  120.          ΓûêABCΓûê 
  121.  
  122.  
  123. ΓòÉΓòÉΓòÉ 3.2. qWildcardq ΓòÉΓòÉΓòÉ
  124.  
  125. QUOTED WILDCARD SPECIFICATION 
  126.  
  127. A wildcard string is supplied as quoted text and is a way of specifying what 
  128. you wish to search for. 
  129.  
  130. By default the search will be case-insensitive, however this can be changed at 
  131. any time with the "CASESENSITIVE" command. 
  132.  
  133. The default wildcard character is "*" and depending on where its placed in the 
  134. string (or if it exists at all) it has different effects.  The following 
  135. describe the alternative ways you can use it: 
  136.  
  137.        1. EXACT MATCH 
  138.           If the string does not contain a wildcard character then you are 
  139.           looking for an exact match. 
  140.  
  141.        2. LINE BEGINS WITH 
  142.           If the string ends with the wildcard character then we will match if 
  143.           the text line matches the rest. 
  144.  
  145.        3. LINE ENDS WITH 
  146.           If the string begins with the wildcard character then we will match 
  147.           if the text line matches the rest. 
  148.  
  149.        4. LINE CONTAINS 
  150.           If the string begins & ends with the wildcard character then we will 
  151.           match if the text line contains the rest.  Note that the found string 
  152.           may start or end the line. 
  153.  
  154.        5. LINE BEGINS & ENDS WITH 
  155.           If the string contains a single wildcard character (not at start or 
  156.           end), then a line must start with the specified text as well as end 
  157.           with the specified text to match. 
  158.  
  159.  EXAMPLES 
  160.  
  161.          "Match Start of Line*" 
  162.          "*Match End of Line" 
  163.          "Match Start of Line*Match End of Line" 
  164.          "Match Whole Line" 
  165.          "*Match Part Of Line*" 
  166.  
  167.  
  168. ΓòÉΓòÉΓòÉ 3.3. Integer ΓòÉΓòÉΓòÉ
  169.  
  170. INTEGER 
  171.  
  172. This is any whole number supplied in the decimal number base.  A value of zero 
  173. may be valid depending on the command. 
  174.  
  175. You can supply "-all" or "all" for the number, this is translated into a "big" 
  176. number! 
  177.  
  178. Negative values are usually supplied to cause something to work backwards for 
  179. example "DELETELINES -2" would delete the current line and the line before this 
  180. one whereas "DELETELINES 2" would delete the current line and the one after 
  181. this. 
  182.  
  183.  
  184. ΓòÉΓòÉΓòÉ 3.4. Positive Integer ΓòÉΓòÉΓòÉ
  185.  
  186. POSITIVE INTEGER 
  187.  
  188. This is any whole positive number supplied in the decimal number base.  A value 
  189. of zero may be valid depending on the command. 
  190.  
  191.  
  192. ΓòÉΓòÉΓòÉ 4. Commands ΓòÉΓòÉΓòÉ
  193.  
  194. AVAILABLE COMMANDS 
  195.  
  196. The following commands function is to move the current position: 
  197.  
  198.          BOTTOM 
  199.          DOWN 
  200.          FIND 
  201.          MOVETO 
  202.          TOP 
  203.          UP 
  204.  
  205.  The following commands are are used to set internal variables which will be 
  206.  replaced in any future source lines (textual replacement): 
  207.  
  208.          #define 
  209.          #define+ 
  210.          EVALUATE 
  211.  
  212.  The following commands allow you to execute parts of your script conditionally 
  213.  (for example to bail out if the correct number of replacements in a 
  214.  "REPLACETEXT" command were not made): 
  215.  
  216.          #if 
  217.          #elseif 
  218.          #endif 
  219.          EXIT 
  220.  
  221.  The following commands are are used to determine how much output will be sent 
  222.  to the console and/or are used in debugging your scripts: 
  223.  
  224.          DEBUG 
  225.          SAYLEVEL 
  226.  
  227.  Other commands: 
  228.  
  229.          #comment 
  230.          #include 
  231.          CASESENSITIVE 
  232.          CHECKPOINT 
  233.          DELETEBLOCK 
  234.          DELETELINES 
  235.          EXECUTE 
  236.          INSERTLINE 
  237.          LIBPATH 
  238.          REPLACELINES 
  239.          REPLACETEXT 
  240.          SAY 
  241.          SETPATH 
  242.          WILDCARD 
  243.  
  244.  
  245. ΓòÉΓòÉΓòÉ 4.1. #comment ΓòÉΓòÉΓòÉ
  246.  
  247. #comment 
  248.  
  249. A #comment allows you to change the character sequences that indicate line and 
  250. inline comments. 
  251.  
  252. By default to comment a whole line you begin it with ';'. To comment part of a 
  253. line you use '//'. Depending on the changes you could be making these default 
  254. comment characters may be inconvenient. 
  255.  
  256. Syntax 
  257.  
  258.         [whitespace]#comment [whitespace]"LineCmtChars" [whitespace]"InLineCmtChars"[whitespace]
  259.  
  260. The "LineCmtChars" parameter determines the character or characters which 
  261. indicate that the whole line is a comment. 
  262.  
  263. The "InLineCmtChars" parameter determines the characters that begin an in line 
  264. comment. 
  265.  
  266. Example - #comment 
  267.  
  268. #comment ';'     ';;'
  269. #comment 'REM '  'REM '
  270.  
  271.  
  272. ΓòÉΓòÉΓòÉ 4.2. #define[+] ΓòÉΓòÉΓòÉ
  273.  
  274. #define[+] 
  275.  
  276. A #define can be used to define a value (constant) once and then refer to it 
  277. elsewhere.  It allows you to update one place and have all necessary change 
  278. flow though to all the statements that refer to it.  Another possible use would 
  279. be to "pass" parameters to a common piece of code which is included a number of 
  280. times in your script. 
  281.  
  282. The "#define+" variant of this command differs from "#define" in that any 
  283. variables that exist within the parameters to the command are expanded. With 
  284. the "#define" variant its only when you reference the contents that the 
  285. substitution takes place. See below for an example that may help clear up any 
  286. confusion. 
  287.  
  288. You can redefine the contents of a variable if you wish later on in the script. 
  289.  
  290. To use your #define'd variable simply enclose it with "{" and "}", the line 
  291. will be modified before its executed. 
  292.  
  293. If your script does not seem to do what you'd expect you should probably use 
  294. the "DEBUG" command. 
  295.  
  296. A #define does not affect the "${Rc}" variable unless the command is invalid!. 
  297.  
  298. Syntax 
  299.  
  300.         [whitespace]#define Variable [whitespace]"Contents"[whitespace]
  301.  
  302. The "Variable" is to be defined and whenever seen in following lines will be 
  303. replaced by the Contents. 
  304.  
  305. The line containing a #define does not itself have variables substituted.  What 
  306. this means is that if the "Contents" contains other definitions, the values of 
  307. these at the time of use will be used.  If this is not what is wanted (and it 
  308. would not be if you wanted to record the current value of a standard variable), 
  309. then you should use the EVALUATE command instead. 
  310.  
  311. Example - #define 
  312.  
  313. #define Test1 '*** REPLACE SOME LINES ***'
  314. @say  '{Test1}'
  315.  
  316. #define Test2 '"*** DELETE A BLOCK ***"'
  317. @say  {Test2}
  318.  
  319. Example - #define+ 
  320.  
  321. In this example we wish to comment out the current line by adding "REM" in 
  322. front of it.  If you replaced #define+ with #define in the following code this 
  323. would fail and you would actually have removed the current line and replaced it 
  324. with the commented out following line. 
  325.  
  326. #define+    TmpLine  ^${CurrentLine}^
  327. DeleteLines 1
  328. InsertLine  ^REM {TmpLine}^
  329.  
  330.  
  331. ΓòÉΓòÉΓòÉ 4.3. #elseif ΓòÉΓòÉΓòÉ
  332.  
  333. #elseif 
  334.  
  335. This command is used if you wish to have some lines included when the #if 
  336. condition is false. 
  337.  
  338. Example 
  339.  
  340. REPLACETEXT all 'Fred' 'Dennis'
  341. #if     '${ReplaceCount}' <> '7'
  342.         @exit 255 'Invalid Number of replacements, expected to make 7...'
  343. #elseif
  344.         @say  '*** Made 7 changes as expected... ***'
  345. #endif
  346.  
  347.  
  348. ΓòÉΓòÉΓòÉ 4.4. #endif ΓòÉΓòÉΓòÉ
  349.  
  350. #endif 
  351.  
  352. This command is used to terminate a previous #if command.  There should be a 
  353. matching #endif for every #if command. 
  354.  
  355. EXECUTE 'dir c:\os2\bitmap /od'
  356. #if     ${Rc} <> 0
  357.         EXIT  ${Rc}  "Dir command failed with RC = ${Rc}"
  358. #endif
  359.  
  360.  
  361. ΓòÉΓòÉΓòÉ 4.5. #if ΓòÉΓòÉΓòÉ
  362.  
  363. #if 
  364.  
  365. A #if can be used to conditionally include lines of text, this can be any other 
  366. type of line or command except #elseif or #endif.  As an example of its use, 
  367. #if allows you to terminate your script if you don't make the correct 
  368. (expected) number of changes in a "REPLACELINES" command. 
  369.  
  370. #if commands can be nested to any level and there need not be any lines between 
  371. a #if and a #endif or #elseif command. 
  372.  
  373. Syntax 
  374.  
  375.         [whitespace]#if [whitespace]ValidRexxCondition[whitespace]
  376.  
  377. The "ValidRexxCondition" specifies a valid rexx conditional test which results 
  378. in a TRUE or FALSE answer.  The condition may be as complex as you wish and may 
  379. include the special GetEnv() function to obtain information from the 
  380. environment. 
  381.  
  382. Example 
  383.  
  384. REPLACETEXT all 'Fred' 'Dennis'
  385. #if     '${ReplaceCount}' <> '7'
  386.         @exit 255 'Invalid Number of replacements, expected to make 7...'
  387. #elseif
  388.         @say  '*** Made 7 changes as expected... ***'
  389. #endif
  390.  
  391.  
  392. ΓòÉΓòÉΓòÉ 4.6. #include ΓòÉΓòÉΓòÉ
  393.  
  394. #include 
  395.  
  396. A #include can be used to include another file for processing. This allows you 
  397. to split a very large complicated script into smaller easier to understand 
  398. components or reuse a long sequence of lines "passing" parameters to the 
  399. included file via a "#define" or "evaluate" command. 
  400.  
  401. Syntax 
  402.  
  403.         [whitespace]#include [whitespace]FileName[whitespace]
  404.  
  405. The "FileName" specifies the file to be included. If the filename is or 
  406. contains #defined variables they will be replaced. 
  407.  
  408. In an attempt to be 'C' like the filename can be surrounded by "<" & ">" or 
  409. double quotes. 
  410.  
  411. Example 
  412.  
  413. Some examples follow: 
  414.  
  415.        1. #include "CHANGE.TEI" 
  416.        2. #include <CHANGE.TEI> 
  417.        3. #include <{TheIncludeFile}> 
  418.  
  419.  
  420. ΓòÉΓòÉΓòÉ 4.7. BOTTOM ΓòÉΓòÉΓòÉ
  421.  
  422. BOTTOM 
  423.  
  424. This command will move the current position to the last line in the file. 
  425.  
  426. Syntax 
  427.  
  428.         [whitespace]BOTTOM[whitespace]
  429.  
  430.  
  431. ΓòÉΓòÉΓòÉ 4.8. CASESENSITIVE ΓòÉΓòÉΓòÉ
  432.  
  433. CASESENSITIVE 
  434.  
  435. By default compares are case-insensitive you can change this with this command. 
  436.  
  437. Syntax 
  438.  
  439.         [whitespace]CASESENSITIVE [whitespace]ON|OFF[whitespace]
  440.  
  441.  
  442. ΓòÉΓòÉΓòÉ 4.9. CHECKPOINT ΓòÉΓòÉΓòÉ
  443.  
  444. CHECKPOINT 
  445.  
  446. All changes you make to the text file are made in memory and do not "take 
  447. effect" until you checkpoint the file. 
  448.  
  449. A return code ("${Rc}") of zero will indicate that we were successful.  You 
  450. could use "#if" to perform conditional processing based on the result and use 
  451. "exit" if you wish to treat the non-zero return code as a fatal error. 
  452.  
  453. Syntax 
  454.  
  455.         [whitespace]CHECKPOINT [whitespace]["FileName"][whitespace]
  456.  
  457. The "FileName" parameter specifies what file to checkpoint to, if not supplied 
  458. then it is the output file specified on the command line. 
  459.  
  460. EXAMPLE 
  461.  
  462. ;--- Make a backup file (.BK) in the same directory as source file ---
  463. @evaluate   'BackupFileName' 'left("${TextFileIn}", lastpos(".", "${TextFileIn}")) || "BK"'
  464. @say        'PROCESSING : ${TextFileIn}'
  465. @say        'BACKUP FILE: {BackupFileName}'
  466. @checkpoint '{BackupFileName}'                //Creating backup file
  467. @SAY        "Checkpoint Rc = ${Rc} (${RcReason})"
  468.  
  469.  
  470. ΓòÉΓòÉΓòÉ 4.10. DEBUG ΓòÉΓòÉΓòÉ
  471.  
  472. DEBUG 
  473.  
  474. This command is useful if your script is not doing what you expect it to. 
  475.  
  476. Syntax 
  477.  
  478.         [whitespace]DEBUG [whitespace]DebugCommand[whitespace]
  479.  
  480. The "DebugCommand" parameter specifies what we wish to do, it should be one of 
  481. the following: 
  482.  
  483.        1. DUMPVAR 
  484.           This will dump the contents of all variables you have defined with 
  485.           either #define or evaluate. 
  486.  
  487.        2. LISTPGM 
  488.           This will list your program (script) to the console. 
  489.  
  490.        3. FILESTATE 
  491.           This will list your text file as it currently stands to the console. 
  492.  
  493.        4. ON 
  494.           This turns debug on.  It turns on the "SAYLEVEL" to as high as it 
  495.           goes (and will ignore future "SAYLEVEL" commands).  While debug is on 
  496.           all commands to be displayed whether or not the line begins with a 
  497.           '@'.  You will see lines in which substitutions occurred both before 
  498.           & after. 
  499.  
  500.        5. OFF 
  501.           This turns debug off.  It restores the "SAYLEVEL" to the last one the 
  502.           script specified (even if this command was processed while debug was 
  503.           on. 
  504.  
  505.  
  506. ΓòÉΓòÉΓòÉ 4.11. DELETEBLOCK ΓòÉΓòÉΓòÉ
  507.  
  508. DELETEBLOCK 
  509.  
  510. This command could be used to delete a block of lines that you can identify 
  511. from the starting and ending lines. 
  512.  
  513. This command begins to search forwards from the current position so that you 
  514. may with to use the "TOP" command prior to its use. 
  515.  
  516. If you are inserting lines into CONFIG.SYS for a specific purpose then it would 
  517. be a good idea to generate comment lines lines to mark the start and end of 
  518. this block so that the next time you wish to reapply the same or newer changes 
  519. you can simply remove the block first and not need to delete each line 
  520. individually... 
  521.  
  522. A return code ("${Rc}") of zero will indicate that we were successful.  You 
  523. could use "#if" to perform conditional processing based on the result and use 
  524. "exit" if you wish to treat the non-zero return code as a fatal error. 
  525.  
  526. Syntax 
  527.  
  528.         [whitespace]DELETEBLOCK [whitespace]"FromLine" [[whitespace]"ToLine"][whitespace]
  529.  
  530. The "FromLine" parameter identifies what the first line to be deleted should 
  531. look like. 
  532.  
  533. The "ToLine" parameter identifies what the last line to be deleted should look 
  534. like.  Note that it is valid for the resultant "block" to be 1 line long.  This 
  535. parameter is optional, if not specified then this value is taken from the 
  536. "FromLine" value. 
  537.  
  538. EXAMPLE 
  539.  
  540. TOP
  541. WILDCARD '~'
  542. DELETEBLOCK  'REM ******** APS'     "~END - APS"
  543. DELETEBLOCK  'DEVICE=C:\THIS.SYS'
  544. WILDCARD '*'
  545.  
  546.  
  547. ΓòÉΓòÉΓòÉ 4.12. DELETELINES ΓòÉΓòÉΓòÉ
  548.  
  549. DELETELINES 
  550.  
  551. This command could be used to delete a block of lines (forwards or backwards) 
  552. from (and including) the current position. 
  553.  
  554. A return code ("${Rc}") of zero will indicate that we were successful.  You 
  555. could use "#if" to perform conditional processing based on the result and use 
  556. "exit" if you wish to treat the non-zero return code as a fatal error. 
  557.  
  558. Syntax 
  559.  
  560.         [whitespace]DELETELINES [whitespace][DeleteCount][whitespace]
  561.  
  562. The "DeleteCount" parameter specifies how many lines to delete.  A negative 
  563. value means delete backwards. 
  564.  
  565. EXAMPLE 
  566.  
  567. ;--- Delete the 2nd line ---
  568. MOVETO 2
  569. DELETELINES
  570. BOTTOM
  571. @SAY  'Current Posn @bottom = "${CurrentPosn}"'
  572. DELETELINES
  573. @say  'Deleted the last line, Rc = ${Rc} (${RcReason})'
  574. @SAY  'Current Posn @bottom = "${CurrentPosn}" (should be 1 less than before)'
  575. DELETELINES 4
  576. @say  'Deleted the last line (tried for 4), Rc = ${Rc} (${RcReason})'
  577. @SAY  'Current Posn @bottom = "${CurrentPosn}" (should be 1 less than before)'
  578. DELETELINES -2
  579. @say  'The above DELETE should delete 2 lines (backwards & work), Rc = ${Rc} (${RcReason})'
  580. @SAY  'Current Posn @bottom = "${CurrentPosn}" (should be 2 less than before)'
  581.  
  582.  
  583. ΓòÉΓòÉΓòÉ 4.13. DOWN ΓòÉΓòÉΓòÉ
  584.  
  585. DOWN 
  586.  
  587. This command will move the current position down by the amount specified. 
  588.  
  589. A return code ("${Rc}") of zero will indicate that we could move as far as 
  590. requested otherwise.  In any case the current position is moved as far as 
  591. possible.  You could use "#if" to perform conditional processing based on the 
  592. result and use "exit" if you wish to treat the non-zero return code as a fatal 
  593. error. 
  594.  
  595. Syntax 
  596.  
  597.         [whitespace]DOWN [whitespace][Amount][whitespace]
  598.  
  599. The "Amount" parameter specifies how many lines down we will attempt to move, 
  600. the default being 1. 
  601.  
  602. EXAMPLE 
  603.  
  604. DOWN
  605. DOWN 2
  606.  
  607.  
  608. ΓòÉΓòÉΓòÉ 4.14. EVALUATE ΓòÉΓòÉΓòÉ
  609.  
  610. EVALUATE 
  611.  
  612. This command performs a similar function to the #define command in that the 
  613. result is stored and is used if the variable name is enclosed with "{" & "}". 
  614.  
  615. You would use this command (over #define) for one of the following main 
  616. reasons: 
  617.  
  618.        1. You wish to substitution to occur immediately and not be delayed like 
  619.           that that occurs when the #define command is used. 
  620.  
  621.        2. You wish to get some some data from rexx. 
  622.  
  623.        3. You wish to perform arithmetic or other similar operation. 
  624.  
  625.        4. You wish to get some information out of the environment. 
  626.  
  627.  The evaulate command will handle syntax errors and unknown variables and will 
  628.  generate an internal syntax error if one of these events occurs.  A return 
  629.  code ("${Rc}") of zero will indicate that we were successful.  You could use 
  630.  "#if" to perform conditional processing based on the result and use "exit" if 
  631.  you wish to treat the non-zero return code as a fatal error. 
  632.  
  633.  Syntax 
  634.  
  635.           [whitespace]EVALUATE [whitespace]"Variable" [whitespace]["Expression"][whitespace]
  636.  
  637.  The "Variable" parameter is the name of the #define variable you wish created 
  638.  or updated.  Note that it is possible to execute a rexx command which does not 
  639.  directly return a result that can be assigned via a "=" sign if the variable 
  640.  parameter is blank. 
  641.  
  642.  The "Expression" parameter is executed by rexx and the result assigned to a 
  643.  variable (Variable = Expression).  If its not supplied then its assumed you 
  644.  wish to get the value of a rexx variable with the same name.  The expression 
  645.  currently supports the "GetEnv()" function. 
  646.  
  647.  EXAMPLE 
  648.  
  649.  The following command uses evaluate to work out what a good name for a backup 
  650.  file would be and creates one (it does assume the source has an extension): 
  651.  
  652.   ;--- Make a backup of the file (use .BK extension) --------------------------
  653.   @say
  654.   @say  '*************************************************************************'
  655.   @say  '*** Make a backup of the file'
  656.   @say
  657.   @evaluate 'BackupFileName' 'left("${TextFileIn}", lastpos(".", "${TextFileIn}")) || "BK"'
  658.   @say 'PROCESSING : ${TextFileIn}'
  659.   @say 'BACKUP FILE: {BackupFileName}'
  660.   @checkpoint '{BackupFileName}'                //Creating backup file
  661.   @SAY  "Checkpoint Rc = ${Rc} (${RcReason})"
  662.   @say
  663.  
  664.  Other examples: 
  665.  
  666.          evaluate Answer      (5 + 6) * 11 
  667.          evaluate TotalTextChanges {TotalTextChanges} + ${ReplaceCount} 
  668.  
  669.  
  670. ΓòÉΓòÉΓòÉ 4.15. EXECUTE ΓòÉΓòÉΓòÉ
  671.  
  672. EXECUTE 
  673.  
  674. This command can be used to execute any OS/2 (or DOS for that matter) command 
  675. line. 
  676.  
  677. A return code ("${Rc}") of zero will indicate that we were successful.  You 
  678. could use "#if" to perform conditional processing based on the result and use 
  679. "exit" if you wish to treat the non-zero return code as a fatal error. 
  680.  
  681. Syntax 
  682.  
  683.         [whitespace]EXECUTE [whitespace]"Command"[whitespace]
  684.  
  685. The "Command" parameter is the command line we wish executed.  The command 
  686. should not require user input (unless you like supplying it!). 
  687.  
  688. EXAMPLE 
  689.  
  690. @say
  691. @say  '*************************************************************************'
  692. EXECUTE 'copy {TextFileIn} C:\TEXTEDIT.LST'
  693. #if     ${Rc} <> 0
  694.         EXIT  ${Rc}  "Could not backup '{TextFileIn}', copy command failed with RC = ${Rc}"
  695. #endif
  696.  
  697.  
  698. ΓòÉΓòÉΓòÉ 4.16. EXIT ΓòÉΓòÉΓòÉ
  699.  
  700. EXIT 
  701.  
  702. This command can be used to finish your script, it would usually be within a 
  703. #if/#endif block. 
  704.  
  705. Syntax 
  706.  
  707.         [whitespace]EXIT [whitespace]Rc [whitespace]["SayText"][whitespace]
  708.  
  709. The "Rc" parameter is the command line we wish to exit with, the value may be 
  710. zero.  If the value is 0 you will still get a non-zero return code if a syntax 
  711. error occurred in your script. 
  712.  
  713. The optional "SayText" if supplied will be displayed to the console (no matter 
  714. what the current SAYLEVEL). 
  715.  
  716. EXAMPLE 
  717.  
  718. TOP
  719. DOWN
  720. DOWN
  721. REPLACETEXT all 'Fred' 'Dennis'
  722. #if     '${ReplaceCount}' <> '7'
  723.         @exit 255 'Invalid Number of replacements, expected to make 7...'
  724. #elseif
  725.         @say  '*** Made 7 changes as expected... ***'
  726. #endif
  727.  
  728.  
  729. ΓòÉΓòÉΓòÉ 4.17. FIND ΓòÉΓòÉΓòÉ
  730.  
  731. FIND 
  732.  
  733. This command will perform a search forwards or backwards for a line matching 
  734. your supplied specification.  You can tell it to look for the 4th line if you 
  735. wish. 
  736.  
  737. Syntax 
  738.  
  739.         [whitespace]FIND [whitespace]Count [whitespace]"FindWhat"[whitespace]
  740.  
  741. The "Count" parameter is the number of the found line we wish to stop on, for 
  742. example this allows us to search for the 3rd line containing "delete".  Note 
  743. that we are counting the lines containing the text and not text matches within 
  744. lines. 
  745.  
  746. The "FindWhat" parameter specifies what we are looking for. 
  747.  
  748. EXAMPLE 
  749.  
  750. TOP
  751. FIND  -999  '*Prj*'
  752. @SAY  'Should not have move current position as search should fail. - CurrentLine = ${CurrentPosn}, FindRc = ${Rc}'
  753. #if ${Rc} <> 0
  754.     EXIT  255  "Could not find the required string"
  755. #endif
  756.  
  757.  
  758. ΓòÉΓòÉΓòÉ 4.18. INSERTLINE ΓòÉΓòÉΓòÉ
  759.  
  760. INSERTLINE 
  761.  
  762. This command could be used to insert lines after the current position.  Once 
  763. the line has been inserted the current position is updated so that the next 
  764. "INSERTLINE" command will insert a line following this one. 
  765.  
  766. A return code ("${Rc}") of zero will indicate that we were successful.  You 
  767. could use "#if" to perform conditional processing based on the result and use 
  768. "exit" if you wish to treat the non-zero return code as a fatal error. 
  769.  
  770. Syntax 
  771.  
  772.         [whitespace]INSERTLINE [whitespace]"NewLine"[whitespace]
  773.  
  774. The "NewLine" parameter is the complete text of the line. 
  775.  
  776. EXAMPLE 
  777.  
  778. @say  '*** Go to top & bottom and insert 3 lines ***'
  779. TOP
  780. InsertLine "****** NewTopLine ******"
  781. InsertLine "****** NewTopLine+1 ******"
  782. InsertLine "****** NewTopLine+2 ******"
  783. @say
  784. BOTTOM
  785. InsertLine "****** NewEndLine-2 ******"
  786. InsertLine "****** NewEndLine-1 ******"
  787. InsertLine "****** NewEndLine   ******"
  788.  
  789.  
  790. ΓòÉΓòÉΓòÉ 4.19. LIBPATH ΓòÉΓòÉΓòÉ
  791.  
  792. LIBPATH 
  793.  
  794. This command is used to modify the libpath. 
  795.  
  796. Syntax 
  797.  
  798.        [whitespace]LIBPATH [whitespace]DELETE|ADDSTART|ADDEND [whitespace]"PathList"[whitespace]
  799.   OR  [whitespace]LIBPATH [whitespace]ADDAFTER|ADDBEFORE [whitespace]"LookForPath" [whitespace]"AddPathList"[whitespace]
  800.  
  801. Please see the "SETPATH" command for an explanation of the parameters. 
  802.  
  803. EXAMPLE 
  804.  
  805. LIBPATH  DELETE                  "C:\DB\UTILP;C:\SUPPORT;C:\EXPORT\SUE;C:\DEVCON\DLL"
  806. LIBPATH  ADDSTART                "C:\AT\START\OF\LIBPATH1;C:\AT\START\OF\LIBPATH2"
  807. LIBPATH  ADDEND                  "C:\AT\END\OF\LIBPATH1;C:\AT\END\OF\LIBPATH2"
  808. LIBPATH  ADDBEFORE 'C:\NETWARE'  "W:\BEFORE\C\NETWARE"
  809. LIBPATH  ADDAFTER  'c:\netware'  "W:\AFTER\C\NETWARE"
  810. LIBPATH  ADDAFTER  'c:\WontFind' "W:\ADDED\TO\START\WITH\RC"
  811.  
  812.  
  813. ΓòÉΓòÉΓòÉ 4.20. MOVETO ΓòÉΓòÉΓòÉ
  814.  
  815. MOVETO 
  816.  
  817. This command will move the current position to the location specified.  If 
  818. there are not enough lines to move to the position specified the last line 
  819. becomes the current location. 
  820.  
  821. A return code ("${Rc}") of zero will indicate that we could move as far as 
  822. requested.  You could use "#if" to perform conditional processing based on the 
  823. result and use "exit" if you wish to treat the non-zero return code as a fatal 
  824. error. 
  825.  
  826. Syntax 
  827.  
  828.         [whitespace]MOVETO [whitespace]LineNumberOrZero[whitespace]
  829.  
  830. The "LineNumberOrZero" parameter specifies the line number we want. 
  831.  
  832. EXAMPLE 
  833.  
  834. ;--- Test remember current location an go back to it ------------------------
  835. @TOP
  836. @DOWN 13
  837. @evaluate 'SavedPosition' '${CurrentPosn}'
  838. @BOTTOM
  839. @SAY  'Now at current Position = ${CurrentPosn}'
  840. @MOVETO {SavedPosition}
  841. @SAY  'After Posn Restore, current Position = ${CurrentPosn}'
  842.  
  843.  
  844. ΓòÉΓòÉΓòÉ 4.21. REPLACELINES ΓòÉΓòÉΓòÉ
  845.  
  846. REPLACELINES 
  847.  
  848. This command will replace lines (that match your specification) from the 
  849. current position forwards or backwards with a line of text that you specify. 
  850. The current position is not moved by this command. 
  851.  
  852. A return code ("${Rc}") of zero will indicate that we were successful.  You 
  853. could use "#if" to perform conditional processing based on the result and use 
  854. "exit" if you wish to treat the non-zero return code as a fatal error. 
  855.  
  856. Syntax 
  857.  
  858.         [whitespace]REPLACELINES [whitespace]HowMany [whitespace]["LookFor"]: [whitespace]["ReplaceWith"][whitespace]
  859.  
  860. The "HowMany" parameter specifies up to how many replacements you would like 
  861. made (and the direction).  The "LookFor" parameter specifies what lines should 
  862. be replaced with "ReplaceWith". 
  863.  
  864. EXAMPLE 
  865.  
  866. @top
  867. REPLACELINES all "~COBOL~" "REM **** COBOL LINE WAS HERE ****"
  868. @say         'Made ${ReplaceCount} changes...'
  869.  
  870.  
  871. ΓòÉΓòÉΓòÉ 4.22. REPLACETEXT ΓòÉΓòÉΓòÉ
  872.  
  873. REPLACETEXT 
  874.  
  875. This command will replace occurances of a string that you specify with another. 
  876. You specify the maximum number that should be replaced as well as the direction 
  877. from the current position.  The current position is not moved by this command. 
  878.  
  879. Note that currently there is a 'feature' in backwards replacing that if you are 
  880. restricting the number of replacements that can occur the replace within a line 
  881. you may notice that the replacement occurs left to right whereas logically it 
  882. should be right to left! 
  883.  
  884. A return code ("${Rc}") of zero will indicate that we were successful.  You 
  885. could use "#if" to perform conditional processing based on the result and use 
  886. "exit" if you wish to treat the non-zero return code as a fatal error. 
  887.  
  888. Syntax 
  889.  
  890.         [whitespace]REPLACETEXT [whitespace]HowMany [whitespace]["LookFor"]: [whitespace]["ReplaceWith"][whitespace]
  891.  
  892. The "HowMany" parameter specifies up to how many replacements you would like 
  893. made (and the direction).  The "LookFor" parameter specifies what text should 
  894. be replaced with "ReplaceWith". 
  895.  
  896. Note that unlike other commands the search and replace is case sensitive and is 
  897. not affected by the "CASESENSITIVE" command and that it can not include 
  898. wildcard characters. 
  899.  
  900. EXAMPLE 
  901.  
  902. TOP
  903. DOWN
  904. DOWN
  905. REPLACETEXT all 'Fred' 'Dennis'
  906. @say         'Made ${ReplaceCount} changes...'
  907.  
  908.  
  909. ΓòÉΓòÉΓòÉ 4.23. SAY ΓòÉΓòÉΓòÉ
  910.  
  911. SAY 
  912.  
  913. This command will output the text you specify to the console.  It will be 
  914. output no matter what SAYLEVEL is in effect. 
  915.  
  916. A return code ("${Rc}") of zero will indicate that we were successful.  You 
  917. could use "#if" to perform conditional processing based on the result and use 
  918. "exit" if you wish to treat the non-zero return code as a fatal error. 
  919.  
  920. Syntax 
  921.  
  922.         [whitespace]SAY [whitespace]["Text"][whitespace]
  923.  
  924. The "Text" parameter specifies what you wish output to the console.  If you 
  925. don't supply the text then a blank line is output. 
  926.  
  927. EXAMPLE 
  928.  
  929. @say  '*************************************************************************'
  930. @say        '*** Make a backup of the file'
  931. @say        'PROCESSING : ${TextFileIn}'
  932. @say        'BACKUP FILE: {BackupFileName}'
  933. @checkpoint '{BackupFileName}'                //Creating backup file
  934. @SAY        "Checkpoint Rc = ${Rc} (${RcReason})"
  935. @say
  936.  
  937.  
  938. ΓòÉΓòÉΓòÉ 4.24. SAYLEVEL ΓòÉΓòÉΓòÉ
  939.  
  940. SAYLEVEL 
  941.  
  942. This command can be used to increase or decrease the amount of information sent 
  943. to the console.  It only takes affect outside of "DEBUG" mode. 
  944.  
  945. Syntax 
  946.  
  947.         [whitespace]SAYLEVEL [whitespace]NewLevel[whitespace]
  948.  
  949. The "NewLevel" parameter specifies to what level you wish to see output. to the 
  950. console.  If you don't supply the text then a blank line is output. 
  951.  
  952. The levels are as follows: 
  953.  
  954.         0. See only SAY & EXIT output.
  955.         1. See syntax error information.
  956.         2. See non-zero return code info.
  957.         3. See informational messages.
  958.         4+ ?
  959.  
  960. EXAMPLE 
  961.  
  962. ;--- Lowest level ---
  963. SAYLEVEL 0
  964.  
  965. ;--- Don't get much however will see if you get a syntax error ---
  966. SAYLEVEL 1
  967.  
  968. ;--- Highest level ---
  969. SAYLEVEL all
  970.  
  971.  
  972. ΓòÉΓòÉΓòÉ 4.25. SETPATH ΓòÉΓòÉΓòÉ
  973.  
  974. SETPATH 
  975.  
  976. This command is used to modify the a line of the form: 
  977.  
  978.         [whitespace]SET [whitespace]Variable=PathsSeperatedBySemiColons
  979. For example: 
  980.  
  981. SET    TMP=C:\TMP
  982.     SET TMPDIR=C:\TMP
  983.     SET  SMTMP=C:\TMP
  984. SET   TEMP=C:\TMP
  985.  
  986. Syntax 
  987.  
  988.         [whitespace]SETPATH [whitespace]Variable [whitespace]DELETE|ADDSTART|ADDEND [whitespace]"PathList"[whitespace]
  989.    OR  [whitespace]SETPATH [whitespace]Variable [whitespace]ADDAFTER|ADDBEFORE [whitespace]"LookForPath" [whitespace]"AddPathList"[whitespace]
  990.  
  991. The "Variable" specifies the environment variable that we are looking to 
  992. change.  The "PathList" and "AddPathList" parameters are lists of 1 or more 
  993. paths seperated by semicolons.  The "LookForPath" parameter is what to search 
  994. for as we wish to add path(s) before or after this path (if not found we insert 
  995. at the beginning). 
  996.  
  997. EXAMPLE 
  998.  
  999. SETPATH 'Path'    DELETE                  "C:\"
  1000. SETPATH 'Path'    ADDBEFORE "C:\OS2"      "C:\BATCH;C:\UTILP"
  1001. SETPATH 'PrjDir'  ADDEND                  "C:\AT\END"
  1002. SETPATH 'PrjDir'  ADDSTART                "C:\AT\START1;C:\AT\START2"
  1003.  
  1004.  
  1005. ΓòÉΓòÉΓòÉ 4.26. TOP ΓòÉΓòÉΓòÉ
  1006.  
  1007. TOP 
  1008.  
  1009. This command will move the current position to before the first line in the 
  1010. file. 
  1011.  
  1012. Syntax 
  1013.  
  1014.         [whitespace]TOP[whitespace]
  1015.  
  1016.  
  1017. ΓòÉΓòÉΓòÉ 4.27. UP ΓòÉΓòÉΓòÉ
  1018.  
  1019. UP 
  1020.  
  1021. This command will move the current position up by the amount specified. 
  1022.  
  1023. A return code ("${Rc}") of zero will indicate that we could move as far as 
  1024. requested otherwise.  In any case the current position is moved as far as 
  1025. possible.  You could use "#if" to perform conditional processing based on the 
  1026. result and use "exit" if you wish to treat the non-zero return code as a fatal 
  1027. error. 
  1028.  
  1029. Syntax 
  1030.  
  1031.         [whitespace]UP [whitespace][Amount][whitespace]
  1032.  
  1033. The "Amount" parameter specifies how many lines up we will attempt to move, the 
  1034. default being 1. 
  1035.  
  1036. EXAMPLE 
  1037.  
  1038. UP
  1039. UP 2
  1040.  
  1041.  
  1042. ΓòÉΓòÉΓòÉ 4.28. WILDCARD ΓòÉΓòÉΓòÉ
  1043.  
  1044. WILDCARD 
  1045.  
  1046. The default wildcard character is "*", if you are looking for a string which 
  1047. needs to contain this character then you must change the current wildcard to 
  1048. something not contained in what you are searching for. 
  1049.  
  1050. Syntax 
  1051.  
  1052.         [whitespace]WILDCARD [whitespace]"NewWildcardChar"[whitespace]
  1053.  
  1054. The "NewWildcardChar" is a single character to replace the current wildcard 
  1055. character (initially '*').  It is recommended that the character you choose be 
  1056. an uncommon character. 
  1057.  
  1058. Example 
  1059.  
  1060. TOP
  1061. WILDCARD     '~'
  1062. DELETEBLOCK  'REM ******** APS'     "~END - APS"
  1063. WILDCARD     '*'
  1064.  
  1065.  
  1066. ΓòÉΓòÉΓòÉ 5. Standard Variables ΓòÉΓòÉΓòÉ
  1067.  
  1068. Standard Variables 
  1069.  
  1070. The following standard variables are available for subsitution into your 
  1071. script: 
  1072.  
  1073.          ${Rc} 
  1074.          ${RcReason} 
  1075.          ${CurrentPosn} 
  1076.          ${CurrentLine} 
  1077.          ${ReplaceCount} 
  1078.          ${ReplacedLine} 
  1079.          ${TextFileIn} 
  1080.          ${TextFileOut} 
  1081.          ${ChangeFile} 
  1082.          ${ChangeTime} 
  1083.          ${Parameters} 
  1084.          ${Version} 
  1085.          ${SyntaxErrorCount} 
  1086.  
  1087.  
  1088. ΓòÉΓòÉΓòÉ 5.1. ${Rc} ΓòÉΓòÉΓòÉ
  1089.  
  1090. ${Rc} 
  1091.  
  1092. Most commands will update the return code to indicate whether they worked 
  1093. without exception or not.  A return code of 0 is best but a non zero return 
  1094. code need not indicate a failure, for example if you use "DOWN 12345", the 
  1095. chances are it will return a non-zero return code because the file you are 
  1096. editing is probably not that big.  The current position was however moved to 
  1097. the end of the file and this may have been what you wanted. 
  1098.  
  1099. To display an error it is recommended that you display "${RcReason}" as well as 
  1100. this value. 
  1101.  
  1102. If a command sets a non-zero return code you will by default see this recorded 
  1103. to the console (you can hide this with the SAYLEVEL command). 
  1104.  
  1105.  
  1106. ΓòÉΓòÉΓòÉ 5.2. ${RcReason} ΓòÉΓòÉΓòÉ
  1107.  
  1108. ${RcReason} 
  1109.  
  1110. This is a textual reason for the non-zero return code in the "${Rc}" variable. 
  1111.  
  1112.  
  1113. ΓòÉΓòÉΓòÉ 5.3. ${CurrentPosn} ΓòÉΓòÉΓòÉ
  1114.  
  1115. ${CurrentPosn} 
  1116.  
  1117. This variable can be used to find out what the current position is. 
  1118.  
  1119.  
  1120. ΓòÉΓòÉΓòÉ 5.4. ${CurrentLine} ΓòÉΓòÉΓòÉ
  1121.  
  1122. ${CurrentLine} 
  1123.  
  1124. This variable can be used to get the text of the line at the current position. 
  1125.  
  1126. Note assuming that the file is completely empty the string "<FileEmpty>" will 
  1127. be returned. 
  1128.  
  1129.  
  1130. ΓòÉΓòÉΓòÉ 5.5. ${ReplaceCount} ΓòÉΓòÉΓòÉ
  1131.  
  1132. ${ReplaceCount} 
  1133.  
  1134. Commands that perform replacements update this variable to indicate how many 
  1135. changes were made. 
  1136.  
  1137.  
  1138. ΓòÉΓòÉΓòÉ 5.6. ${ReplacedLine} ΓòÉΓòÉΓòÉ
  1139.  
  1140. ${ReplacedLine} 
  1141.  
  1142. This variable can only be used in the REPLACELINES command and can be used to 
  1143. refer to the line that is about to be replaced. 
  1144.  
  1145.  
  1146. ΓòÉΓòÉΓòÉ 5.7. ${TextFileIn} ΓòÉΓòÉΓòÉ
  1147.  
  1148. ${TextFileIn} 
  1149.  
  1150. This is the name of the input text file which was specified on the command 
  1151. line. 
  1152.  
  1153.  
  1154. ΓòÉΓòÉΓòÉ 5.8. ${TextFileOut} ΓòÉΓòÉΓòÉ
  1155.  
  1156. ${TextFileOut} 
  1157.  
  1158. This is the name of the output text file which was specified on the command 
  1159. line. 
  1160.  
  1161.  
  1162. ΓòÉΓòÉΓòÉ 5.9. ${ChangeFile} ΓòÉΓòÉΓòÉ
  1163.  
  1164. ${ChangeFile} 
  1165.  
  1166. This is the name of the input script file which was specified on the command 
  1167. line. 
  1168.  
  1169.  
  1170. ΓòÉΓòÉΓòÉ 5.10. ${ChangeTime} ΓòÉΓòÉΓòÉ
  1171.  
  1172. ${ChangeTime} 
  1173.  
  1174. This is the current date/time and may change from use to use.  If you wish a 
  1175. constant value then one way would be to copy the current time using the 
  1176. EVALUATE command. 
  1177.  
  1178.  
  1179. ΓòÉΓòÉΓòÉ 5.11. ${Parameters} ΓòÉΓòÉΓòÉ
  1180.  
  1181. ${Parameters} 
  1182.  
  1183. This is the optional parameters that were specified on the command line. 
  1184.  
  1185. Note that you may parse these parameters in any way you wish as is demonstrated 
  1186. in a simplistic example below: 
  1187.  
  1188. ;--- Get the passed parameters ----------------------------------------------
  1189. ;debug on
  1190. @evaluate ""   "parse value '${Parameters}' with PcType Step Crap"
  1191. #if Crap <> ''
  1192.     exit 1000  "Too many parameters, only expected 2 (Parameters=${Parameters})"
  1193. #endif
  1194. #if Step = ''
  1195.     exit 1001  "Too few parameters, expected 2 (Parameters=${Parameters})"
  1196. #endif
  1197. @evaluate  ''  'PcType = translate(PcType)'
  1198. @evaluate  ''  'Step   = translate(Step)'
  1199. #if PcType <> 'SERVER' & PcType <> 'WORKSTATION'
  1200.     exit 1002  "Invalid PcType parameter (PcType={PcType})"
  1201. #endif
  1202. #if Step <> 'SUE' & Step <> 'RETAIL'
  1203.     exit 1003  "Invalid Step parameter (PcType={Step})"
  1204. #endif
  1205.  
  1206. ;--- Output passed parameters to console ------------------------------------
  1207. @evaluate  'PcType'  'PcType'    //Copy Rexx variable
  1208. @evaluate  'Step'    'Step'      //Copy Rexx variable
  1209. @say 'PcType: {PcType}'
  1210. @say 'Step  : {Step}'
  1211.  
  1212.  
  1213. ΓòÉΓòÉΓòÉ 5.12. ${Version} ΓòÉΓòÉΓòÉ
  1214.  
  1215. ${Version} 
  1216.  
  1217. This is the version number of this program.  You can use this to make sure that 
  1218. you are using a current version of the product.  It has the form YY.DDD where 
  1219. YY=Year and DDD=Day of Year. 
  1220.  
  1221.  
  1222. ΓòÉΓòÉΓòÉ 5.13. ${SyntaxErrorCount} ΓòÉΓòÉΓòÉ
  1223.  
  1224. ${SyntaxErrorCount} 
  1225.  
  1226. This is total number of syntax errors that have occurred since the script 
  1227. started. 
  1228.  
  1229.  
  1230. ΓòÉΓòÉΓòÉ 6. Example ΓòÉΓòÉΓòÉ
  1231.  
  1232. The following examples are available: 
  1233.  
  1234.        1. Input Script 
  1235.        2. Text Input 
  1236.        3. Text Output 
  1237.        4. Console Output 
  1238.  
  1239.  The input script converts the input text file to the text output. The console 
  1240.  output was redirected.  The command used for the example was: 
  1241.  
  1242.       TEXTEDIT.CMD  EXAMPLE.IN  OUT\EXAMPLE.OUT  EXAMPLE.TE  >  OUT\EXAMPLE.CON
  1243.  
  1244.  
  1245. ΓòÉΓòÉΓòÉ 6.1. Input Script ΓòÉΓòÉΓòÉ
  1246.  
  1247. Example Input Script - EXAMPLE.TE 
  1248.  
  1249. ;saylevel 0
  1250. debug ON
  1251.  
  1252. ;--- Try some EVALUATE calls which will fail badly! -------------------------
  1253. evaluate "SyntaxError"     "x()"
  1254. evaluate "UnknownVariable" "X + Y"
  1255.  
  1256. ;--- Make a BACKUP of the file (use .BK extension) --------------------------
  1257. @say
  1258. @say  '*************************************************************************'
  1259. @say  '*** Make a BackUp of the file'
  1260. @say
  1261. @evaluate 'BackUpFileName' 'left("${TextFileIn}", lastpos(".", "${TextFileIn}")) || "BK"'
  1262. @say 'PROCESSING : ${TextFileIn}'
  1263. @say 'BACKUP FILE: {BackUpFileName}'
  1264. @checkpoint '{BackUpFileName}'                //Creating BackUp file
  1265. @say  "Checkpoint Rc = ${Rc} (${RcReason})"
  1266. @say
  1267.  
  1268.  
  1269.  
  1270. @say
  1271. @say  '*************************************************************************'
  1272. #define Test1 '*** REPLACE SOME LINES'
  1273. @say  '{Test1}'
  1274. @top
  1275. wildcard '~'
  1276. replacelines all "~COBOL~" "REM **** COBOL LINE WAS HERE ****"
  1277.  
  1278.  
  1279. @say
  1280. @say  '*************************************************************************'
  1281. #define Test2 '"*** DELETE A BLOCK"'
  1282. @say  {Test2}
  1283. bottom
  1284. deleteblock  '~ APS'     "~END - APS"
  1285. @say  'This should fail as we are past the start & end of this block (FindRc = ${Rc})'
  1286. top
  1287. deleteblock  'REM ******** APS'     "~END - APS"
  1288. @say  'This should work (FindRc = ${Rc})'
  1289. deleteblock  'DEVICE=C:\DB\FIXES\PNPENABL.OS2'
  1290. @say  'This should work (FindRc = ${Rc})'
  1291. wildcard '*'
  1292.  
  1293.  
  1294. @say
  1295. @say  '*************************************************************************'
  1296. @say  '*** Find some strings'
  1297. top
  1298. casesensitive ON
  1299. find  -1   "Should fail can't search backwards from Top!"
  1300. casesensitive OFF
  1301. find  1    '*Prj*'
  1302. @say  '1st  "*Prj*" in file is on line #${CurrentPosn} - Case insensitive search - FindRc = ${Rc}'
  1303. @top
  1304. find  3    '*Prj*'
  1305. @say  '3rd  "*Prj*" in file is on line #${CurrentPosn} - Case insensitive search - FindRc = ${Rc}'
  1306. bottom
  1307. casesensitive ON
  1308. find  -1    '*Prj*'
  1309. @say  'Last "*Prj*" in file is on line #${CurrentPosn} - Case Sensitive search - FindRc = ${Rc}'
  1310. find  -3    '*Prj*'
  1311. @say  '3rd Last "*Prj*" in file is on line #${CurrentPosn} - Case Sensitive search - FindRc = ${Rc}'
  1312. find  -999  '*Prj*'
  1313. @say  'Should not have move current position as search should fail. - CurrentLine = ${CurrentPosn}, FindRc = ${Rc}'
  1314. ;#if ${Rc} <> 0
  1315. ;    exit  255  "Could not locate the required string"
  1316. ;#endif
  1317.  
  1318.  
  1319. ;--- Add C:\XYZ to 'PrjDir' path --------------------------------------------
  1320. @say
  1321. @say  '*************************************************************************'
  1322. @say  '*** Adjust some paths'
  1323. libpath           DELETE                 "C:\DB\UTILP;Q:\PROD.EXP\SUE;C:\SUPPORT;C:\EXPORT\SUE"
  1324. libpath           ADDSTART               "C:\AT\START\OF\LIBPATH1;C:\AT\START\OF\LIBPATH2"
  1325. libpath           ADDEND                 "C:\AT\END1;AT\END2"
  1326. libpath           ADDBEFORE 'C:\NETWARE'  "BEFORE\NW"
  1327. libpath           ADDAFTER  'c:\netware'  "AFTER\NW"
  1328. libpath           ADDAFTER  'c:\WontFind' "ADDED\TO\START\WITH\RC"
  1329. setpath 'PrjDir'  ADDEND                  "AT\END"
  1330. setpath 'PrjDir'  ADDSTART                "AT\START1;AT\START2"
  1331.  
  1332. ;--- Get some environment variables -----------------------------------------
  1333. @say
  1334. @say  '*************************************************************************'
  1335. @evaluate 'EnvVarPrompt' 'GetEnv("Prompt")'
  1336. @say 'THE CURRENT PROMPT IS "{EnvVarPrompt}"'
  1337.  
  1338. ;--- Execute a command which should work ------------------------------------
  1339. @say
  1340. @say  '*************************************************************************'
  1341. execute 'dir e:\os2\bitmap /od'
  1342. #if     ${Rc} <> 0
  1343.         exit  ${Rc}  "Dir command failed with RC = ${Rc}"
  1344. #endif
  1345. @say
  1346.  
  1347. ;--- Test remember current location an go back to it ------------------------
  1348. @say
  1349. @say  '*************************************************************************'
  1350. @top
  1351. @down 13
  1352. @evaluate 'SavedPosition' '${CurrentPosn}'
  1353. @bottom
  1354. @say  'Now at current Position = ${CurrentPosn}'
  1355. @moveto {SavedPosition}
  1356. @say  'After Posn Restore, current Position = ${CurrentPosn}'
  1357.  
  1358. ;--- Try different quote characters -----------------------------------------
  1359. @say
  1360. @say  '*************************************************************************'
  1361. @say  '*** Try a few quotes ***'
  1362. @say 'FRED - single'
  1363. @say "FRED - double"
  1364. @say FRED - double arrow
  1365. @say
  1366.  
  1367. @say
  1368. @say  '*************************************************************************'
  1369. @say  '*** Trying a few movement commands ***'
  1370. top
  1371. @say  '"{CurrentPosn}"    = "${CurrentPosn}"'
  1372. @say  'Return code = ${Rc} (${RcReason})'
  1373. down
  1374. @say  Γûê"{CurrentPosn}"    = "${CurrentPosn}"Γûê
  1375. @say  ΓûêReturn code = ${Rc} (${RcReason})Γûê
  1376. down 999
  1377. @say  "Return code = ${Rc} (${RcReason})"
  1378. @say  '"{CurrentPosn}"    = "${CurrentPosn}"'
  1379.  
  1380.  
  1381. @say
  1382. @say  '*************************************************************************'
  1383. @say  '*** Replace some text, die if we did not make 7 changes ***'
  1384. @say
  1385. @say
  1386. top
  1387. down
  1388. down
  1389. replacetext all 'Fred' 'Dennis'
  1390. #if     '${ReplaceCount}' <> '7'
  1391.         @exit 255 'Invalid Number of replacements, expected to make 7...'
  1392. #elseif
  1393.         @say '           Made 7 changes as expected...'
  1394. #endif
  1395.  
  1396.  
  1397.  
  1398. @say
  1399. @say  '*************************************************************************'
  1400. @say  '*** Try some delete lines ***'
  1401. ;--- Delete the 2nd line ----
  1402. moveto 2
  1403. deletelines
  1404. bottom
  1405. @say  'Current Posn @Bottom = "${CurrentPosn}"'
  1406. deletelines
  1407. @say  'Deleted the last line, Rc = ${Rc} (${RcReason})'
  1408. @say  'Current Posn @Bottom = "${CurrentPosn}" (should be 1 less than before)'
  1409. deletelines 4
  1410. @say  'Deleted the last line (tried for 4), Rc = ${Rc} (${RcReason})'
  1411. @say  'Current Posn @Bottom = "${CurrentPosn}" (should be 1 less than before)'
  1412. deletelines -2
  1413. @say  'The above DELETE should delete 2 lines (backwards & work), Rc = ${Rc} (${RcReason})'
  1414. @say  'Current Posn @Bottom = "${CurrentPosn}" (should be 2 less than before)'
  1415.  
  1416.  
  1417. @say
  1418. @say  '*************************************************************************'
  1419. @say  '*** Go to Top & Bottom and insert 3 lines ***'
  1420. top
  1421. InsertLine "****** TOP ******"
  1422. InsertLine "****** TOP+1 ******"
  1423. InsertLine "****** TOP+2 ******"
  1424. @say
  1425. bottom
  1426. InsertLine "****** END ******"
  1427. InsertLine "****** END+1 ******"
  1428. InsertLine "****** END+2 ******"
  1429.  
  1430. @say
  1431. @say  '*************************************************************************'
  1432. @say  '*** Checkpoint the file ***'
  1433. @say
  1434. checkpoint
  1435. @say  "Checkpoint Rc = ${Rc} (${RcReason})"
  1436. @say
  1437.  
  1438. @say
  1439. @say  '*************************************************************************'
  1440. @say  '*** Display some standard variables ***'
  1441. @say
  1442. @say  '"{Rc}"               = "${Rc}"'
  1443. @say  '"{CurrentPosn}"      = "${CurrentPosn}"'
  1444. @say  '"{CurrentLine}"      = "${CurrentLine}"'
  1445. @say  '"{TextFileIn}"       = "${TextFileIn}"'
  1446. @say  '"{TextFileOut}"      = "${TextFileOut}"'
  1447. @say  '"{ChangeFile}"       = "${ChangeFile}"'
  1448. @say  '"{ChangeTime}"       = "${ChangeTime}"'
  1449. @say  '"{Parameters}"       = "${Parameters}"'
  1450. @say  '"{Version}"          = "${Version}"'
  1451. @say  '"{SyntaxErrorCount}" = "${SyntaxErrorCount}"'
  1452.  
  1453. ;exit 1 "Terminating: Hi there"
  1454.  
  1455. ;--- Change comment characters ----------------------------------------------
  1456. #comment 'REM '    ";;"
  1457.  
  1458. REM --- Dump some stuff -----------------------------------------------------
  1459. debug on                       ;;An inline comment
  1460. debug DumpVar
  1461. debug filestate
  1462. debug listpgm
  1463.  
  1464.  
  1465. ΓòÉΓòÉΓòÉ 6.2. Text Input ΓòÉΓòÉΓòÉ
  1466.  
  1467. Example Text Input - EXAMPLE.IN 
  1468.  
  1469. REM 1. **** Fred Fred Fred
  1470. REM 2. **** Fred Fred Fred
  1471. REM 3. **** FredFred Fred Fred
  1472. REM 4. **** Fred Fred
  1473. REM 5. **** Fred
  1474. REM 6. ****
  1475.  
  1476. REM *** Fix for DELL/MADGE Incompatibility if Power Management ON *****
  1477. DEVICE=C:\DB\FIXES\PNPENABL.OS2
  1478.  
  1479. REM *** PRJ STUFF *****************************************************
  1480. SET           DBPVCSCMT=PVCSCMT
  1481. SET              PrjDir=C:\DB\PROJECTS\SUPPORT\SUPPORT
  1482. SET            PrjSystm=C:\DB\PROJECTS\SUPPORT\SUPPORT\SYSTEM
  1483. SET               VCSID=Dennis_Bareis
  1484. SET             _Vcscfg=Q:\SUPPORT\PRJPVCS.CFG
  1485. SET      _PrjSupportDir=Q:\SUPPORT
  1486. SET         _PrjInclude=Q:\SUPPORT;Q:\SUPPORT\CMLIB;Q:\SUPPORT\IBMLAN;Q:\SUPPORT\MUGLIB
  1487. SET             _PrjLib=Q:\SUPPORT;Q:\SUPPORT\CMLIB;Q:\SUPPORT\IBMLAN;Q:\SUPPORT\MUGLIB
  1488. SET        _VcscfgLocal=C:\SUPPORT\PRJPVCS.CFG
  1489. SET _PrjSupportDirLocal=C:\SUPPORT
  1490. SET    _PrjIncludeLocal=C:\SUPPORT;C:\SUPPORT\CMLIB;C:\SUPPORT\IBMLAN;C:\SUPPORT\MUGLIB
  1491. SET        _PrjLibLocal=C:\SUPPORT;C:\SUPPORT\CMLIB;C:\SUPPORT\IBMLAN;C:\SUPPORT\MUGLIB
  1492.  
  1493. REM *** Modified OS/2 stuff *******************************************
  1494. REM SWAPPATH=C:\ 2048 20480
  1495. SWAPPATH=C:\ 20480 20480
  1496. IFS=C:\OS2\HPFS.IFS /CACHE:4096 /CRECL:64 /AUTOCHECK:C
  1497.  
  1498.  
  1499. REM *** The following variables are required by MY SUE TOFLOP disk ***
  1500. SET TOFLOP_SUEDIR=Q:\PROD.EXP\SUE
  1501. SET TOFLOP_SUEZIP=c:\DB\a_sue\out\sue.zip
  1502.  
  1503. REM *** TEMPORARY DIRECTORY ENV VARS **********************************
  1504. SET    TMP=C:\TMP
  1505. SET TMPDIR=C:\TMP
  1506. SET  SMTMP=C:\TMP
  1507. SET   TEMP=C:\TMP
  1508.  
  1509. REM *** REX to C INTERFACE DEBUGGING **********************************
  1510. REM SET REXANZ=DISPLAY
  1511. SET REXANZ=C:\REXANZ.LOG
  1512.  
  1513. REM SET SHELLEXCEPTIONHANDLER=OFF
  1514. SET OS2DRV=C:
  1515. SET BG-COLOUR=BLACK
  1516. SET FG-COLOUR=BR_WHITE
  1517. SET SORT-KEY=EXTN
  1518. SET WOS2-COM9=C:\OS2\CMD.EXE /C C:\DB\BATCH\CMD\SHOWSTR.CMD
  1519. SET WOS2-COM10=!Q:\PROD.EXP\SUE\VIEWFILE.EXE
  1520. SET WOS2-COM11=!LF.EXE
  1521. SET WOS2-COM12=!C:\OS2\CMD.EXE /C C:\DB\BATCH\CMD\EDIT.CMD
  1522. SET Prompt=$e[1;33m{OS2} $e[0;32m$p$e[31mΓòÉ$e[33m
  1523. DEVICE=C:\OS2\MDOS\ANSI.SYS
  1524.  
  1525. SET  UTLINDEV=.
  1526. SET  GEN_PWHASH4=RETAIL_VARIENT
  1527.  
  1528. SET  SUCTRACE=0
  1529. SET  SUCNOBAR=.
  1530. REM set  psslog=@W,u:\pss.log
  1531. REM set  psslog=@I,u:\pss.log
  1532.  
  1533. REM ----- SUE Project stuff ---------------
  1534. SET  MSGPATH=C:\SUE\
  1535. SET    AplDb=Q:\PROD.EXP\SUE\MAIN.MNU
  1536. SET MSGTRACE=C:\SUE\OUT\MSG$TRC.ZZZ
  1537. SET AplTrace=C:\SUE\OUT\COB.LOG
  1538. SET  ALR_LOGS=C:\SUE\OUT\ALERT.LOG
  1539. SET  LOGFILE=C:\SUE\OUT\STANDARD.LOG
  1540. REM set  RESTARTOBJECTS=NO,REBOOTONLY
  1541. SET  RESTARTOBJECTS=NO,STARTUPFOLDERSONLY
  1542.  
  1543. SET SHUTDOWN=C:\SUE\OUT\SHUTDOWN.LOG
  1544. SET VIEWFILE=Q:\PROD.EXP\SUE\VIEWFILE.INI
  1545.  
  1546.  
  1547. REM **** SET UP ICU CONFIG ****
  1548. SET      _BSB_=0219
  1549. SET     _IMSC_=1
  1550. SET   _WSN_NO_=1
  1551. SET   _WSN_ID_=DB_WSN
  1552. SET _WSN_TYPE_=WSN_1
  1553. SET SUC_WSNTYPE_TABLE_FILE=C:\WSN_TYPE.TBL
  1554.  
  1555.  
  1556. REM ****
  1557. REM **** INSERTED BY DBCSYS.CMD ***************************************
  1558. REM ****
  1559.  
  1560.  
  1561. SET SQLNETB=32
  1562. PROTSHELL=C:\OS2\PMSHELL.EXE
  1563. SET USER_INI=C:\OS2\OS2.INI
  1564. SET SYSTEM_INI=C:\OS2\OS2SYS.INI
  1565. SET OS2_SHELL=C:\OS2\CMD.EXE
  1566. SET AUTOSTART=TASKLIST,FOLDERS,LAUNCHPAD
  1567. SET RUNWORKPLACE=C:\OS2\PMSHELL.EXE
  1568. SET COMSPEC=C:\OS2\CMD.EXE
  1569. LIBPATH=.;C:\DB\UTILP;C:\OS2\MDOS;C:\;Z:\;C:\EXPORT\SUE;C:\DEVCON\DLL;
  1570. SET PATH=C:\DB\BATCH\CMD;C:\DB\UTILP;C:\DB\UTILB;C:\OS2;C:\NETWARE;Z:\;Q:\SUPPORT;C:\SUPPORT;C:\SUE;Q:\TOOLS\OS2;
  1571. BASEDEV=DETNE2.SYS
  1572. SET HELP=C:\VACPP.30\HELP;;N:\OS2APPS\VXREXX;Q:\PROD.EXP\SUE;Q:\SUPPORT;C:\SUPPORT;
  1573. SET GLOSSARY=C:\OS2\HELP\GLOSS
  1574. SET IPF_KEYS=SHOWNAV+SBCS
  1575. PRIORITY_DISK_IO=NO
  1576. FILES=100
  1577. BASEDEV=IBMKBD.SYS
  1578. DEVICE=C:\IBMCOM\PROTOCOL\LANPDD.OS2
  1579. DEVICE=C:\IBMCOM\PROTOCOL\LANVDD.OS2
  1580. DEVICE=C:\ibmcom\LANMSGDD.OS2 /I:C:\ibmcom
  1581. DEVICE=C:\ibmcom\PROTMAN.OS2 /I:C:\ibmcom
  1582. DEVICE=C:\OS2\BOOT\TESTCFG.SYS
  1583. DEVICE=C:\OS2\BOOT\DOS.SYS
  1584. DEVICE=C:\OS2\BOOT\PMDD.SYS
  1585. BUFFERS=90
  1586. IOPL=YES
  1587. DISKCACHE=D,LW
  1588. MAXWAIT=3
  1589. MEMMAN=SWAP,PROTECT
  1590. BREAK=OFF
  1591. THREADS=512
  1592. PRINTMONBUFSIZE=134,134,134
  1593. COUNTRY=061,C:\OS2\SYSTEM\COUNTRY.SYS
  1594. SET KEYS=ON
  1595. SET BOOKSHELF=C:\VACPP.30\HELP;C:\CMLIB\BOOK;N:\OS2APPS\JBAGD330\DOC;Q:\PROD.EXP\SUE;Q:\SUPPORT;C:\SUPPORT;
  1596. SET SOMIR=C:\VACPP.30\ETC\SOM.IR;C:\OS2\ETC\SOM.IR;C:\OS2\ETC\WPSH.IR;C:\OS2\ETC\WPDSERV.IR
  1597. SET SOMDDIR=C:\OS2\ETC\DSOM
  1598. REM SET DELDIR=C:\DELETE,512
  1599. BASEDEV=PRINT01.SYS
  1600. BASEDEV=IBM1FLPY.ADD
  1601. BASEDEV=IBM2FLPY.ADD
  1602. BASEDEV=IBM1S506.ADD
  1603. BASEDEV=XDFLOPPY.FLT
  1604. BASEDEV=OS2DASD.DMD
  1605. SET EPMPATH=C:\OS2\APPS
  1606. PROTECTONLY=NO
  1607. SHELL=C:\OS2\MDOS\COMMAND.COM C:\OS2\MDOS
  1608. FCBS=16,8
  1609. RMSIZE=640
  1610. DEVICE=C:\OS2\MDOS\VEMM.SYS
  1611. DOS=HIGH,UMB
  1612. DEVICE=C:\OS2\MDOS\VXMS.SYS /UMB
  1613. DEVICE=C:\OS2\MDOS\VDPMI.SYS
  1614. DEVICE=C:\OS2\MDOS\VDPX.SYS
  1615. DEVICE=C:\OS2\MDOS\VWIN.SYS
  1616. DEVICE=C:\OS2\MDOS\VW32S.SYS
  1617. BASEDEV=OS2SCSI.DMD
  1618. BASEDEV=FD16-700.ADD
  1619. DEVICE=C:\OS2\MDOS\VMOUSE.SYS
  1620. DEVICE=C:\OS2\BOOT\POINTDD.SYS
  1621. DEVICE=C:\OS2\BOOT\MOUSE.SYS
  1622. DEVICE=C:\OS2\BOOT\COM.SYS
  1623. DEVICE=C:\OS2\MDOS\VCOM.SYS
  1624. CODEPAGE=437,850
  1625. DEVINFO=KBD,US,C:\OS2\KEYBOARD.DCP
  1626. CALL=C:\ibmcom\PROTOCOL\NETBIND.EXE
  1627. RUN=C:\ibmcom\LANMSGEX.EXE
  1628. DEVICE=c:\IBMCOM\PROTOCOL\NETBEUI.OS2
  1629. DEVICE=C:\IBMLAN\NETPROG\RDRHELP.200
  1630. IFS=C:\IBMLAN\NETPROG\NETWKSTA.200 /I:C:\IBMLAN /N
  1631. DEVICE=c:\IBMCOM\PROTOCOL\NETBIOS.OS2
  1632. DEVICE=c:\IBMCOM\MACS\MDGND.OS2
  1633. RUN=C:\ibmcom\PROTOCOL\LANDLL.EXE
  1634. SET DIRCMD=/O:GN
  1635.  
  1636. REM ******** CICS
  1637. SET COBDIR=F:\COBOL;N:\OS2APPS\MF370\SMF370;N:\OS2APPS\MF370\TUTOR370
  1638. SET COBHNF=N:\OS2APPS\TX.30\FILES\SYS;N:\OS2APPS\MFCOBOL.32\ON-LINE
  1639. SET COBCPY=N:\OS2APPS\TX.30\CPY\SYS;N:\OS2APPS\TX.30\CPY\USR;N:\OS2APPS\TX.30\SAMPLES;N:\OS2APPS\MFCOBOL.32\SOURCE
  1640. SET COBDEMO=N:\OS2APPS\MFCOBOL.32\DEMO
  1641. SET CWWORK=N:\OS2APPS\MFCOBOL.32\DEMO\COWRITER
  1642. SET CWFILES=N:\OS2APPS\MFCOBOL.32\DEMO\COWRITER
  1643. SET CWRSYSTEM=N:\OS2APPS\MFCOBOL.32\LBR
  1644. SET COBFSTATCONV=HOSTSTAT
  1645. SET MFORG=F:\COBOL\MFORG
  1646. SET TXDIR=N:\OS2APPS\TX.30
  1647. SET MFEXTMAP=F:\COBOL\DATA
  1648. REM ******** END CICS
  1649.  
  1650. REM ******** APS
  1651. REM SET APSISLV=OS2APPS
  1652. REM SET APSLIB=APS.31
  1653. REM SET APSREL=V31
  1654. REM SET APSDRIVE=N:
  1655. REM SET APSPGDRIVE=NULL
  1656. REM SET APSDSNA=CARDS\CPSGRP\SHARE\APS
  1657. REM SET APSPRJ=CPS
  1658. REM SET APSGRP=APSDEV
  1659. REM SET APSUSERDRIVE=F:
  1660. REM SET APSPGDRIVE=S:
  1661. REM SET APSUSRP=F:\APS
  1662. REM SET APSDSNDE=NULL
  1663. REM SET APSDEPRE=CARDS\CPSGRP\SHARE\APSDE
  1664. REM SET APSNETWORK=NETBIOS
  1665. REM SET CICSTYPE=VER30
  1666. REM ******* END - APS
  1667.  
  1668. REM ******* MICRO FOCUS 370 ASSEMBLER
  1669. SET DIR370=N:\OS2APPS\MF370\SMF370
  1670.  
  1671. REM ******* VX REXX
  1672. SET VXREXX=N:\OS2APPS\VXREXX
  1673.  
  1674. REM ******* MWB
  1675. SET ICM=Q:\SHARE\MWB\ADMIN
  1676. SET MASTERDATAPAGES=150
  1677. SET MASTERHASHPAGES=45
  1678. SET LOCALDATAPAGES=800
  1679.  
  1680. REM ******** HCO & CSDO
  1681. SET HCODIR=N:\OS2APPS\MFHCO.11
  1682. SET CSDODIR=N:\OS2APPS\MFCSDO.11
  1683. SET CSDODAT=F:\MFCSDO
  1684. SET CSDOCFG=F:\MFCSDO
  1685.  
  1686. REM ******** PVCS 5.2
  1687. SET ISLVINI=F:\PVCS
  1688.  
  1689. REM ******** Visualizer Query_for_OS/2_(Requester)*
  1690. REM SET FTB1DIR=C:\FTW\WORK
  1691. REM SET FTB1PATH=C:\FTW;N:\OS2APPS\FTW.12
  1692. REM SET FTBBASE=C:\FTW
  1693. SET FTB1PRELOAD=30
  1694. SET DSSPATH=C:\FTW;N:\OS2APPS\FTW.12
  1695.  
  1696. SET SDPINI=S:\SDP\UTILS\GENERAL\SDP.INI
  1697. SET INCLUDE=C:\VACPP.30\INCLUDE;C:\VACPP.30\INCLUDE\OS2;C:\VACPP.30\INCLUDE\SOM;N:\OS2APPS\JBAGD330\INCLUDE;
  1698. SET LIB=C:\VACPP.30\LIB;C:\VACPP.30\DLL;
  1699. DEVICE=C:\IBMCOM\PROTOCOL\LANDD.OS2
  1700. DEVICE=C:\IBMCOM\PROTOCOL\LANDLLDD.OS2
  1701. RUN=C:\IBMLAN\NETPROG\LSDAEMON.EXE
  1702. SET NWDBPATH=C:\IBMLAN\NETPROG
  1703. SET DLSINI=C:\IBMLAN\NETPROG\NETGUI.INI
  1704. SET INIT_FILE_NAMES=netgui
  1705. SET INIT_FILE_RANGES=200
  1706. SET WPS_COMMUNICATION=YES
  1707. SET LOCPATH=C:\VACPP.30\LOCALE;C:\IBMLAN\XPG4\LOCALE
  1708. SET LANG=ENUS437
  1709.  
  1710. DEVICE=C:\CMLIB\ACSLANDD.SYS
  1711. DEVICE=C:\CMLIB\CMKFMDE.SYS
  1712. SET CMPATH=C:\CMLIB
  1713. DEVICE=C:\OS2\LOG.SYS
  1714. RUN=C:\OS2\SYSTEM\LOGDAEM.EXE
  1715. DEVICE=C:\OS2\EPWDD.SYS
  1716. RUN=C:\OS2\EPWDDR3.EXE
  1717. RUN=C:\OS2\EPWROUT.EXE 1
  1718. RUN=C:\OS2\EPW.EXE
  1719. SET QRWDR=C:
  1720. SET QRWINST=C:\SQLLIB
  1721. SET VACPP_SHARED=FALSE
  1722. SET CPPHELP_INI=C:\OS2\SYSTEM
  1723. SET CPPLOCAL=C:\VACPP.30
  1724. SET CPPMAIN=C:\VACPP.30
  1725. SET CPPWORK=C:\VACPP.30
  1726. SET IWFHELP=IWFHDI.INF
  1727. SET IWFOPT=C:\VACPP.30
  1728. SET IWF.DEFAULT_PRJ=CPPDFTPRJ
  1729. SET IWF.SOLUTION_LANG_SUPPORT=CPPIBS30;ENG
  1730. SET THREADS=512
  1731. SET SMINCLUDE=C:\VACPP.30\INCLUDE\OS2;C:\VACPP.30\INCLUDE;C:\VACPP.30\INCLUDE\SOM
  1732. DEVICE=C:\VACPP.30\SYS\CPPOPA3.SYS
  1733. SET VBPATH=.;C:\VACPP.30\DDE4VB
  1734. SET LXEVFREF=EVFELREF.INF+LPXCREF.INF
  1735. SET LXEVFHDI=EVFELHDI.INF+LPEXHDI.INF
  1736. SET LPATH=C:\VACPP.30\MACROS
  1737. SET CODELPATH=C:\VACPP.30\CODE\MACROS;C:\VACPP.30\MACROS
  1738. SET CLREF=CPPCLRF.INF+CPPDAT.INF+CPPAPP.INF+CPPWIN.INF+CPPCTL.INF+CPPADV.INF+CPP2DG.INF+CPPDDE.INF+CPPDM.INF+CPPMM.INF+CPPCLRB.INF
  1739. SET IPFC=C:\VACPP.30\IPFC
  1740. SET SOMRUNTIME=C:\VACPP.30\DLL
  1741. SET CPREF=CP1.INF+CP2.INF+CP3.INF
  1742. SET GPIREF=GPI1.INF+GPI2.INF+GPI3.INF
  1743. SET PMREF=PM1.INF+PM2.INF+PM3.INF+PM4.INF+PM5.INF
  1744. SET WPSREF=WPS1.INF+WPS2.INF+WPS3.INF
  1745. SET MMREF=MMREF1.INF+MMREF2.INF+MMREF3.INF
  1746. SET SMADDSTAR=1
  1747. SET SMEMIT=h;ih;c
  1748. SET SOMBASE=C:\VACPP.30
  1749. SET SMCLASSES=WPTYPES.IDL
  1750. SET HELPNDX=EPMKWHLP.NDX+CPP.NDX+CPPBRS.NDX
  1751. SET GUE=N:\OS2APPS\JBAGD330\GUE
  1752. SET BmpPath=N:\OS2APPS\JBAGD330\Res
  1753. REM BmpPath=N:\OS2APPS\JBAGD330\Res
  1754. REM Beginning of Netware device statements
  1755. REM Beginning of Netware device statements
  1756. DEVICE=C:\NETWARE\LSL.SYS
  1757. RUN=C:\NETWARE\DDAEMON.EXE
  1758. DEVICE=C:\IBMCOM\PROTOCOL\ODI2NDI.OS2
  1759. DEVICE=C:\NETWARE\IPX.SYS
  1760. DEVICE=C:\NETWARE\ROUTE.SYS
  1761. DEVICE=C:\NETWARE\NWREQ.SYS
  1762. DEVICE=C:\NETWARE\SPX.SYS
  1763. RUN=C:\NETWARE\SPDAEMON.EXE
  1764. IFS=C:\NETWARE\NWIFS.IFS
  1765. RUN=C:\NETWARE\NWDAEMON.EXE
  1766. DEVICE=C:\NETWARE\VIPX.SYS
  1767. DEVICE=C:\NETWARE\VSHELL.SYS GLOBAL
  1768. REM CE=C:\NETWARE\VSHELL.SYS GLOBAL
  1769. DEVICE=C:\OS2\MDOS\LPTDD.SYS
  1770. REM CE=C:\OS2\MDOS\LPTDD.SYS
  1771. REM - NetWare Requester statements END --
  1772. DEVINFO=SCR,VGA,C:\OS2\BOOT\VIOTBL.DCP
  1773. SET VIDEO_DEVICES=VIO_SVGA
  1774. DEVICE=C:\OS2\MDOS\VSVGA.SYS
  1775. DEVINFO=SCR,VGA,C:\OS2\VIOTBL.DCP
  1776. SET VIO_SVGA=DEVICE(BVHVGA,BVHSVGA)
  1777. DEVICE=C:\OS2\MDOS\VPRPMI.SYS
  1778. Last LINE - 4
  1779. Last LINE - 3
  1780. Last LINE - 2
  1781. Last LINE - 1
  1782. Last LINE - 0
  1783.  
  1784.  
  1785. ΓòÉΓòÉΓòÉ 6.3. Text Output ΓòÉΓòÉΓòÉ
  1786.  
  1787. Example Text Output - EXAMPLE.OUT 
  1788.  
  1789. ****** TOP ******
  1790. ****** TOP+1 ******
  1791. ****** TOP+2 ******
  1792. REM 1. **** Fred Fred Fred
  1793. REM 3. **** DennisDennis Dennis Dennis
  1794. REM 4. **** Dennis Dennis
  1795. REM 5. **** Dennis
  1796. REM 6. ****
  1797.  
  1798. REM *** Fix for DELL/MADGE Incompatibility if Power Management ON *****
  1799.  
  1800. REM *** PRJ STUFF *****************************************************
  1801. SET           DBPVCSCMT=PVCSCMT
  1802. SET              PrjDir=AT\START1;AT\START2;C:\DB\PROJECTS\SUPPORT\SUPPORT;AT\END
  1803. SET            PrjSystm=C:\DB\PROJECTS\SUPPORT\SUPPORT\SYSTEM
  1804. SET               VCSID=Dennis_Bareis
  1805. SET             _Vcscfg=Q:\SUPPORT\PRJPVCS.CFG
  1806. SET      _PrjSupportDir=Q:\SUPPORT
  1807. SET         _PrjInclude=Q:\SUPPORT;Q:\SUPPORT\CMLIB;Q:\SUPPORT\IBMLAN;Q:\SUPPORT\MUGLIB
  1808. SET             _PrjLib=Q:\SUPPORT;Q:\SUPPORT\CMLIB;Q:\SUPPORT\IBMLAN;Q:\SUPPORT\MUGLIB
  1809. SET        _VcscfgLocal=C:\SUPPORT\PRJPVCS.CFG
  1810. SET _PrjSupportDirLocal=C:\SUPPORT
  1811. SET    _PrjIncludeLocal=C:\SUPPORT;C:\SUPPORT\CMLIB;C:\SUPPORT\IBMLAN;C:\SUPPORT\MUGLIB
  1812. SET        _PrjLibLocal=C:\SUPPORT;C:\SUPPORT\CMLIB;C:\SUPPORT\IBMLAN;C:\SUPPORT\MUGLIB
  1813.  
  1814. REM *** Modified OS/2 stuff *******************************************
  1815. REM SWAPPATH=C:\ 2048 20480
  1816. SWAPPATH=C:\ 20480 20480
  1817. IFS=C:\OS2\HPFS.IFS /CACHE:4096 /CRECL:64 /AUTOCHECK:C
  1818.  
  1819.  
  1820. REM *** The following variables are required by MY SUE TOFLOP disk ***
  1821. SET TOFLOP_SUEDIR=Q:\PROD.EXP\SUE
  1822. SET TOFLOP_SUEZIP=c:\DB\a_sue\out\sue.zip
  1823.  
  1824. REM *** TEMPORARY DIRECTORY ENV VARS **********************************
  1825. SET    TMP=C:\TMP
  1826. SET TMPDIR=C:\TMP
  1827. SET  SMTMP=C:\TMP
  1828. SET   TEMP=C:\TMP
  1829.  
  1830. REM *** REX to C INTERFACE DEBUGGING **********************************
  1831. REM SET REXANZ=DISPLAY
  1832. SET REXANZ=C:\REXANZ.LOG
  1833.  
  1834. REM SET SHELLEXCEPTIONHANDLER=OFF
  1835. SET OS2DRV=C:
  1836. SET BG-COLOUR=BLACK
  1837. SET FG-COLOUR=BR_WHITE
  1838. SET SORT-KEY=EXTN
  1839. SET WOS2-COM9=C:\OS2\CMD.EXE /C C:\DB\BATCH\CMD\SHOWSTR.CMD
  1840. SET WOS2-COM10=!Q:\PROD.EXP\SUE\VIEWFILE.EXE
  1841. SET WOS2-COM11=!LF.EXE
  1842. SET WOS2-COM12=!C:\OS2\CMD.EXE /C C:\DB\BATCH\CMD\EDIT.CMD
  1843. SET Prompt=$e[1;33m{OS2} $e[0;32m$p$e[31mΓòÉ$e[33m
  1844. DEVICE=C:\OS2\MDOS\ANSI.SYS
  1845.  
  1846. SET  UTLINDEV=.
  1847. SET  GEN_PWHASH4=RETAIL_VARIENT
  1848.  
  1849. SET  SUCTRACE=0
  1850. SET  SUCNOBAR=.
  1851. REM set  psslog=@W,u:\pss.log
  1852. REM set  psslog=@I,u:\pss.log
  1853.  
  1854. REM ----- SUE Project stuff ---------------
  1855. SET  MSGPATH=C:\SUE\
  1856. SET    AplDb=Q:\PROD.EXP\SUE\MAIN.MNU
  1857. SET MSGTRACE=C:\SUE\OUT\MSG$TRC.ZZZ
  1858. SET AplTrace=C:\SUE\OUT\COB.LOG
  1859. SET  ALR_LOGS=C:\SUE\OUT\ALERT.LOG
  1860. SET  LOGFILE=C:\SUE\OUT\STANDARD.LOG
  1861. REM set  RESTARTOBJECTS=NO,REBOOTONLY
  1862. SET  RESTARTOBJECTS=NO,STARTUPFOLDERSONLY
  1863.  
  1864. SET SHUTDOWN=C:\SUE\OUT\SHUTDOWN.LOG
  1865. SET VIEWFILE=Q:\PROD.EXP\SUE\VIEWFILE.INI
  1866.  
  1867.  
  1868. REM **** SET UP ICU CONFIG ****
  1869. SET      _BSB_=0219
  1870. SET     _IMSC_=1
  1871. SET   _WSN_NO_=1
  1872. SET   _WSN_ID_=DB_WSN
  1873. SET _WSN_TYPE_=WSN_1
  1874. SET SUC_WSNTYPE_TABLE_FILE=C:\WSN_TYPE.TBL
  1875.  
  1876.  
  1877. REM ****
  1878. REM **** INSERTED BY DBCSYS.CMD ***************************************
  1879. REM ****
  1880.  
  1881.  
  1882. SET SQLNETB=32
  1883. PROTSHELL=C:\OS2\PMSHELL.EXE
  1884. SET USER_INI=C:\OS2\OS2.INI
  1885. SET SYSTEM_INI=C:\OS2\OS2SYS.INI
  1886. SET OS2_SHELL=C:\OS2\CMD.EXE
  1887. SET AUTOSTART=TASKLIST,FOLDERS,LAUNCHPAD
  1888. SET RUNWORKPLACE=C:\OS2\PMSHELL.EXE
  1889. SET COMSPEC=C:\OS2\CMD.EXE
  1890. LIBPATH=ADDED\TO\START\WITH\RC;AFTER\NW;BEFORE\NW;C:\AT\START\OF\LIBPATH1;C:\AT\START\OF\LIBPATH2;.;C:\OS2\MDOS;C:\;Z:\;C:\DEVCON\DLL;C:\AT\END1;AT\END2
  1891. SET PATH=C:\DB\BATCH\CMD;C:\DB\UTILP;C:\DB\UTILB;C:\OS2;C:\NETWARE;Z:\;Q:\SUPPORT;C:\SUPPORT;C:\SUE;Q:\TOOLS\OS2;
  1892. BASEDEV=DETNE2.SYS
  1893. SET HELP=C:\VACPP.30\HELP;;N:\OS2APPS\VXREXX;Q:\PROD.EXP\SUE;Q:\SUPPORT;C:\SUPPORT;
  1894. SET GLOSSARY=C:\OS2\HELP\GLOSS
  1895. SET IPF_KEYS=SHOWNAV+SBCS
  1896. PRIORITY_DISK_IO=NO
  1897. FILES=100
  1898. BASEDEV=IBMKBD.SYS
  1899. DEVICE=C:\IBMCOM\PROTOCOL\LANPDD.OS2
  1900. DEVICE=C:\IBMCOM\PROTOCOL\LANVDD.OS2
  1901. DEVICE=C:\ibmcom\LANMSGDD.OS2 /I:C:\ibmcom
  1902. DEVICE=C:\ibmcom\PROTMAN.OS2 /I:C:\ibmcom
  1903. DEVICE=C:\OS2\BOOT\TESTCFG.SYS
  1904. DEVICE=C:\OS2\BOOT\DOS.SYS
  1905. DEVICE=C:\OS2\BOOT\PMDD.SYS
  1906. BUFFERS=90
  1907. IOPL=YES
  1908. DISKCACHE=D,LW
  1909. MAXWAIT=3
  1910. MEMMAN=SWAP,PROTECT
  1911. BREAK=OFF
  1912. THREADS=512
  1913. PRINTMONBUFSIZE=134,134,134
  1914. COUNTRY=061,C:\OS2\SYSTEM\COUNTRY.SYS
  1915. SET KEYS=ON
  1916. SET BOOKSHELF=C:\VACPP.30\HELP;C:\CMLIB\BOOK;N:\OS2APPS\JBAGD330\DOC;Q:\PROD.EXP\SUE;Q:\SUPPORT;C:\SUPPORT;
  1917. SET SOMIR=C:\VACPP.30\ETC\SOM.IR;C:\OS2\ETC\SOM.IR;C:\OS2\ETC\WPSH.IR;C:\OS2\ETC\WPDSERV.IR
  1918. SET SOMDDIR=C:\OS2\ETC\DSOM
  1919. REM SET DELDIR=C:\DELETE,512
  1920. BASEDEV=PRINT01.SYS
  1921. BASEDEV=IBM1FLPY.ADD
  1922. BASEDEV=IBM2FLPY.ADD
  1923. BASEDEV=IBM1S506.ADD
  1924. BASEDEV=XDFLOPPY.FLT
  1925. BASEDEV=OS2DASD.DMD
  1926. SET EPMPATH=C:\OS2\APPS
  1927. PROTECTONLY=NO
  1928. SHELL=C:\OS2\MDOS\COMMAND.COM C:\OS2\MDOS
  1929. FCBS=16,8
  1930. RMSIZE=640
  1931. DEVICE=C:\OS2\MDOS\VEMM.SYS
  1932. DOS=HIGH,UMB
  1933. DEVICE=C:\OS2\MDOS\VXMS.SYS /UMB
  1934. DEVICE=C:\OS2\MDOS\VDPMI.SYS
  1935. DEVICE=C:\OS2\MDOS\VDPX.SYS
  1936. DEVICE=C:\OS2\MDOS\VWIN.SYS
  1937. DEVICE=C:\OS2\MDOS\VW32S.SYS
  1938. BASEDEV=OS2SCSI.DMD
  1939. BASEDEV=FD16-700.ADD
  1940. DEVICE=C:\OS2\MDOS\VMOUSE.SYS
  1941. DEVICE=C:\OS2\BOOT\POINTDD.SYS
  1942. DEVICE=C:\OS2\BOOT\MOUSE.SYS
  1943. DEVICE=C:\OS2\BOOT\COM.SYS
  1944. DEVICE=C:\OS2\MDOS\VCOM.SYS
  1945. CODEPAGE=437,850
  1946. DEVINFO=KBD,US,C:\OS2\KEYBOARD.DCP
  1947. CALL=C:\ibmcom\PROTOCOL\NETBIND.EXE
  1948. RUN=C:\ibmcom\LANMSGEX.EXE
  1949. DEVICE=c:\IBMCOM\PROTOCOL\NETBEUI.OS2
  1950. DEVICE=C:\IBMLAN\NETPROG\RDRHELP.200
  1951. IFS=C:\IBMLAN\NETPROG\NETWKSTA.200 /I:C:\IBMLAN /N
  1952. DEVICE=c:\IBMCOM\PROTOCOL\NETBIOS.OS2
  1953. DEVICE=c:\IBMCOM\MACS\MDGND.OS2
  1954. RUN=C:\ibmcom\PROTOCOL\LANDLL.EXE
  1955. SET DIRCMD=/O:GN
  1956.  
  1957. REM ******** CICS
  1958. REM **** COBOL LINE WAS HERE ****
  1959. REM **** COBOL LINE WAS HERE ****
  1960. REM **** COBOL LINE WAS HERE ****
  1961. REM **** COBOL LINE WAS HERE ****
  1962. REM **** COBOL LINE WAS HERE ****
  1963. REM **** COBOL LINE WAS HERE ****
  1964. REM **** COBOL LINE WAS HERE ****
  1965. SET COBFSTATCONV=HOSTSTAT
  1966. REM **** COBOL LINE WAS HERE ****
  1967. SET TXDIR=N:\OS2APPS\TX.30
  1968. REM **** COBOL LINE WAS HERE ****
  1969. REM ******** END CICS
  1970.  
  1971.  
  1972. REM ******* MICRO FOCUS 370 ASSEMBLER
  1973. SET DIR370=N:\OS2APPS\MF370\SMF370
  1974.  
  1975. REM ******* VX REXX
  1976. SET VXREXX=N:\OS2APPS\VXREXX
  1977.  
  1978. REM ******* MWB
  1979. SET ICM=Q:\SHARE\MWB\ADMIN
  1980. SET MASTERDATAPAGES=150
  1981. SET MASTERHASHPAGES=45
  1982. SET LOCALDATAPAGES=800
  1983.  
  1984. REM ******** HCO & CSDO
  1985. SET HCODIR=N:\OS2APPS\MFHCO.11
  1986. SET CSDODIR=N:\OS2APPS\MFCSDO.11
  1987. SET CSDODAT=F:\MFCSDO
  1988. SET CSDOCFG=F:\MFCSDO
  1989.  
  1990. REM ******** PVCS 5.2
  1991. SET ISLVINI=F:\PVCS
  1992.  
  1993. REM ******** Visualizer Query_for_OS/2_(Requester)*
  1994. REM SET FTB1DIR=C:\FTW\WORK
  1995. REM SET FTB1PATH=C:\FTW;N:\OS2APPS\FTW.12
  1996. REM SET FTBBASE=C:\FTW
  1997. SET FTB1PRELOAD=30
  1998. SET DSSPATH=C:\FTW;N:\OS2APPS\FTW.12
  1999.  
  2000. SET SDPINI=S:\SDP\UTILS\GENERAL\SDP.INI
  2001. SET INCLUDE=C:\VACPP.30\INCLUDE;C:\VACPP.30\INCLUDE\OS2;C:\VACPP.30\INCLUDE\SOM;N:\OS2APPS\JBAGD330\INCLUDE;
  2002. SET LIB=C:\VACPP.30\LIB;C:\VACPP.30\DLL;
  2003. DEVICE=C:\IBMCOM\PROTOCOL\LANDD.OS2
  2004. DEVICE=C:\IBMCOM\PROTOCOL\LANDLLDD.OS2
  2005. RUN=C:\IBMLAN\NETPROG\LSDAEMON.EXE
  2006. SET NWDBPATH=C:\IBMLAN\NETPROG
  2007. SET DLSINI=C:\IBMLAN\NETPROG\NETGUI.INI
  2008. SET INIT_FILE_NAMES=netgui
  2009. SET INIT_FILE_RANGES=200
  2010. SET WPS_COMMUNICATION=YES
  2011. SET LOCPATH=C:\VACPP.30\LOCALE;C:\IBMLAN\XPG4\LOCALE
  2012. SET LANG=ENUS437
  2013.  
  2014. DEVICE=C:\CMLIB\ACSLANDD.SYS
  2015. DEVICE=C:\CMLIB\CMKFMDE.SYS
  2016. SET CMPATH=C:\CMLIB
  2017. DEVICE=C:\OS2\LOG.SYS
  2018. RUN=C:\OS2\SYSTEM\LOGDAEM.EXE
  2019. DEVICE=C:\OS2\EPWDD.SYS
  2020. RUN=C:\OS2\EPWDDR3.EXE
  2021. RUN=C:\OS2\EPWROUT.EXE 1
  2022. RUN=C:\OS2\EPW.EXE
  2023. SET QRWDR=C:
  2024. SET QRWINST=C:\SQLLIB
  2025. SET VACPP_SHARED=FALSE
  2026. SET CPPHELP_INI=C:\OS2\SYSTEM
  2027. SET CPPLOCAL=C:\VACPP.30
  2028. SET CPPMAIN=C:\VACPP.30
  2029. SET CPPWORK=C:\VACPP.30
  2030. SET IWFHELP=IWFHDI.INF
  2031. SET IWFOPT=C:\VACPP.30
  2032. SET IWF.DEFAULT_PRJ=CPPDFTPRJ
  2033. SET IWF.SOLUTION_LANG_SUPPORT=CPPIBS30;ENG
  2034. SET THREADS=512
  2035. SET SMINCLUDE=C:\VACPP.30\INCLUDE\OS2;C:\VACPP.30\INCLUDE;C:\VACPP.30\INCLUDE\SOM
  2036. DEVICE=C:\VACPP.30\SYS\CPPOPA3.SYS
  2037. SET VBPATH=.;C:\VACPP.30\DDE4VB
  2038. SET LXEVFREF=EVFELREF.INF+LPXCREF.INF
  2039. SET LXEVFHDI=EVFELHDI.INF+LPEXHDI.INF
  2040. SET LPATH=C:\VACPP.30\MACROS
  2041. SET CODELPATH=C:\VACPP.30\CODE\MACROS;C:\VACPP.30\MACROS
  2042. SET CLREF=CPPCLRF.INF+CPPDAT.INF+CPPAPP.INF+CPPWIN.INF+CPPCTL.INF+CPPADV.INF+CPP2DG.INF+CPPDDE.INF+CPPDM.INF+CPPMM.INF+CPPCLRB.INF
  2043. SET IPFC=C:\VACPP.30\IPFC
  2044. SET SOMRUNTIME=C:\VACPP.30\DLL
  2045. SET CPREF=CP1.INF+CP2.INF+CP3.INF
  2046. SET GPIREF=GPI1.INF+GPI2.INF+GPI3.INF
  2047. SET PMREF=PM1.INF+PM2.INF+PM3.INF+PM4.INF+PM5.INF
  2048. SET WPSREF=WPS1.INF+WPS2.INF+WPS3.INF
  2049. SET MMREF=MMREF1.INF+MMREF2.INF+MMREF3.INF
  2050. SET SMADDSTAR=1
  2051. SET SMEMIT=h;ih;c
  2052. SET SOMBASE=C:\VACPP.30
  2053. SET SMCLASSES=WPTYPES.IDL
  2054. SET HELPNDX=EPMKWHLP.NDX+CPP.NDX+CPPBRS.NDX
  2055. SET GUE=N:\OS2APPS\JBAGD330\GUE
  2056. SET BmpPath=N:\OS2APPS\JBAGD330\Res
  2057. REM BmpPath=N:\OS2APPS\JBAGD330\Res
  2058. REM Beginning of Netware device statements
  2059. REM Beginning of Netware device statements
  2060. DEVICE=C:\NETWARE\LSL.SYS
  2061. RUN=C:\NETWARE\DDAEMON.EXE
  2062. DEVICE=C:\IBMCOM\PROTOCOL\ODI2NDI.OS2
  2063. DEVICE=C:\NETWARE\IPX.SYS
  2064. DEVICE=C:\NETWARE\ROUTE.SYS
  2065. DEVICE=C:\NETWARE\NWREQ.SYS
  2066. DEVICE=C:\NETWARE\SPX.SYS
  2067. RUN=C:\NETWARE\SPDAEMON.EXE
  2068. IFS=C:\NETWARE\NWIFS.IFS
  2069. RUN=C:\NETWARE\NWDAEMON.EXE
  2070. DEVICE=C:\NETWARE\VIPX.SYS
  2071. DEVICE=C:\NETWARE\VSHELL.SYS GLOBAL
  2072. REM CE=C:\NETWARE\VSHELL.SYS GLOBAL
  2073. DEVICE=C:\OS2\MDOS\LPTDD.SYS
  2074. REM CE=C:\OS2\MDOS\LPTDD.SYS
  2075. REM - NetWare Requester statements END --
  2076. DEVINFO=SCR,VGA,C:\OS2\BOOT\VIOTBL.DCP
  2077. SET VIDEO_DEVICES=VIO_SVGA
  2078. DEVICE=C:\OS2\MDOS\VSVGA.SYS
  2079. DEVINFO=SCR,VGA,C:\OS2\VIOTBL.DCP
  2080. SET VIO_SVGA=DEVICE(BVHVGA,BVHSVGA)
  2081. DEVICE=C:\OS2\MDOS\VPRPMI.SYS
  2082. Last LINE - 4
  2083. ****** END ******
  2084. ****** END+1 ******
  2085. ****** END+2 ******
  2086.  
  2087.  
  2088. ΓòÉΓòÉΓòÉ 6.4. Console Output ΓòÉΓòÉΓòÉ
  2089.  
  2090. Example Console Output - EXAMPLE.CON 
  2091.  
  2092. []-------------------------------------------------------------[]
  2093. | TEXTEDIT.CMD Version 99.107 (C)opyright Dennis Bareis 1997    |
  2094. | http://www.labyrinth.net.au/~dbareis/index.htm (db0@anz.com)  |
  2095. []-------------------------------------------------------------[]
  2096.  
  2097.  
  2098. LOADING FILES
  2099. ~~~~~~~~~~~~~
  2100.  * Text File   : EXAMPLE.IN
  2101.  * Its FullName: E:\DB\PROJECTS\OS2\textedit\EXAMPLE.IN
  2102.  * Change File : EXAMPLE.TE
  2103.  * Its FullName: E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE
  2104.  
  2105. PROCESSING
  2106. ~~~~~~~~~~
  2107. COMMAND: debug ON
  2108.    5 : COMMAND BEFORE: evaluate "SyntaxError"     "x()"
  2109.          >Syntax Error : Evaluate at "E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(5)" failed with syntax error (Routine not found)
  2110.    6 : COMMAND BEFORE: evaluate "UnknownVariable" "X + Y"
  2111.          >Syntax Error : Evaluate at "E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(6)" failed with unknown variable (Variable=X)
  2112.    8 : COMMAND BEFORE: say
  2113.  
  2114.    9 : COMMAND BEFORE: say  '*************************************************************************'
  2115.          *************************************************************************
  2116.   10 : COMMAND BEFORE: say  '*** Make a BackUp of the file'
  2117.          *** Make a BackUp of the file
  2118.   11 : COMMAND BEFORE: say
  2119.  
  2120.   12 : COMMAND BEFORE: evaluate 'BackUpFileName' 'left("${TextFileIn}", lastpos(".", "${TextFileIn}")) || "BK"'
  2121.   12 : COMMAND AFTER : evaluate 'BackUpFileName' 'left("EXAMPLE.IN", lastpos(".", "EXAMPLE.IN")) || "BK"'
  2122.   13 : COMMAND BEFORE: say 'PROCESSING : ${TextFileIn}'
  2123.   13 : COMMAND AFTER : say 'PROCESSING : EXAMPLE.IN'
  2124.          PROCESSING : EXAMPLE.IN
  2125.   14 : COMMAND BEFORE: say 'BACKUP FILE: {BackUpFileName}'
  2126.   14 : COMMAND AFTER : say 'BACKUP FILE: EXAMPLE.BK'
  2127.          BACKUP FILE: EXAMPLE.BK
  2128.   15 : COMMAND BEFORE: checkpoint '{BackUpFileName}'
  2129.   15 : COMMAND AFTER : checkpoint 'EXAMPLE.BK'
  2130.          >Checkpointing to "EXAMPLE.BK"
  2131.   16 : COMMAND BEFORE: say  "Checkpoint Rc = ${Rc} (${RcReason})"
  2132.   16 : COMMAND AFTER : say  "Checkpoint Rc = 0 (OK)"
  2133.          Checkpoint Rc = 0 (OK)
  2134.   17 : COMMAND BEFORE: say
  2135.  
  2136.   18 : COMMAND BEFORE: say
  2137.  
  2138.   19 : COMMAND BEFORE: say  '*************************************************************************'
  2139.          *************************************************************************
  2140.   20 : COMMAND: #define Test1 '*** REPLACE SOME LINES'
  2141.   21 : COMMAND BEFORE: say  '{Test1}'
  2142.   21 : COMMAND AFTER : say  '*** REPLACE SOME LINES'
  2143.          *** REPLACE SOME LINES
  2144.   22 : COMMAND BEFORE: top
  2145.          >Now at Location = 0
  2146.   23 : COMMAND BEFORE: wildcard '~'
  2147.   24 : COMMAND BEFORE: replacelines all "~COBOL~" "REM **** COBOL LINE WAS HERE ****"
  2148.          >Found match #1 at Location = 169
  2149.          >Found match #2 at Location = 170
  2150.          >Found match #3 at Location = 171
  2151.          >Found match #4 at Location = 172
  2152.          >Found match #5 at Location = 173
  2153.          >Found match #6 at Location = 174
  2154.          >Found match #7 at Location = 175
  2155.          >Found match #8 at Location = 177
  2156.          >Found match #9 at Location = 179
  2157.          >WARNING: Rc=1174, We did not replace as many lines as you requested - replaced 9 out of 99999
  2158.   25 : COMMAND BEFORE: say
  2159.  
  2160.   26 : COMMAND BEFORE: say  '*************************************************************************'
  2161.          *************************************************************************
  2162.   27 : COMMAND: #define Test2 '"*** DELETE A BLOCK"'
  2163.   28 : COMMAND BEFORE: say  {Test2}
  2164.   28 : COMMAND AFTER : say  "*** DELETE A BLOCK"
  2165.          *** DELETE A BLOCK
  2166.   29 : COMMAND BEFORE: bottom
  2167.          >Now at Location = 314
  2168.   30 : COMMAND BEFORE: deleteblock  '~ APS'     "~END - APS"
  2169.          >WARNING: Rc=964, Could not find a line matching the starting specification (StartingPosn=314)!
  2170.   31 : COMMAND BEFORE: say  'This should fail as we are past the start & end of this block (FindRc = ${Rc})'
  2171.   31 : COMMAND AFTER : say  'This should fail as we are past the start & end of this block (FindRc = 964)'
  2172.          This should fail as we are past the start & end of this block (FindRc = 964)
  2173.   32 : COMMAND BEFORE: top
  2174.          >Now at Location = 0
  2175.   33 : COMMAND BEFORE: deleteblock  'REM ******** APS'     "~END - APS"
  2176.          >Deleting lines 182 to 198
  2177.          >    Line #182 : "REM ******** APS"
  2178.          >    Line #183 : "REM SET APSISLV=OS2APPS"
  2179.          >    Line #184 : "REM SET APSLIB=APS.31"
  2180.          >    Line #185 : "REM SET APSREL=V31"
  2181.          >    Line #186 : "REM SET APSDRIVE=N:"
  2182.          >    Line #187 : "REM SET APSPGDRIVE=NULL"
  2183.          >    Line #188 : "REM SET APSDSNA=CARDS\CPSGRP\SHARE\APS"
  2184.          >    Line #189 : "REM SET APSPRJ=CPS"
  2185.          >    Line #190 : "REM SET APSGRP=APSDEV"
  2186.          >    Line #191 : "REM SET APSUSERDRIVE=F:"
  2187.          >    Line #192 : "REM SET APSPGDRIVE=S:"
  2188.          >    Line #193 : "REM SET APSUSRP=F:\APS"
  2189.          >    Line #194 : "REM SET APSDSNDE=NULL"
  2190.          >    Line #195 : "REM SET APSDEPRE=CARDS\CPSGRP\SHARE\APSDE"
  2191.          >    Line #196 : "REM SET APSNETWORK=NETBIOS"
  2192.          >    Line #197 : "REM SET CICSTYPE=VER30"
  2193.          >    Line #198 : "REM ******* END - APS"
  2194.   34 : COMMAND BEFORE: say  'This should work (FindRc = ${Rc})'
  2195.   34 : COMMAND AFTER : say  'This should work (FindRc = 0)'
  2196.          This should work (FindRc = 0)
  2197.   35 : COMMAND BEFORE: deleteblock  'DEVICE=C:\DB\FIXES\PNPENABL.OS2'
  2198.          >Deleting lines 9 to 9
  2199.          >    Line #9 : "DEVICE=C:\DB\FIXES\PNPENABL.OS2"
  2200.   36 : COMMAND BEFORE: say  'This should work (FindRc = ${Rc})'
  2201.   36 : COMMAND AFTER : say  'This should work (FindRc = 0)'
  2202.          This should work (FindRc = 0)
  2203.   37 : COMMAND BEFORE: wildcard '*'
  2204.   38 : COMMAND BEFORE: say
  2205.  
  2206.   39 : COMMAND BEFORE: say  '*************************************************************************'
  2207.          *************************************************************************
  2208.   40 : COMMAND BEFORE: say  '*** Find some strings'
  2209.          *** Find some strings
  2210.   41 : COMMAND BEFORE: top
  2211.          >Now at Location = 0
  2212.   42 : COMMAND BEFORE: casesensitive ON
  2213.   43 : COMMAND BEFORE: find  -1   "Should fail can't search backwards from Top!"
  2214.          >WARNING: Rc=1063, We are at top so we can not search backwards!
  2215.   44 : COMMAND BEFORE: casesensitive OFF
  2216.   45 : COMMAND BEFORE: find  1    '*Prj*'
  2217.          >Found match #1 at Location = 10
  2218.   46 : COMMAND BEFORE: say  '1st  "*Prj*" in file is on line #${CurrentPosn} - Case insensitive search - FindRc = ${Rc}'
  2219.   46 : COMMAND AFTER : say  '1st  "*Prj*" in file is on line #10 - Case insensitive search - FindRc = 0'
  2220.          1st  "*Prj*" in file is on line #10 - Case insensitive search - FindRc = 0
  2221.   47 : COMMAND BEFORE: top
  2222.          >Now at Location = 0
  2223.   48 : COMMAND BEFORE: find  3    '*Prj*'
  2224.          >Found match #1 at Location = 10
  2225.          >Found match #2 at Location = 12
  2226.          >Found match #3 at Location = 13
  2227.   49 : COMMAND BEFORE: say  '3rd  "*Prj*" in file is on line #${CurrentPosn} - Case insensitive search - FindRc = ${Rc}'
  2228.   49 : COMMAND AFTER : say  '3rd  "*Prj*" in file is on line #13 - Case insensitive search - FindRc = 0'
  2229.          3rd  "*Prj*" in file is on line #13 - Case insensitive search - FindRc = 0
  2230.   50 : COMMAND BEFORE: bottom
  2231.          >Now at Location = 296
  2232.   51 : COMMAND BEFORE: casesensitive ON
  2233.   52 : COMMAND BEFORE: find  -1    '*Prj*'
  2234.          >Found match #1 at Location = 22
  2235.   53 : COMMAND BEFORE: say  'Last "*Prj*" in file is on line #${CurrentPosn} - Case Sensitive search - FindRc = ${Rc}'
  2236.   53 : COMMAND AFTER : say  'Last "*Prj*" in file is on line #22 - Case Sensitive search - FindRc = 0'
  2237.          Last "*Prj*" in file is on line #22 - Case Sensitive search - FindRc = 0
  2238.   54 : COMMAND BEFORE: find  -3    '*Prj*'
  2239.          >Found match #1 at Location = 22
  2240.          >Found match #2 at Location = 21
  2241.          >Found match #3 at Location = 20
  2242.   55 : COMMAND BEFORE: say  '3rd Last "*Prj*" in file is on line #${CurrentPosn} - Case Sensitive search - FindRc = ${Rc}'
  2243.   55 : COMMAND AFTER : say  '3rd Last "*Prj*" in file is on line #20 - Case Sensitive search - FindRc = 0'
  2244.          3rd Last "*Prj*" in file is on line #20 - Case Sensitive search - FindRc = 0
  2245.   56 : COMMAND BEFORE: find  -999  '*Prj*'
  2246.          >Found match #1 at Location = 20
  2247.          >Found match #2 at Location = 18
  2248.          >Found match #3 at Location = 17
  2249.          >Found match #4 at Location = 16
  2250.          >Found match #5 at Location = 13
  2251.          >Found match #6 at Location = 12
  2252.          >WARNING: Rc=1097, We did not find what you wanted - found 6 out of 999
  2253.   57 : COMMAND BEFORE: say  'Should not have move current position as search should fail. - CurrentLine = ${CurrentPosn}, FindRc = ${Rc}'
  2254.   57 : COMMAND AFTER : say  'Should not have move current position as search should fail. - CurrentLine = 20, FindRc = 1097'
  2255.          Should not have move current position as search should fail. - CurrentLine = 20, FindRc = 1097
  2256.   62 : COMMAND BEFORE: say
  2257.  
  2258.   63 : COMMAND BEFORE: say  '*************************************************************************'
  2259.          *************************************************************************
  2260.   64 : COMMAND BEFORE: say  '*** Adjust some paths'
  2261.          *** Adjust some paths
  2262.   65 : COMMAND BEFORE: libpath           DELETE                 "C:\DB\UTILP;Q:\PROD.EXP\SUE;C:\SUPPORT;C:\EXPORT\SUE"
  2263.          >Variable=LIBPATH was found on line #100
  2264.          >Path Before=<.;C:\DB\UTILP;C:\OS2\MDOS;C:\;Z:\;C:\EXPORT\SUE;C:\DEVCON\DLL;>
  2265.          >Path After =<.;C:\OS2\MDOS;C:\;Z:\;C:\DEVCON\DLL>
  2266.   66 : COMMAND BEFORE: libpath           ADDSTART               "C:\AT\START\OF\LIBPATH1;C:\AT\START\OF\LIBPATH2"
  2267.          >Variable=LIBPATH was found on line #100
  2268.          >Path Before=<.;C:\OS2\MDOS;C:\;Z:\;C:\DEVCON\DLL>
  2269.          >Path After =<C:\AT\START\OF\LIBPATH1;C:\AT\START\OF\LIBPATH2;.;C:\OS2\MDOS;C:\;Z:\;C:\DEVCON\DLL>
  2270.   67 : COMMAND BEFORE: libpath           ADDEND                 "C:\AT\END1;AT\END2"
  2271.          >Variable=LIBPATH was found on line #100
  2272.          >Path Before=<C:\AT\START\OF\LIBPATH1;C:\AT\START\OF\LIBPATH2;.;C:\OS2\MDOS;C:\;Z:\;C:\DEVCON\DLL>
  2273.          >Path After =<C:\AT\START\OF\LIBPATH1;C:\AT\START\OF\LIBPATH2;.;C:\OS2\MDOS;C:\;Z:\;C:\DEVCON\DLL;C:\AT\END1;AT\END2>
  2274.   68 : COMMAND BEFORE: libpath           ADDBEFORE 'C:\NETWARE'  "BEFORE\NW"
  2275.          >Variable=LIBPATH was found on line #100
  2276.          >Path Before=<C:\AT\START\OF\LIBPATH1;C:\AT\START\OF\LIBPATH2;.;C:\OS2\MDOS;C:\;Z:\;C:\DEVCON\DLL;C:\AT\END1;AT\END2>
  2277.          >WARNING: Rc=221, Can not find the relative directory "C:\NETWARE" - will add to start
  2278.          >Path After =<BEFORE\NW;C:\AT\START\OF\LIBPATH1;C:\AT\START\OF\LIBPATH2;.;C:\OS2\MDOS;C:\;Z:\;C:\DEVCON\DLL;C:\AT\END1;AT\END2>
  2279.   69 : COMMAND BEFORE: libpath           ADDAFTER  'c:\netware'  "AFTER\NW"
  2280.          >Variable=LIBPATH was found on line #100
  2281.          >Path Before=<BEFORE\NW;C:\AT\START\OF\LIBPATH1;C:\AT\START\OF\LIBPATH2;.;C:\OS2\MDOS;C:\;Z:\;C:\DEVCON\DLL;C:\AT\END1;AT\END2>
  2282.          >WARNING: Rc=221, Can not find the relative directory "C:\NETWARE" - will add to start
  2283.          >Path After =<AFTER\NW;BEFORE\NW;C:\AT\START\OF\LIBPATH1;C:\AT\START\OF\LIBPATH2;.;C:\OS2\MDOS;C:\;Z:\;C:\DEVCON\DLL;C:\AT\END1;AT\END2>
  2284.   70 : COMMAND BEFORE: libpath           ADDAFTER  'c:\WontFind' "ADDED\TO\START\WITH\RC"
  2285.          >Variable=LIBPATH was found on line #100
  2286.          >Path Before=<AFTER\NW;BEFORE\NW;C:\AT\START\OF\LIBPATH1;C:\AT\START\OF\LIBPATH2;.;C:\OS2\MDOS;C:\;Z:\;C:\DEVCON\DLL;C:\AT\END1;AT\END2>
  2287.          >WARNING: Rc=221, Can not find the relative directory "C:\WONTFIND" - will add to start
  2288.          >Path After =<ADDED\TO\START\WITH\RC;AFTER\NW;BEFORE\NW;C:\AT\START\OF\LIBPATH1;C:\AT\START\OF\LIBPATH2;.;C:\OS2\MDOS;C:\;Z:\;C:\DEVCON\DLL;C:\AT\END1;AT\END2>
  2289.   71 : COMMAND BEFORE: setpath 'PrjDir'  ADDEND                  "AT\END"
  2290.          >Variable=PRJDIR was found on line #12
  2291.          >Path Before=<C:\DB\PROJECTS\SUPPORT\SUPPORT>
  2292.          >Path After =<C:\DB\PROJECTS\SUPPORT\SUPPORT;AT\END>
  2293.   72 : COMMAND BEFORE: setpath 'PrjDir'  ADDSTART                "AT\START1;AT\START2"
  2294.          >Variable=PRJDIR was found on line #12
  2295.          >Path Before=<C:\DB\PROJECTS\SUPPORT\SUPPORT;AT\END>
  2296.          >Path After =<AT\START1;AT\START2;C:\DB\PROJECTS\SUPPORT\SUPPORT;AT\END>
  2297.   74 : COMMAND BEFORE: say
  2298.  
  2299.   75 : COMMAND BEFORE: say  '*************************************************************************'
  2300.          *************************************************************************
  2301.   76 : COMMAND BEFORE: evaluate 'EnvVarPrompt' 'GetEnv("Prompt")'
  2302.   77 : COMMAND BEFORE: say 'THE CURRENT PROMPT IS "{EnvVarPrompt}"'
  2303.   77 : COMMAND AFTER : say 'THE CURRENT PROMPT IS "$e[0;1;35mBrief:$e[0m$e[1;33m{OS2} $e[0;32m$p$e[31mΓòÉ$e[33m"'
  2304.          THE CURRENT PROMPT IS "$e[0;1;35mBrief:$e[0m$e[1;33m{OS2} $e[0;32m$p$e[31mΓòÉ$e[33m"
  2305.   79 : COMMAND BEFORE: say
  2306.  
  2307.   80 : COMMAND BEFORE: say  '*************************************************************************'
  2308.          *************************************************************************
  2309.   81 : COMMAND BEFORE: execute 'dir e:\os2\bitmap /od'
  2310.  
  2311. The volume label in drive E is OS2.
  2312. The Volume Serial Number is 66DF:1C15.
  2313. Directory of E:\os2\bitmap
  2314.  
  2315. 13/06/96 14:54         49,584      0 a---  GMARBLE.BMP
  2316. 13/06/96 14:56         83,452      0 a---  BIGBLU.BMP
  2317. 13/06/96 14:56         24,508      0 a---  BUBBLPAD.BMP
  2318. 13/06/96 14:56         36,596      0 a---  BURLAP.BMP
  2319. 13/06/96 14:56         15,064      0 a---  CARVE.BMP
  2320. 13/06/96 14:56         21,816      0 a---  CLOUD.BMP
  2321. 13/06/96 14:56         61,556      0 a---  DIAM.BMP
  2322. 13/06/96 14:56         10,796      0 a---  DOTS.BMP
  2323. 13/06/96 14:56         15,924      0 a---  GOLD.BMP
  2324. 13/06/96 14:56          4,892      0 a---  GRASS.BMP
  2325. 13/06/96 14:56         40,796      0 a---  LOOFAH.BMP
  2326. 13/06/96 14:56         21,532      0 a---  MATMAUV.BMP
  2327. 13/06/96 14:56         82,588      0 a---  MULTI.BMP
  2328. 13/06/96 14:56         39,420      0 a---  OS2WARP.BMP
  2329. 13/06/96 14:56         24,660      0 a---  PAPER.BMP
  2330. 13/06/96 14:56         54,388      0 a---  PLASTER.BMP
  2331. 13/06/96 14:56         40,796      0 a---  PLASTIC.BMP
  2332. 13/06/96 14:56         35,096      0 a---  POOL.BMP
  2333. 13/06/96 14:56         45,740      0 a---  PURP.BMP
  2334. 13/06/96 14:56         15,064      0 a---  RICEMAT.BMP
  2335. 13/06/96 14:56         21,532      0 a---  SPONGER.BMP
  2336. 13/06/96 14:56         38,624      0 a---  TIED.BMP
  2337. 13/06/96 14:56         25,132      0 a---  TXTR_000.BMP
  2338. 13/06/96 14:56         24,664      0 a---  TXTR_001.BMP
  2339. 13/06/96 14:56         14,836      0 a---  TXTR_002.BMP
  2340. 13/06/96 14:56         25,132      0 a---  TXTR_003.BMP
  2341. 13/06/96 14:56         10,012      0 a---  TXTR_004.BMP
  2342. 13/06/96 14:56         26,396      0 a---  TXTR_005.BMP
  2343. 13/06/96 14:56         22,256      0 a---  TXTR_006.BMP
  2344. 13/06/96 14:56         10,012      0 a---  TXTR_007.BMP
  2345. 13/06/96 14:56         32,504      0 a---  TXTR_008.BMP
  2346. 13/06/96 14:56         23,748      0 a---  TXTR_009.BMP
  2347. 13/06/96 14:56         27,200      0 a---  TXTR_010.BMP
  2348. 13/06/96 14:56         21,532      0 a---  TXTR_011.BMP
  2349. 13/06/96 14:57        787,228      0 a---  WARP02.BMP
  2350. 13/06/96 14:57        787,228      0 a---  WARP03.BMP
  2351. 13/06/96 14:57        787,228      0 a---  WARP04.BMP
  2352. 13/06/96 14:57      2,363,136      0 a---  WARPD.BMP
  2353. 13/06/96 14:57         15,064      0 a---  WCOLOR.BMP
  2354. 13/06/96 14:57         20,524      0 a---  WICKER2.BMP
  2355. 13/06/96 14:57        787,228      0 a---  GARDEN.BMP
  2356. 13/06/96 14:57        787,228      0 a---  GARDEN2.BMP
  2357. 13/06/96 14:58        787,228      0 a---  OCEAN.BMP
  2358. 13/06/96 14:58        787,228      0 a---  OCEAN2.BMP
  2359. 13/06/96 14:58        787,228      0 a---  SPACE.BMP
  2360. 13/06/96 14:58        787,228      0 a---  SPACE2.BMP
  2361. 13/06/96 14:59         11,078      0 a---  FTPBKGRD.BMP
  2362. 14/06/96 10:48          3,234      0 a---  OS2LOGO.BMP
  2363.  9/08/96  0:46         75,347      0 a---  AAAAA.MET
  2364. 27/08/96  7:50         20,629     61 a---  AAAAA.EXE
  2365.  4/05/98 18:47          <DIR>      0 ----  .
  2366.  4/05/98 18:47          <DIR>      0 ----  ..
  2367.        52 file(s)    10,641,912 bytes used
  2368.                     837,368,832 bytes free
  2369. COMMAND: #if     0 <> 0
  2370.     #if: False
  2371.   85 : COMMAND BEFORE: say
  2372.  
  2373.   87 : COMMAND BEFORE: say
  2374.  
  2375.   88 : COMMAND BEFORE: say  '*************************************************************************'
  2376.          *************************************************************************
  2377.   89 : COMMAND BEFORE: top
  2378.          >Now at Location = 0
  2379.   90 : COMMAND BEFORE: down 13
  2380.          >Now at Location = 13
  2381.   91 : COMMAND BEFORE: evaluate 'SavedPosition' '${CurrentPosn}'
  2382.   91 : COMMAND AFTER : evaluate 'SavedPosition' '13'
  2383.   92 : COMMAND BEFORE: bottom
  2384.          >Now at Location = 296
  2385.   93 : COMMAND BEFORE: say  'Now at current Position = ${CurrentPosn}'
  2386.   93 : COMMAND AFTER : say  'Now at current Position = 296'
  2387.          Now at current Position = 296
  2388.   94 : COMMAND BEFORE: moveto {SavedPosition}
  2389.   94 : COMMAND AFTER : moveto 13
  2390.          >Now at Location = 13
  2391.   95 : COMMAND BEFORE: say  'After Posn Restore, current Position = ${CurrentPosn}'
  2392.   95 : COMMAND AFTER : say  'After Posn Restore, current Position = 13'
  2393.          After Posn Restore, current Position = 13
  2394.   97 : COMMAND BEFORE: say
  2395.  
  2396.   98 : COMMAND BEFORE: say  '*************************************************************************'
  2397.          *************************************************************************
  2398.   99 : COMMAND BEFORE: say  '*** Try a few quotes ***'
  2399.          *** Try a few quotes ***
  2400.  100 : COMMAND BEFORE: say 'FRED - single'
  2401.          FRED - single
  2402.  101 : COMMAND BEFORE: say "FRED - double"
  2403.          FRED - double
  2404.  102 : COMMAND BEFORE: say FRED - double arrow
  2405.          FRED - double arrow
  2406.  103 : COMMAND BEFORE: say
  2407.  
  2408.  104 : COMMAND BEFORE: say
  2409.  
  2410.  105 : COMMAND BEFORE: say  '*************************************************************************'
  2411.          *************************************************************************
  2412.  106 : COMMAND BEFORE: say  '*** Trying a few movement commands ***'
  2413.          *** Trying a few movement commands ***
  2414.  107 : COMMAND BEFORE: top
  2415.          >Now at Location = 0
  2416.  108 : COMMAND BEFORE: say  '"{CurrentPosn}"    = "${CurrentPosn}"'
  2417.  108 : COMMAND AFTER : say  '"{CurrentPosn}"    = "0"'
  2418.          "{CurrentPosn}"    = "0"
  2419.  109 : COMMAND BEFORE: say  'Return code = ${Rc} (${RcReason})'
  2420.  109 : COMMAND AFTER : say  'Return code = 0 (OK)'
  2421.          Return code = 0 (OK)
  2422.  110 : COMMAND BEFORE: down
  2423.          >Now at Location = 1
  2424.  111 : COMMAND BEFORE: say  Γûê"{CurrentPosn}"    = "${CurrentPosn}"Γûê
  2425.  111 : COMMAND AFTER : say  Γûê"{CurrentPosn}"    = "1"Γûê
  2426.          "{CurrentPosn}"    = "1"
  2427.  112 : COMMAND BEFORE: say  ΓûêReturn code = ${Rc} (${RcReason})Γûê
  2428.  112 : COMMAND AFTER : say  ΓûêReturn code = 0 (OK)Γûê
  2429.          Return code = 0 (OK)
  2430.  113 : COMMAND BEFORE: down 999
  2431.          >WARNING: Rc=377, Can not move down 999 lines, moved to end - 295 lines
  2432.          >Now at Location = 296
  2433.  114 : COMMAND BEFORE: say  "Return code = ${Rc} (${RcReason})"
  2434.  114 : COMMAND AFTER : say  "Return code = 377 (Can not move down 999 lines, moved to end - 295 lines)"
  2435.          Return code = 377 (Can not move down 999 lines, moved to end - 295 lines)
  2436.  115 : COMMAND BEFORE: say  '"{CurrentPosn}"    = "${CurrentPosn}"'
  2437.  115 : COMMAND AFTER : say  '"{CurrentPosn}"    = "296"'
  2438.          "{CurrentPosn}"    = "296"
  2439.  116 : COMMAND BEFORE: say
  2440.  
  2441.  117 : COMMAND BEFORE: say  '*************************************************************************'
  2442.          *************************************************************************
  2443.  118 : COMMAND BEFORE: say  '*** Replace some text, die if we did not make 7 changes ***'
  2444.          *** Replace some text, die if we did not make 7 changes ***
  2445.  119 : COMMAND BEFORE: say
  2446.  
  2447.  120 : COMMAND BEFORE: say
  2448.  
  2449.  121 : COMMAND BEFORE: top
  2450.          >Now at Location = 0
  2451.  122 : COMMAND BEFORE: down
  2452.          >Now at Location = 1
  2453.  123 : COMMAND BEFORE: down
  2454.          >Now at Location = 2
  2455.  124 : COMMAND BEFORE: replacetext all 'Fred' 'Dennis'
  2456.          >4 changes made on line #3
  2457.          >2 changes made on line #4
  2458.          >1 changes made on line #5
  2459. COMMAND: #if     '7' <> '7'
  2460.     #if: False
  2461.  128 : COMMAND BEFORE: say '           Made 7 changes as expected...'
  2462.                     Made 7 changes as expected...
  2463.  130 : COMMAND BEFORE: say
  2464.  
  2465.  131 : COMMAND BEFORE: say  '*************************************************************************'
  2466.          *************************************************************************
  2467.  132 : COMMAND BEFORE: say  '*** Try some delete lines ***'
  2468.          *** Try some delete lines ***
  2469.  134 : COMMAND BEFORE: moveto 2
  2470.          >Now at Location = 2
  2471.  135 : COMMAND BEFORE: deletelines
  2472.          >Deleting lines 2 to 2
  2473.          >    Line #2 : "REM 2. **** Fred Fred Fred"
  2474.  136 : COMMAND BEFORE: bottom
  2475.          >Now at Location = 295
  2476.  137 : COMMAND BEFORE: say  'Current Posn @Bottom = "${CurrentPosn}"'
  2477.  137 : COMMAND AFTER : say  'Current Posn @Bottom = "295"'
  2478.          Current Posn @Bottom = "295"
  2479.  138 : COMMAND BEFORE: deletelines
  2480.          >Deleting lines 295 to 295
  2481.          >    Line #295 : "Last LINE - 0"
  2482.  139 : COMMAND BEFORE: say  'Deleted the last line, Rc = ${Rc} (${RcReason})'
  2483.  139 : COMMAND AFTER : say  'Deleted the last line, Rc = 0 (OK)'
  2484.          Deleted the last line, Rc = 0 (OK)
  2485.  140 : COMMAND BEFORE: say  'Current Posn @Bottom = "${CurrentPosn}" (should be 1 less than before)'
  2486.  140 : COMMAND AFTER : say  'Current Posn @Bottom = "294" (should be 1 less than before)'
  2487.          Current Posn @Bottom = "294" (should be 1 less than before)
  2488.  141 : COMMAND BEFORE: deletelines 4
  2489.          >WARNING: Rc=516, Can not delete 4 lines (forwards), deleting to end
  2490.          >Deleting lines 294 to 294
  2491.          >    Line #294 : "Last LINE - 1"
  2492.  142 : COMMAND BEFORE: say  'Deleted the last line (tried for 4), Rc = ${Rc} (${RcReason})'
  2493.  142 : COMMAND AFTER : say  'Deleted the last line (tried for 4), Rc = 0 (OK)'
  2494.          Deleted the last line (tried for 4), Rc = 0 (OK)
  2495.  143 : COMMAND BEFORE: say  'Current Posn @Bottom = "${CurrentPosn}" (should be 1 less than before)'
  2496.  143 : COMMAND AFTER : say  'Current Posn @Bottom = "293" (should be 1 less than before)'
  2497.          Current Posn @Bottom = "293" (should be 1 less than before)
  2498.  144 : COMMAND BEFORE: deletelines -2
  2499.          >Deleting lines 292 to 293
  2500.          >    Line #292 : "Last LINE - 3"
  2501.          >    Line #293 : "Last LINE - 2"
  2502.  145 : COMMAND BEFORE: say  'The above DELETE should delete 2 lines (backwards & work), Rc = ${Rc} (${RcReason})'
  2503.  145 : COMMAND AFTER : say  'The above DELETE should delete 2 lines (backwards & work), Rc = 0 (OK)'
  2504.          The above DELETE should delete 2 lines (backwards & work), Rc = 0 (OK)
  2505.  146 : COMMAND BEFORE: say  'Current Posn @Bottom = "${CurrentPosn}" (should be 2 less than before)'
  2506.  146 : COMMAND AFTER : say  'Current Posn @Bottom = "291" (should be 2 less than before)'
  2507.          Current Posn @Bottom = "291" (should be 2 less than before)
  2508.  147 : COMMAND BEFORE: say
  2509.  
  2510.  148 : COMMAND BEFORE: say  '*************************************************************************'
  2511.          *************************************************************************
  2512.  149 : COMMAND BEFORE: say  '*** Go to Top & Bottom and insert 3 lines ***'
  2513.          *** Go to Top & Bottom and insert 3 lines ***
  2514.  150 : COMMAND BEFORE: top
  2515.          >Now at Location = 0
  2516.  151 : COMMAND BEFORE: InsertLine "****** TOP ******"
  2517.          >New line is being inserted as line #1
  2518.  152 : COMMAND BEFORE: InsertLine "****** TOP+1 ******"
  2519.          >New line is being inserted as line #2
  2520.  153 : COMMAND BEFORE: InsertLine "****** TOP+2 ******"
  2521.          >New line is being inserted as line #3
  2522.  154 : COMMAND BEFORE: say
  2523.  
  2524.  155 : COMMAND BEFORE: bottom
  2525.          >Now at Location = 294
  2526.  156 : COMMAND BEFORE: InsertLine "****** END ******"
  2527.          >New line is being inserted as line #295
  2528.  157 : COMMAND BEFORE: InsertLine "****** END+1 ******"
  2529.          >New line is being inserted as line #296
  2530.  158 : COMMAND BEFORE: InsertLine "****** END+2 ******"
  2531.          >New line is being inserted as line #297
  2532.  159 : COMMAND BEFORE: say
  2533.  
  2534.  160 : COMMAND BEFORE: say  '*************************************************************************'
  2535.          *************************************************************************
  2536.  161 : COMMAND BEFORE: say  '*** Checkpoint the file ***'
  2537.          *** Checkpoint the file ***
  2538.  162 : COMMAND BEFORE: say
  2539.  
  2540.  163 : COMMAND BEFORE: checkpoint
  2541.          >Checkpointing to "OUT\EXAMPLE.OUT"
  2542.  164 : COMMAND BEFORE: say  "Checkpoint Rc = ${Rc} (${RcReason})"
  2543.  164 : COMMAND AFTER : say  "Checkpoint Rc = 0 (OK)"
  2544.          Checkpoint Rc = 0 (OK)
  2545.  165 : COMMAND BEFORE: say
  2546.  
  2547.  166 : COMMAND BEFORE: say
  2548.  
  2549.  167 : COMMAND BEFORE: say  '*************************************************************************'
  2550.          *************************************************************************
  2551.  168 : COMMAND BEFORE: say  '*** Display some standard variables ***'
  2552.          *** Display some standard variables ***
  2553.  169 : COMMAND BEFORE: say
  2554.  
  2555.  170 : COMMAND BEFORE: say  '"{Rc}"               = "${Rc}"'
  2556.  170 : COMMAND AFTER : say  '"{Rc}"               = "0"'
  2557.          "{Rc}"               = "0"
  2558.  171 : COMMAND BEFORE: say  '"{CurrentPosn}"      = "${CurrentPosn}"'
  2559.  171 : COMMAND AFTER : say  '"{CurrentPosn}"      = "297"'
  2560.          "{CurrentPosn}"      = "297"
  2561.  172 : COMMAND BEFORE: say  '"{CurrentLine}"      = "${CurrentLine}"'
  2562.  172 : COMMAND AFTER : say  '"{CurrentLine}"      = "****** END+2 ******"'
  2563.          "{CurrentLine}"      = "****** END+2 ******"
  2564.  173 : COMMAND BEFORE: say  '"{TextFileIn}"       = "${TextFileIn}"'
  2565.  173 : COMMAND AFTER : say  '"{TextFileIn}"       = "EXAMPLE.IN"'
  2566.          "{TextFileIn}"       = "EXAMPLE.IN"
  2567.  174 : COMMAND BEFORE: say  '"{TextFileOut}"      = "${TextFileOut}"'
  2568.  174 : COMMAND AFTER : say  '"{TextFileOut}"      = "OUT\EXAMPLE.OUT"'
  2569.          "{TextFileOut}"      = "OUT\EXAMPLE.OUT"
  2570.  175 : COMMAND BEFORE: say  '"{ChangeFile}"       = "${ChangeFile}"'
  2571.  175 : COMMAND AFTER : say  '"{ChangeFile}"       = "EXAMPLE.TE"'
  2572.          "{ChangeFile}"       = "EXAMPLE.TE"
  2573.  176 : COMMAND BEFORE: say  '"{ChangeTime}"       = "${ChangeTime}"'
  2574.  176 : COMMAND AFTER : say  '"{ChangeTime}"       = "Saturday, 17 Apr 1999  9:14:30am"'
  2575.          "{ChangeTime}"       = "Saturday, 17 Apr 1999  9:14:30am"
  2576.  177 : COMMAND BEFORE: say  '"{Parameters}"       = "${Parameters}"'
  2577.  177 : COMMAND AFTER : say  '"{Parameters}"       = ""'
  2578.          "{Parameters}"       = ""
  2579.  178 : COMMAND BEFORE: say  '"{Version}"          = "${Version}"'
  2580.  178 : COMMAND AFTER : say  '"{Version}"          = "99.107"'
  2581.          "{Version}"          = "99.107"
  2582.  179 : COMMAND BEFORE: say  '"{SyntaxErrorCount}" = "${SyntaxErrorCount}"'
  2583.  179 : COMMAND AFTER : say  '"{SyntaxErrorCount}" = "2"'
  2584.          "{SyntaxErrorCount}" = "2"
  2585.  182 : COMMAND: #comment 'REM '    ";;"
  2586.  184 : COMMAND BEFORE: debug on
  2587.  185 : COMMAND BEFORE: debug DumpVar
  2588.          ΓûáUSER VARIABLES
  2589.          Γûá~~~~~~~~~~~~~~~~~
  2590.          Γûá  1 :                 {BackUpFileName} = EXAMPLE.BK
  2591.          Γûá  2 :                          {Test1} = *** REPLACE SOME LINES
  2592.          Γûá  3 :                          {Test2} = "*** DELETE A BLOCK"
  2593.          Γûá  4 :                   {EnvVarPrompt} = $e[0;1;35mBrief:$e[0m$e[1;33m{OS2} $e[0;32m$p$e[31mΓòÉ$e[33m
  2594.          Γûá  5 :                  {SavedPosition} = 13
  2595.  
  2596.  186 : COMMAND BEFORE: debug filestate
  2597.          |CURRENT STATE OF TEXT FILE
  2598.          |~~~~~~~~~~~~~~~~~~~~~~~~~~
  2599.          |   1 : ****** TOP ******
  2600.          |   2 : ****** TOP+1 ******
  2601.          |   3 : ****** TOP+2 ******
  2602.          |   4 : REM 1. **** Fred Fred Fred
  2603.          |   5 : REM 3. **** DennisDennis Dennis Dennis
  2604.          |   6 : REM 4. **** Dennis Dennis
  2605.          |   7 : REM 5. **** Dennis
  2606.          |   8 : REM 6. ****
  2607.          |   9 :
  2608.          |  10 : REM *** Fix for DELL/MADGE Incompatibility if Power Management ON *****
  2609.          |  11 :
  2610.          |  12 : REM *** PRJ STUFF *****************************************************
  2611.          |  13 : SET           DBPVCSCMT=PVCSCMT
  2612.          |  14 : SET              PrjDir=AT\START1;AT\START2;C:\DB\PROJECTS\SUPPORT\SUPPORT;AT\END
  2613.          |  15 : SET            PrjSystm=C:\DB\PROJECTS\SUPPORT\SUPPORT\SYSTEM
  2614.          |  16 : SET               VCSID=Dennis_Bareis
  2615.          |  17 : SET             _Vcscfg=Q:\SUPPORT\PRJPVCS.CFG
  2616.          |  18 : SET      _PrjSupportDir=Q:\SUPPORT
  2617.          |  19 : SET         _PrjInclude=Q:\SUPPORT;Q:\SUPPORT\CMLIB;Q:\SUPPORT\IBMLAN;Q:\SUPPORT\MUGLIB
  2618.          |  20 : SET             _PrjLib=Q:\SUPPORT;Q:\SUPPORT\CMLIB;Q:\SUPPORT\IBMLAN;Q:\SUPPORT\MUGLIB
  2619.          |  21 : SET        _VcscfgLocal=C:\SUPPORT\PRJPVCS.CFG
  2620.          |  22 : SET _PrjSupportDirLocal=C:\SUPPORT
  2621.          |  23 : SET    _PrjIncludeLocal=C:\SUPPORT;C:\SUPPORT\CMLIB;C:\SUPPORT\IBMLAN;C:\SUPPORT\MUGLIB
  2622.          |  24 : SET        _PrjLibLocal=C:\SUPPORT;C:\SUPPORT\CMLIB;C:\SUPPORT\IBMLAN;C:\SUPPORT\MUGLIB
  2623.          |  25 :
  2624.          |  26 : REM *** Modified OS/2 stuff *******************************************
  2625.          |  27 : REM SWAPPATH=C:\ 2048 20480
  2626.          |  28 : SWAPPATH=C:\ 20480 20480
  2627.          |  29 : IFS=C:\OS2\HPFS.IFS /CACHE:4096 /CRECL:64 /AUTOCHECK:C
  2628.          |  30 :
  2629.          |  31 :
  2630.          |  32 : REM *** The following variables are required by MY SUE TOFLOP disk ***
  2631.          |  33 : SET TOFLOP_SUEDIR=Q:\PROD.EXP\SUE
  2632.          |  34 : SET TOFLOP_SUEZIP=c:\DB\a_sue\out\sue.zip
  2633.          |  35 :
  2634.          |  36 : REM *** TEMPORARY DIRECTORY ENV VARS **********************************
  2635.          |  37 : SET    TMP=C:\TMP
  2636.          |  38 : SET TMPDIR=C:\TMP
  2637.          |  39 : SET  SMTMP=C:\TMP
  2638.          |  40 : SET   TEMP=C:\TMP
  2639.          |  41 :
  2640.          |  42 : REM *** REX to C INTERFACE DEBUGGING **********************************
  2641.          |  43 : REM SET REXANZ=DISPLAY
  2642.          |  44 : SET REXANZ=C:\REXANZ.LOG
  2643.          |  45 :
  2644.          |  46 : REM SET SHELLEXCEPTIONHANDLER=OFF
  2645.          |  47 : SET OS2DRV=C:
  2646.          |  48 : SET BG-COLOUR=BLACK
  2647.          |  49 : SET FG-COLOUR=BR_WHITE
  2648.          |  50 : SET SORT-KEY=EXTN
  2649.          |  51 : SET WOS2-COM9=C:\OS2\CMD.EXE /C C:\DB\BATCH\CMD\SHOWSTR.CMD
  2650.          |  52 : SET WOS2-COM10=!Q:\PROD.EXP\SUE\VIEWFILE.EXE
  2651.          |  53 : SET WOS2-COM11=!LF.EXE
  2652.          |  54 : SET WOS2-COM12=!C:\OS2\CMD.EXE /C C:\DB\BATCH\CMD\EDIT.CMD
  2653.          |  55 : SET Prompt=$e[1;33m{OS2} $e[0;32m$p$e[31mΓòÉ$e[33m
  2654.          |  56 : DEVICE=C:\OS2\MDOS\ANSI.SYS
  2655.          |  57 :
  2656.          |  58 : SET  UTLINDEV=.
  2657.          |  59 : SET  GEN_PWHASH4=RETAIL_VARIENT
  2658.          |  60 :
  2659.          |  61 : SET  SUCTRACE=0
  2660.          |  62 : SET  SUCNOBAR=.
  2661.          |  63 : REM set  psslog=@W,u:\pss.log
  2662.          |  64 : REM set  psslog=@I,u:\pss.log
  2663.          |  65 :
  2664.          |  66 : REM ----- SUE Project stuff ---------------
  2665.          |  67 : SET  MSGPATH=C:\SUE\
  2666.          |  68 : SET    AplDb=Q:\PROD.EXP\SUE\MAIN.MNU
  2667.          |  69 : SET MSGTRACE=C:\SUE\OUT\MSG$TRC.ZZZ
  2668.          |  70 : SET AplTrace=C:\SUE\OUT\COB.LOG
  2669.          |  71 : SET  ALR_LOGS=C:\SUE\OUT\ALERT.LOG
  2670.          |  72 : SET  LOGFILE=C:\SUE\OUT\STANDARD.LOG
  2671.          |  73 : REM set  RESTARTOBJECTS=NO,REBOOTONLY
  2672.          |  74 : SET  RESTARTOBJECTS=NO,STARTUPFOLDERSONLY
  2673.          |  75 :
  2674.          |  76 : SET SHUTDOWN=C:\SUE\OUT\SHUTDOWN.LOG
  2675.          |  77 : SET VIEWFILE=Q:\PROD.EXP\SUE\VIEWFILE.INI
  2676.          |  78 :
  2677.          |  79 :
  2678.          |  80 : REM **** SET UP ICU CONFIG ****
  2679.          |  81 : SET      _BSB_=0219
  2680.          |  82 : SET     _IMSC_=1
  2681.          |  83 : SET   _WSN_NO_=1
  2682.          |  84 : SET   _WSN_ID_=DB_WSN
  2683.          |  85 : SET _WSN_TYPE_=WSN_1
  2684.          |  86 : SET SUC_WSNTYPE_TABLE_FILE=C:\WSN_TYPE.TBL
  2685.          |  87 :
  2686.          |  88 :
  2687.          |  89 : REM ****
  2688.          |  90 : REM **** INSERTED BY DBCSYS.CMD ***************************************
  2689.          |  91 : REM ****
  2690.          |  92 :
  2691.          |  93 :
  2692.          |  94 : SET SQLNETB=32
  2693.          |  95 : PROTSHELL=C:\OS2\PMSHELL.EXE
  2694.          |  96 : SET USER_INI=C:\OS2\OS2.INI
  2695.          |  97 : SET SYSTEM_INI=C:\OS2\OS2SYS.INI
  2696.          |  98 : SET OS2_SHELL=C:\OS2\CMD.EXE
  2697.          |  99 : SET AUTOSTART=TASKLIST,FOLDERS,LAUNCHPAD
  2698.          | 100 : SET RUNWORKPLACE=C:\OS2\PMSHELL.EXE
  2699.          | 101 : SET COMSPEC=C:\OS2\CMD.EXE
  2700.          | 102 : LIBPATH=ADDED\TO\START\WITH\RC;AFTER\NW;BEFORE\NW;C:\AT\START\OF\LIBPATH1;C:\AT\START\OF\LIBPATH2;.;C:\OS2\MDOS;C:\;Z:\;C:\DEVCON\DLL;C:\AT\END1;AT\END2
  2701.          | 103 : SET PATH=C:\DB\BATCH\CMD;C:\DB\UTILP;C:\DB\UTILB;C:\OS2;C:\NETWARE;Z:\;Q:\SUPPORT;C:\SUPPORT;C:\SUE;Q:\TOOLS\OS2;
  2702.          | 104 : BASEDEV=DETNE2.SYS
  2703.          | 105 : SET HELP=C:\VACPP.30\HELP;;N:\OS2APPS\VXREXX;Q:\PROD.EXP\SUE;Q:\SUPPORT;C:\SUPPORT;
  2704.          | 106 : SET GLOSSARY=C:\OS2\HELP\GLOSS
  2705.          | 107 : SET IPF_KEYS=SHOWNAV+SBCS
  2706.          | 108 : PRIORITY_DISK_IO=NO
  2707.          | 109 : FILES=100
  2708.          | 110 : BASEDEV=IBMKBD.SYS
  2709.          | 111 : DEVICE=C:\IBMCOM\PROTOCOL\LANPDD.OS2
  2710.          | 112 : DEVICE=C:\IBMCOM\PROTOCOL\LANVDD.OS2
  2711.          | 113 : DEVICE=C:\ibmcom\LANMSGDD.OS2 /I:C:\ibmcom
  2712.          | 114 : DEVICE=C:\ibmcom\PROTMAN.OS2 /I:C:\ibmcom
  2713.          | 115 : DEVICE=C:\OS2\BOOT\TESTCFG.SYS
  2714.          | 116 : DEVICE=C:\OS2\BOOT\DOS.SYS
  2715.          | 117 : DEVICE=C:\OS2\BOOT\PMDD.SYS
  2716.          | 118 : BUFFERS=90
  2717.          | 119 : IOPL=YES
  2718.          | 120 : DISKCACHE=D,LW
  2719.          | 121 : MAXWAIT=3
  2720.          | 122 : MEMMAN=SWAP,PROTECT
  2721.          | 123 : BREAK=OFF
  2722.          | 124 : THREADS=512
  2723.          | 125 : PRINTMONBUFSIZE=134,134,134
  2724.          | 126 : COUNTRY=061,C:\OS2\SYSTEM\COUNTRY.SYS
  2725.          | 127 : SET KEYS=ON
  2726.          | 128 : SET BOOKSHELF=C:\VACPP.30\HELP;C:\CMLIB\BOOK;N:\OS2APPS\JBAGD330\DOC;Q:\PROD.EXP\SUE;Q:\SUPPORT;C:\SUPPORT;
  2727.          | 129 : SET SOMIR=C:\VACPP.30\ETC\SOM.IR;C:\OS2\ETC\SOM.IR;C:\OS2\ETC\WPSH.IR;C:\OS2\ETC\WPDSERV.IR
  2728.          | 130 : SET SOMDDIR=C:\OS2\ETC\DSOM
  2729.          | 131 : REM SET DELDIR=C:\DELETE,512
  2730.          | 132 : BASEDEV=PRINT01.SYS
  2731.          | 133 : BASEDEV=IBM1FLPY.ADD
  2732.          | 134 : BASEDEV=IBM2FLPY.ADD
  2733.          | 135 : BASEDEV=IBM1S506.ADD
  2734.          | 136 : BASEDEV=XDFLOPPY.FLT
  2735.          | 137 : BASEDEV=OS2DASD.DMD
  2736.          | 138 : SET EPMPATH=C:\OS2\APPS
  2737.          | 139 : PROTECTONLY=NO
  2738.          | 140 : SHELL=C:\OS2\MDOS\COMMAND.COM C:\OS2\MDOS
  2739.          | 141 : FCBS=16,8
  2740.          | 142 : RMSIZE=640
  2741.          | 143 : DEVICE=C:\OS2\MDOS\VEMM.SYS
  2742.          | 144 : DOS=HIGH,UMB
  2743.          | 145 : DEVICE=C:\OS2\MDOS\VXMS.SYS /UMB
  2744.          | 146 : DEVICE=C:\OS2\MDOS\VDPMI.SYS
  2745.          | 147 : DEVICE=C:\OS2\MDOS\VDPX.SYS
  2746.          | 148 : DEVICE=C:\OS2\MDOS\VWIN.SYS
  2747.          | 149 : DEVICE=C:\OS2\MDOS\VW32S.SYS
  2748.          | 150 : BASEDEV=OS2SCSI.DMD
  2749.          | 151 : BASEDEV=FD16-700.ADD
  2750.          | 152 : DEVICE=C:\OS2\MDOS\VMOUSE.SYS
  2751.          | 153 : DEVICE=C:\OS2\BOOT\POINTDD.SYS
  2752.          | 154 : DEVICE=C:\OS2\BOOT\MOUSE.SYS
  2753.          | 155 : DEVICE=C:\OS2\BOOT\COM.SYS
  2754.          | 156 : DEVICE=C:\OS2\MDOS\VCOM.SYS
  2755.          | 157 : CODEPAGE=437,850
  2756.          | 158 : DEVINFO=KBD,US,C:\OS2\KEYBOARD.DCP
  2757.          | 159 : CALL=C:\ibmcom\PROTOCOL\NETBIND.EXE
  2758.          | 160 : RUN=C:\ibmcom\LANMSGEX.EXE
  2759.          | 161 : DEVICE=c:\IBMCOM\PROTOCOL\NETBEUI.OS2
  2760.          | 162 : DEVICE=C:\IBMLAN\NETPROG\RDRHELP.200
  2761.          | 163 : IFS=C:\IBMLAN\NETPROG\NETWKSTA.200 /I:C:\IBMLAN /N
  2762.          | 164 : DEVICE=c:\IBMCOM\PROTOCOL\NETBIOS.OS2
  2763.          | 165 : DEVICE=c:\IBMCOM\MACS\MDGND.OS2
  2764.          | 166 : RUN=C:\ibmcom\PROTOCOL\LANDLL.EXE
  2765.          | 167 : SET DIRCMD=/O:GN
  2766.          | 168 :
  2767.          | 169 : REM ******** CICS
  2768.          | 170 : REM **** COBOL LINE WAS HERE ****
  2769.          | 171 : REM **** COBOL LINE WAS HERE ****
  2770.          | 172 : REM **** COBOL LINE WAS HERE ****
  2771.          | 173 : REM **** COBOL LINE WAS HERE ****
  2772.          | 174 : REM **** COBOL LINE WAS HERE ****
  2773.          | 175 : REM **** COBOL LINE WAS HERE ****
  2774.          | 176 : REM **** COBOL LINE WAS HERE ****
  2775.          | 177 : SET COBFSTATCONV=HOSTSTAT
  2776.          | 178 : REM **** COBOL LINE WAS HERE ****
  2777.          | 179 : SET TXDIR=N:\OS2APPS\TX.30
  2778.          | 180 : REM **** COBOL LINE WAS HERE ****
  2779.          | 181 : REM ******** END CICS
  2780.          | 182 :
  2781.          | 183 :
  2782.          | 184 : REM ******* MICRO FOCUS 370 ASSEMBLER
  2783.          | 185 : SET DIR370=N:\OS2APPS\MF370\SMF370
  2784.          | 186 :
  2785.          | 187 : REM ******* VX REXX
  2786.          | 188 : SET VXREXX=N:\OS2APPS\VXREXX
  2787.          | 189 :
  2788.          | 190 : REM ******* MWB
  2789.          | 191 : SET ICM=Q:\SHARE\MWB\ADMIN
  2790.          | 192 : SET MASTERDATAPAGES=150
  2791.          | 193 : SET MASTERHASHPAGES=45
  2792.          | 194 : SET LOCALDATAPAGES=800
  2793.          | 195 :
  2794.          | 196 : REM ******** HCO & CSDO
  2795.          | 197 : SET HCODIR=N:\OS2APPS\MFHCO.11
  2796.          | 198 : SET CSDODIR=N:\OS2APPS\MFCSDO.11
  2797.          | 199 : SET CSDODAT=F:\MFCSDO
  2798.          | 200 : SET CSDOCFG=F:\MFCSDO
  2799.          | 201 :
  2800.          | 202 : REM ******** PVCS 5.2
  2801.          | 203 : SET ISLVINI=F:\PVCS
  2802.          | 204 :
  2803.          | 205 : REM ******** Visualizer Query_for_OS/2_(Requester)*
  2804.          | 206 : REM SET FTB1DIR=C:\FTW\WORK
  2805.          | 207 : REM SET FTB1PATH=C:\FTW;N:\OS2APPS\FTW.12
  2806.          | 208 : REM SET FTBBASE=C:\FTW
  2807.          | 209 : SET FTB1PRELOAD=30
  2808.          | 210 : SET DSSPATH=C:\FTW;N:\OS2APPS\FTW.12
  2809.          | 211 :
  2810.          | 212 : SET SDPINI=S:\SDP\UTILS\GENERAL\SDP.INI
  2811.          | 213 : SET INCLUDE=C:\VACPP.30\INCLUDE;C:\VACPP.30\INCLUDE\OS2;C:\VACPP.30\INCLUDE\SOM;N:\OS2APPS\JBAGD330\INCLUDE;
  2812.          | 214 : SET LIB=C:\VACPP.30\LIB;C:\VACPP.30\DLL;
  2813.          | 215 : DEVICE=C:\IBMCOM\PROTOCOL\LANDD.OS2
  2814.          | 216 : DEVICE=C:\IBMCOM\PROTOCOL\LANDLLDD.OS2
  2815.          | 217 : RUN=C:\IBMLAN\NETPROG\LSDAEMON.EXE
  2816.          | 218 : SET NWDBPATH=C:\IBMLAN\NETPROG
  2817.          | 219 : SET DLSINI=C:\IBMLAN\NETPROG\NETGUI.INI
  2818.          | 220 : SET INIT_FILE_NAMES=netgui
  2819.          | 221 : SET INIT_FILE_RANGES=200
  2820.          | 222 : SET WPS_COMMUNICATION=YES
  2821.          | 223 : SET LOCPATH=C:\VACPP.30\LOCALE;C:\IBMLAN\XPG4\LOCALE
  2822.          | 224 : SET LANG=ENUS437
  2823.          | 225 :
  2824.          | 226 : DEVICE=C:\CMLIB\ACSLANDD.SYS
  2825.          | 227 : DEVICE=C:\CMLIB\CMKFMDE.SYS
  2826.          | 228 : SET CMPATH=C:\CMLIB
  2827.          | 229 : DEVICE=C:\OS2\LOG.SYS
  2828.          | 230 : RUN=C:\OS2\SYSTEM\LOGDAEM.EXE
  2829.          | 231 : DEVICE=C:\OS2\EPWDD.SYS
  2830.          | 232 : RUN=C:\OS2\EPWDDR3.EXE
  2831.          | 233 : RUN=C:\OS2\EPWROUT.EXE 1
  2832.          | 234 : RUN=C:\OS2\EPW.EXE
  2833.          | 235 : SET QRWDR=C:
  2834.          | 236 : SET QRWINST=C:\SQLLIB
  2835.          | 237 : SET VACPP_SHARED=FALSE
  2836.          | 238 : SET CPPHELP_INI=C:\OS2\SYSTEM
  2837.          | 239 : SET CPPLOCAL=C:\VACPP.30
  2838.          | 240 : SET CPPMAIN=C:\VACPP.30
  2839.          | 241 : SET CPPWORK=C:\VACPP.30
  2840.          | 242 : SET IWFHELP=IWFHDI.INF
  2841.          | 243 : SET IWFOPT=C:\VACPP.30
  2842.          | 244 : SET IWF.DEFAULT_PRJ=CPPDFTPRJ
  2843.          | 245 : SET IWF.SOLUTION_LANG_SUPPORT=CPPIBS30;ENG
  2844.          | 246 : SET THREADS=512
  2845.          | 247 : SET SMINCLUDE=C:\VACPP.30\INCLUDE\OS2;C:\VACPP.30\INCLUDE;C:\VACPP.30\INCLUDE\SOM
  2846.          | 248 : DEVICE=C:\VACPP.30\SYS\CPPOPA3.SYS
  2847.          | 249 : SET VBPATH=.;C:\VACPP.30\DDE4VB
  2848.          | 250 : SET LXEVFREF=EVFELREF.INF+LPXCREF.INF
  2849.          | 251 : SET LXEVFHDI=EVFELHDI.INF+LPEXHDI.INF
  2850.          | 252 : SET LPATH=C:\VACPP.30\MACROS
  2851.          | 253 : SET CODELPATH=C:\VACPP.30\CODE\MACROS;C:\VACPP.30\MACROS
  2852.          | 254 : SET CLREF=CPPCLRF.INF+CPPDAT.INF+CPPAPP.INF+CPPWIN.INF+CPPCTL.INF+CPPADV.INF+CPP2DG.INF+CPPDDE.INF+CPPDM.INF+CPPMM.INF+CPPCLRB.INF
  2853.          | 255 : SET IPFC=C:\VACPP.30\IPFC
  2854.          | 256 : SET SOMRUNTIME=C:\VACPP.30\DLL
  2855.          | 257 : SET CPREF=CP1.INF+CP2.INF+CP3.INF
  2856.          | 258 : SET GPIREF=GPI1.INF+GPI2.INF+GPI3.INF
  2857.          | 259 : SET PMREF=PM1.INF+PM2.INF+PM3.INF+PM4.INF+PM5.INF
  2858.          | 260 : SET WPSREF=WPS1.INF+WPS2.INF+WPS3.INF
  2859.          | 261 : SET MMREF=MMREF1.INF+MMREF2.INF+MMREF3.INF
  2860.          | 262 : SET SMADDSTAR=1
  2861.          | 263 : SET SMEMIT=h;ih;c
  2862.          | 264 : SET SOMBASE=C:\VACPP.30
  2863.          | 265 : SET SMCLASSES=WPTYPES.IDL
  2864.          | 266 : SET HELPNDX=EPMKWHLP.NDX+CPP.NDX+CPPBRS.NDX
  2865.          | 267 : SET GUE=N:\OS2APPS\JBAGD330\GUE
  2866.          | 268 : SET BmpPath=N:\OS2APPS\JBAGD330\Res
  2867.          | 269 : REM BmpPath=N:\OS2APPS\JBAGD330\Res
  2868.          | 270 : REM Beginning of Netware device statements
  2869.          | 271 : REM Beginning of Netware device statements
  2870.          | 272 : DEVICE=C:\NETWARE\LSL.SYS
  2871.          | 273 : RUN=C:\NETWARE\DDAEMON.EXE
  2872.          | 274 : DEVICE=C:\IBMCOM\PROTOCOL\ODI2NDI.OS2
  2873.          | 275 : DEVICE=C:\NETWARE\IPX.SYS
  2874.          | 276 : DEVICE=C:\NETWARE\ROUTE.SYS
  2875.          | 277 : DEVICE=C:\NETWARE\NWREQ.SYS
  2876.          | 278 : DEVICE=C:\NETWARE\SPX.SYS
  2877.          | 279 : RUN=C:\NETWARE\SPDAEMON.EXE
  2878.          | 280 : IFS=C:\NETWARE\NWIFS.IFS
  2879.          | 281 : RUN=C:\NETWARE\NWDAEMON.EXE
  2880.          | 282 : DEVICE=C:\NETWARE\VIPX.SYS
  2881.          | 283 : DEVICE=C:\NETWARE\VSHELL.SYS GLOBAL
  2882.          | 284 : REM CE=C:\NETWARE\VSHELL.SYS GLOBAL
  2883.          | 285 : DEVICE=C:\OS2\MDOS\LPTDD.SYS
  2884.          | 286 : REM CE=C:\OS2\MDOS\LPTDD.SYS
  2885.          | 287 : REM - NetWare Requester statements END --
  2886.          | 288 : DEVINFO=SCR,VGA,C:\OS2\BOOT\VIOTBL.DCP
  2887.          | 289 : SET VIDEO_DEVICES=VIO_SVGA
  2888.          | 290 : DEVICE=C:\OS2\MDOS\VSVGA.SYS
  2889.          | 291 : DEVINFO=SCR,VGA,C:\OS2\VIOTBL.DCP
  2890.          | 292 : SET VIO_SVGA=DEVICE(BVHVGA,BVHSVGA)
  2891.          | 293 : DEVICE=C:\OS2\MDOS\VPRPMI.SYS
  2892.          | 294 : Last LINE - 4
  2893.          | 295 : ****** END ******
  2894.          | 296 : ****** END+1 ******
  2895.          | 297 : ****** END+2 ******
  2896.          |
  2897.          |OTHER INFO
  2898.          |~~~~~~~~~~
  2899.          |Current Posn   : 297
  2900.          |Current Line   : ****** END+2 ******
  2901.          |# Syntax Errors: 2
  2902.  
  2903.  187 : COMMAND BEFORE: debug listpgm
  2904.          *PROGRAM BEING RUN
  2905.          *~~~~~~~~~~~~~~~~~
  2906.          *  E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(1) : ;saylevel 0
  2907.          *  E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(2) : debug ON
  2908.          *  E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(4) : ;--- Try some EVALUATE calls which will fail badly! -------------------------
  2909.          *  E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(5) : evaluate "SyntaxError"     "x()"
  2910.          *  E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(6) : evaluate "UnknownVariable" "X + Y"
  2911.          *  E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(8) : ;--- Make a BACKUP of the file (use .BK extension) --------------------------
  2912.          *  E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(9) : @say
  2913.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(10) : @say  '*************************************************************************'
  2914.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(11) : @say  '*** Make a BackUp of the file'
  2915.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(12) : @say
  2916.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(13) : @evaluate 'BackUpFileName' 'left("${TextFileIn}", lastpos(".", "${TextFileIn}")) || "BK"'
  2917.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(14) : @say 'PROCESSING : ${TextFileIn}'
  2918.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(15) : @say 'BACKUP FILE: {BackUpFileName}'
  2919.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(16) : @checkpoint '{BackUpFileName}'                //Creating BackUp file
  2920.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(17) : @say  "Checkpoint Rc = ${Rc} (${RcReason})"
  2921.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(18) : @say
  2922.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(22) : @say
  2923.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(23) : @say  '*************************************************************************'
  2924.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(24) : #define Test1 '*** REPLACE SOME LINES'
  2925.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(25) : @say  '{Test1}'
  2926.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(26) : @top
  2927.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(27) : wildcard '~'
  2928.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(28) : replacelines all "~COBOL~" "REM **** COBOL LINE WAS HERE ****"
  2929.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(31) : @say
  2930.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(32) : @say  '*************************************************************************'
  2931.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(33) : #define Test2 '"*** DELETE A BLOCK"'
  2932.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(34) : @say  {Test2}
  2933.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(35) : bottom
  2934.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(36) : deleteblock  '~ APS'     "~END - APS"
  2935.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(37) : @say  'This should fail as we are past the start & end of this block (FindRc = ${Rc})'
  2936.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(38) : top
  2937.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(39) : deleteblock  'REM ******** APS'     "~END - APS"
  2938.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(40) : @say  'This should work (FindRc = ${Rc})'
  2939.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(41) : deleteblock  'DEVICE=C:\DB\FIXES\PNPENABL.OS2'
  2940.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(42) : @say  'This should work (FindRc = ${Rc})'
  2941.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(43) : wildcard '*'
  2942.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(46) : @say
  2943.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(47) : @say  '*************************************************************************'
  2944.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(48) : @say  '*** Find some strings'
  2945.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(49) : top
  2946.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(50) : casesensitive ON
  2947.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(51) : find  -1   "Should fail can't search backwards from Top!"
  2948.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(52) : casesensitive OFF
  2949.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(53) : find  1    '*Prj*'
  2950.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(54) : @say  '1st  "*Prj*" in file is on line #${CurrentPosn} - Case insensitive search - FindRc = ${Rc}'
  2951.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(55) : @top
  2952.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(56) : find  3    '*Prj*'
  2953.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(57) : @say  '3rd  "*Prj*" in file is on line #${CurrentPosn} - Case insensitive search - FindRc = ${Rc}'
  2954.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(58) : bottom
  2955.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(59) : casesensitive ON
  2956.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(60) : find  -1    '*Prj*'
  2957.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(61) : @say  'Last "*Prj*" in file is on line #${CurrentPosn} - Case Sensitive search - FindRc = ${Rc}'
  2958.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(62) : find  -3    '*Prj*'
  2959.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(63) : @say  '3rd Last "*Prj*" in file is on line #${CurrentPosn} - Case Sensitive search - FindRc = ${Rc}'
  2960.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(64) : find  -999  '*Prj*'
  2961.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(65) : @say  'Should not have move current position as search should fail. - CurrentLine = ${CurrentPosn}, FindRc = ${Rc}'
  2962.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(66) : ;#if ${Rc} <> 0
  2963.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(67) : ;    exit  255  "Could not locate the required string"
  2964.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(68) : ;#endif
  2965.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(71) : ;--- Add C:\XYZ to 'PrjDir' path --------------------------------------------
  2966.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(72) : @say
  2967.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(73) : @say  '*************************************************************************'
  2968.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(74) : @say  '*** Adjust some paths'
  2969.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(75) : libpath           DELETE                 "C:\DB\UTILP;Q:\PROD.EXP\SUE;C:\SUPPORT;C:\EXPORT\SUE"
  2970.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(76) : libpath           ADDSTART               "C:\AT\START\OF\LIBPATH1;C:\AT\START\OF\LIBPATH2"
  2971.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(77) : libpath           ADDEND                 "C:\AT\END1;AT\END2"
  2972.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(78) : libpath           ADDBEFORE 'C:\NETWARE'  "BEFORE\NW"
  2973.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(79) : libpath           ADDAFTER  'c:\netware'  "AFTER\NW"
  2974.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(80) : libpath           ADDAFTER  'c:\WontFind' "ADDED\TO\START\WITH\RC"
  2975.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(81) : setpath 'PrjDir'  ADDEND                  "AT\END"
  2976.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(82) : setpath 'PrjDir'  ADDSTART                "AT\START1;AT\START2"
  2977.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(84) : ;--- Get some environment variables -----------------------------------------
  2978.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(85) : @say
  2979.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(86) : @say  '*************************************************************************'
  2980.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(87) : @evaluate 'EnvVarPrompt' 'GetEnv("Prompt")'
  2981.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(88) : @say 'THE CURRENT PROMPT IS "{EnvVarPrompt}"'
  2982.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(90) : ;--- Execute a command which should work ------------------------------------
  2983.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(91) : @say
  2984.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(92) : @say  '*************************************************************************'
  2985.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(93) : execute 'dir e:\os2\bitmap /od'
  2986.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(94) : #if     ${Rc} <> 0
  2987.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(95) : exit  ${Rc}  "Dir command failed with RC = ${Rc}"
  2988.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(96) : #endif
  2989.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(97) : @say
  2990.          * E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(99) : ;--- Test remember current location an go back to it ------------------------
  2991.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(100) : @say
  2992.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(101) : @say  '*************************************************************************'
  2993.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(102) : @top
  2994.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(103) : @down 13
  2995.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(104) : @evaluate 'SavedPosition' '${CurrentPosn}'
  2996.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(105) : @bottom
  2997.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(106) : @say  'Now at current Position = ${CurrentPosn}'
  2998.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(107) : @moveto {SavedPosition}
  2999.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(108) : @say  'After Posn Restore, current Position = ${CurrentPosn}'
  3000.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(110) : ;--- Try different quote characters -----------------------------------------
  3001.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(111) : @say
  3002.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(112) : @say  '*************************************************************************'
  3003.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(113) : @say  '*** Try a few quotes ***'
  3004.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(114) : @say 'FRED - single'
  3005.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(115) : @say "FRED - double"
  3006.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(116) : @say FRED - double arrow
  3007.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(117) : @say
  3008.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(119) : @say
  3009.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(120) : @say  '*************************************************************************'
  3010.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(121) : @say  '*** Trying a few movement commands ***'
  3011.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(122) : top
  3012.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(123) : @say  '"{CurrentPosn}"    = "${CurrentPosn}"'
  3013.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(124) : @say  'Return code = ${Rc} (${RcReason})'
  3014.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(125) : down
  3015.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(126) : @say  Γûê"{CurrentPosn}"    = "${CurrentPosn}"Γûê
  3016.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(127) : @say  ΓûêReturn code = ${Rc} (${RcReason})Γûê
  3017.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(128) : down 999
  3018.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(129) : @say  "Return code = ${Rc} (${RcReason})"
  3019.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(130) : @say  '"{CurrentPosn}"    = "${CurrentPosn}"'
  3020.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(133) : @say
  3021.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(134) : @say  '*************************************************************************'
  3022.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(135) : @say  '*** Replace some text, die if we did not make 7 changes ***'
  3023.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(136) : @say
  3024.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(137) : @say
  3025.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(138) : top
  3026.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(139) : down
  3027.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(140) : down
  3028.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(141) : replacetext all 'Fred' 'Dennis'
  3029.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(142) : #if     '${ReplaceCount}' <> '7'
  3030.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(143) : @exit 255 'Invalid Number of replacements, expected to make 7...'
  3031.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(144) : #elseif
  3032.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(145) : @say '           Made 7 changes as expected...'
  3033.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(146) : #endif
  3034.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(150) : @say
  3035.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(151) : @say  '*************************************************************************'
  3036.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(152) : @say  '*** Try some delete lines ***'
  3037.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(153) : ;--- Delete the 2nd line ----
  3038.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(154) : moveto 2
  3039.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(155) : deletelines
  3040.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(156) : bottom
  3041.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(157) : @say  'Current Posn @Bottom = "${CurrentPosn}"'
  3042.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(158) : deletelines
  3043.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(159) : @say  'Deleted the last line, Rc = ${Rc} (${RcReason})'
  3044.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(160) : @say  'Current Posn @Bottom = "${CurrentPosn}" (should be 1 less than before)'
  3045.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(161) : deletelines 4
  3046.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(162) : @say  'Deleted the last line (tried for 4), Rc = ${Rc} (${RcReason})'
  3047.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(163) : @say  'Current Posn @Bottom = "${CurrentPosn}" (should be 1 less than before)'
  3048.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(164) : deletelines -2
  3049.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(165) : @say  'The above DELETE should delete 2 lines (backwards & work), Rc = ${Rc} (${RcReason})'
  3050.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(166) : @say  'Current Posn @Bottom = "${CurrentPosn}" (should be 2 less than before)'
  3051.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(169) : @say
  3052.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(170) : @say  '*************************************************************************'
  3053.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(171) : @say  '*** Go to Top & Bottom and insert 3 lines ***'
  3054.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(172) : top
  3055.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(173) : InsertLine "****** TOP ******"
  3056.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(174) : InsertLine "****** TOP+1 ******"
  3057.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(175) : InsertLine "****** TOP+2 ******"
  3058.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(176) : @say
  3059.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(177) : bottom
  3060.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(178) : InsertLine "****** END ******"
  3061.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(179) : InsertLine "****** END+1 ******"
  3062.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(180) : InsertLine "****** END+2 ******"
  3063.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(182) : @say
  3064.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(183) : @say  '*************************************************************************'
  3065.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(184) : @say  '*** Checkpoint the file ***'
  3066.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(185) : @say
  3067.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(186) : checkpoint
  3068.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(187) : @say  "Checkpoint Rc = ${Rc} (${RcReason})"
  3069.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(188) : @say
  3070.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(190) : @say
  3071.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(191) : @say  '*************************************************************************'
  3072.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(192) : @say  '*** Display some standard variables ***'
  3073.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(193) : @say
  3074.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(194) : @say  '"{Rc}"               = "${Rc}"'
  3075.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(195) : @say  '"{CurrentPosn}"      = "${CurrentPosn}"'
  3076.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(196) : @say  '"{CurrentLine}"      = "${CurrentLine}"'
  3077.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(197) : @say  '"{TextFileIn}"       = "${TextFileIn}"'
  3078.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(198) : @say  '"{TextFileOut}"      = "${TextFileOut}"'
  3079.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(199) : @say  '"{ChangeFile}"       = "${ChangeFile}"'
  3080.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(200) : @say  '"{ChangeTime}"       = "${ChangeTime}"'
  3081.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(201) : @say  '"{Parameters}"       = "${Parameters}"'
  3082.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(202) : @say  '"{Version}"          = "${Version}"'
  3083.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(203) : @say  '"{SyntaxErrorCount}" = "${SyntaxErrorCount}"'
  3084.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(205) : ;exit 1 "Terminating: Hi there"
  3085.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(207) : ;--- Change comment characters ----------------------------------------------
  3086.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(208) : #comment 'REM '    ";;"
  3087.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(210) : REM --- Dump some stuff -----------------------------------------------------
  3088.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(211) : debug on                       ;;An inline comment
  3089.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(212) : debug DumpVar
  3090.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(213) : debug filestate
  3091.          *E:\DB\PROJECTS\OS2\textedit\EXAMPLE.TE(214) : debug listpgm
  3092.  
  3093.  
  3094. TEXTEDIT completed with RC = 2
  3095.  
  3096.  
  3097. ΓòÉΓòÉΓòÉ 7. Change History ΓòÉΓòÉΓòÉ
  3098.  
  3099. Change History 
  3100.  
  3101.        1. Version 99.107 
  3102.  
  3103.               New #comment command. 
  3104.  
  3105.        2. Version 99.086 
  3106.  
  3107.               At some stage TEXTEDIT was modified to use new multi platform 
  3108.                header file, unfortunately this also meant that TEXTEDIT then 
  3109.                required PM to be up or it could fail. We do not want TEXTEDIT 
  3110.                to require PM and it no longer does.  This allows it to be used 
  3111.                early in a CID build of a machine. 
  3112.  
  3113.        3. Version 99.076 
  3114.  
  3115.               New "#define+" command, this is an extremely important variant 
  3116.                of the existing "#define" command. 
  3117.               Fixed documentation for "${ReplacedLine}", variable incorrectly 
  3118.                named in old doco. 
  3119.  
  3120.        4. Version 99.068 
  3121.  
  3122.               The second parameter of the "DELETEBLOCK" command is now 
  3123.                optional.  If not supplied its taken to be identical to the 
  3124.                first parameter (ie new shorthand). 
  3125.  
  3126.        5. Version 99.041 
  3127.  
  3128.               Searching for "Before*After" (where '*' in middle) was not 
  3129.                working. 
  3130.               As per feedback, the case of filenames is no longer modified 
  3131.                (translated to upper case). 
  3132.               This program should now run much noticably faster. 
  3133.  
  3134.        6. Version 98.233 
  3135.  
  3136.               Minor fix to allow it to work in Windows 95. 
  3137.  
  3138.        7. Version 98.133 
  3139.  
  3140.               Fixed small bug which prevented "evaluate" command's contents 
  3141.                from having leading or trailing whitespace if thats what you 
  3142.                were trying to get. 
  3143.               Minor improvement to compare function to speed up slightly. 
  3144.  
  3145.        8. Version 98.085 
  3146.  
  3147.               Found minor "feature" where before a line was compared 
  3148.                whitespace was being stripped, I believe that this is wrong for 
  3149.                a default action. May make this an option in future. 
  3150.  
  3151.        9. Version 97.305 
  3152.  
  3153.               Initial release on my web page. 
  3154.