home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 April A / Pcwk4a98.iso / Wtestowe / OnNet16 / STRIPSCR.SCR < prev    next >
Text File  |  1997-01-08  |  5KB  |  144 lines

  1. *------------------------------------------------------------------------------*
  2. * PROGRAM: STRIPSCR.SCR      DATE: 02/03/88
  3. *  (c) Copyright 1983,91 Relay Technology Inc.
  4. *     All rights reserved.
  5. *
  6. * FUNCTION: Batch program to prompt user for the name of the file that contains
  7. *        the member names of a list of SCRIPT or BATCH files that we wish to
  8. *        strip the comments and blank lines out of.
  9. *
  10. *---------------------------------------------------------------------*
  11. *                 Module History                  *
  12. *---------------------------------------------------------------------*
  13. *                                      *
  14. *  Latest Revision -                              *
  15. *                                      *
  16. *     $Revision:   1.8  $                          *
  17. *                                      *
  18. *  Modification Log -                              *
  19. *                                      *
  20. *     M0001V70 Put Relay Source Files under PVCS Control          *
  21. *          by JMM on 12/18/95                      *
  22. *                                      *
  23. *---------------------------------------------------------------------*
  24.  
  25.      on error
  26.  
  27. -TOP     global &FILEIT &MEMBERS &OUTLIB &USERPATH
  28.      &FILEIT=YES
  29.      &LIBFLAG="N"
  30.      &MEMCTR=0; &BEGBYTE=0; &ENDBYTE=0; &TOTBYTE=0
  31.      clear
  32.  
  33. * Warn user that files run throughout this procedure will be significantly changed
  34. *
  35. -ADVISE
  36.     display dialogbox OKCANCEL "Strip Script Utility" "This procedure performs the following functions:&CR &LF [1] Removes comment lines and blank lines&LF [2] Removes command line comments        &LF"
  37.     if (&rc = 2) quiet stop
  38.     display dialogbox OKCANCEL "Strip Script Utility" "[3] Removes leading blanks on command lines&LF [4] Evaluates GOTOs, GOSUBs and LOOPS,    replacing label names with absolute line&LF number references. "
  39.     if (&rc = 2) quiet stop
  40.     display dialogbox OKCANCEL "Strip Script Utility" "The input file (.SCR) will not be modified in&LF any way. The 'stripped' file will instead be  &LF saved with a file extension of '.SCX'.        "
  41.     if (&rc = 2) quiet stop
  42. *
  43. * Get input file name and display file size before STRIPSCR
  44. *
  45. -PROMPT
  46.      &FILESPEC = "All Files/*.*/"
  47.      &MEMBERS = &rdrive
  48.      display dialogbox CLEAR
  49.      display dialogbox FILEOPEN "Specify Member-List File" &FILESPEC &MEMBERS
  50.      if (&rc = 2) quiet stop
  51.      clear
  52. *
  53. * Get drive and path info
  54. *
  55.      &USERPATH = &fdirectory(&MEMBERS)
  56.  
  57.      open &MEMBERS as #1 for input
  58.      loop ENDREAD until not found
  59.        read file #1 &MEMNAME
  60.        if not found goto -ENDALL
  61.        if (&substring(&MEMNAME,1,1)="*") then goto ENDREAD
  62.        argstring &MEMNAME
  63.        &MEMNAME=&trim(&1)
  64.        &HNAME=&MEMNAME
  65.        &MEMNAME = &USERPATH.&MEMNAME
  66.        &BEGBYTE=&calc(&BEGBYTE+&fsize(&MEMNAME))
  67.        &MEMCTR=&MEMCTR+1
  68.        display dialogbox clear
  69.        display dialogbox INFO "Strip Script Utility" "Stripping file &upper(&HNAME) - please stand by..."
  70.        edit &MEMNAME execute STRIPSCR.EDS nodisplay
  71.        &ENDBYTE=&calc(&ENDBYTE+&fsize(&USERPATH.&fname(&MEMNAME).SCX))
  72. -ENDREAD
  73. *
  74. * Calculate the benefit of having run STRIPSCR
  75. *
  76. -ENDALL  CLOSE #1
  77.      if (&BEGBYTE<&ENDBYTE)
  78.        then &TOTBYTE=0
  79.        then &FINAL=0
  80.        then GOTO -STATS
  81.  
  82.      &TOTBYTE=&BEGBYTE-&ENDBYTE
  83.      &ENDPER=&ENDBYTE*100
  84.      &PERCENT=&ENDPER/&BEGBYTE
  85.      &FINAL=100-&PERCENT
  86. *
  87. * Display STRIPSCR statistics
  88. *
  89. -STATS
  90.      display dialogbox clear
  91.      display dialogbox OKCANCEL "Strip Script Utility" "Total bytes saved with STRIPSCR: &TOTBYTE&LF Pulverization Factor: &FINAL&LF You may choose to place these files into a library..."
  92.      if (&rc = 2) quiet stop
  93.  
  94. * Provide opportunity to create or update library
  95. *
  96. -LIBNAME
  97.      &XSPEC='Library Files/*.LIB/All Files/*.*/'
  98.      &XNAME='&USERPATH'
  99.      display dialogbox CLEAR
  100.      display dialogbox INPUT "Strip Script Utility" "Specify a Library Name" &OUTLIB
  101.      if (&rc = 2) quiet stop
  102.      clear
  103.      if (&fstate(&OUTLIB)="R/W") or (&fstate(&OUTLIB)="R/O")
  104.        then GOTO OVERTYP
  105. *     if not exists LIBRARY.SCR
  106. *       then goto NOLIB
  107.  
  108. * Create member file that contains of all the valid members but with .SCX exten.
  109. -LIBYES2
  110.      open &MEMBERS as #1 for input
  111.      open &USERPATH.XYZMEMBR.DAT as #2 for output
  112.      loop FILESWAP *
  113.        read file #1 &LINE1
  114.        if not found close #1
  115.          then close #2; then goto LIBYES
  116.        if (&substr(&LINE1,1,1)="*") then goto FILESWAP
  117.        argstring &LINE1
  118.        &LINE1=&trim(&1)
  119.        if (&LINE1="") then goto FILESWAP  ;* skip blank lines
  120.        &LINE1 = &fname(&LINE1)     ;* capture just filename - no extension
  121.        write file #2 &LINE1..SCX
  122. -FILESWAP
  123.  
  124. -LIBYES
  125. * If no drive/path spec provided, then use same spec as member list
  126.      if (&instr(&OUTLIB,"\")=0) and (&instr(&OUTLIB,":")=0) then &OUTLIB=&USERPATH.&OUTLIB
  127.  
  128.      quiet execute LIBRARY.SCR &OUTLIB &USERPATH.XYZMEMBR.DAT
  129.      &HRC = &retcode
  130.      if (&HRC > 0) display dialogbox OK "Strip Script Utility" "LIBRARY.SCR could not be run!"
  131.      quiet erase &USERPATH.XYZMEMBR.DAT
  132.      quiet stop
  133. *
  134. * If library already exists, prompt user for overtype instructions.
  135. *
  136. -OVERTYP
  137.      display dialogbox OKCANCEL "Strip Script Utility" "Library already exists. Select OK to overwrite, CANCEL to exit."
  138.      if (&rc = 2) goto LIBNAME
  139.      goto LIBYES2
  140.  
  141. -NOLIB
  142.      display dialogbox ERRORM "Strip Script Utility" "LIBRARY.SCR not in current directory - Cannot create library."
  143.      quiet stop
  144.