home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_02_08 / 2n08053a < prev    next >
Text File  |  1991-06-10  |  3KB  |  86 lines

  1. ******************************************************************************
  2. *                                          *
  3. *    Author - Nick Makris - STARTECH SYSTEMS - San Francisco, CA          *
  4. *    Date -     DECEMBER 1989                              *
  5. *                                          *
  6. *          ***********  FIMD TEXT PROGRAM  ************              *
  7. *                                          *
  8. *    ***********    RELEASED TO THE PUBLIC DOMAIN       ************          *
  9. *                                          *
  10. ******************************************************************************
  11. * This program works in conjunction with the Norton Utilities 4.0, Text Search
  12. * (TS) program.  Use syntax TS *.PRG '<text to find>' /LOG > <output filename>
  13. * This program analyzes the resulting file looking for line number references
  14. * and deletes all other associated lines.  The resulting text file contains
  15. * only those lines which point to a specific file and line number which
  16. * may then be printed and used for any intended purpose.
  17.  
  18. SET DELETED OFF
  19. ANS = SPACE(12)            && ASSUMES FILE IS IN DEFAULT DIRECTORY
  20. @15,16 CLEAR TO 17,63
  21. @15,16 TO 17,63 DOUBLE
  22. @16,18 SAY "ENTER THE FILE NAME TO ANALYZE " GET ANS
  23. READ
  24. ANS=TRIM(LTRIM(ANS))
  25. IF LEN(ANS)=0 .OR. READKEY()=12 && USER WANTS OUT
  26.  RETURN
  27. ENDIF
  28. X=AT('.',ANS)
  29. IF X # 0
  30.  OUTFILNAME = SUBSTR(ANS,1,X-1)+'.OUT'
  31. ELSE                && USER DIDN'T INCLUDE AN EXTENSION NAME
  32.  IF LEN(ANS) < 9        && AND THE NUMBER OF CHARS IS NORMAL
  33.   OUTFILNAME = ANS+'.OUT'
  34.  ELSE                && ABNORMAL LENGTH OF FILE NAME
  35.   OUTFILNAME = SUBSTR(ANS,1,8)+'.OUT'
  36.  ENDIF
  37. ENDIF
  38. FILNAME = ANS
  39. IF .NOT. FILE("&FILNAME")
  40.  @15,22 CLEAR TO 18,58
  41.  @15,22 TO 18,58 DOUBLE
  42.  @16,24 SAY "UNABLE TO FIND FILE "+FILNAME+"!"
  43.  @17,24 SAY "Press any key to continue!"
  44.  zi = 0
  45.  DO WHILE zi = 0
  46.   zi=INKEY(1)
  47.  ENDDO
  48.  RETURN
  49. ENDIF
  50. USE SCREELIN  && A SINGLE FIELD (SCRNLINE) DATABASE - DEFINED AS 80 CHARS
  51. COPY STRU TO logtxt
  52. USE logtxt
  53. APPEND FROM &FILNAME SDF    && IMPORT THE NORTON TS OUTPUT
  54. SVLINE=" "
  55. GO TOP
  56. DO WHILE .NOT. EOF()
  57.  IF .NOT. 'Searching' $ SCRNLINE .AND. .NOT. 'Found' $ SCRNLINE
  58.   DELETE
  59.  ENDIF
  60.  IF 'Searching' $ SCRNLINE     && RETAIN ONLY ONE REFERENCE TO EACH FILE
  61.   IF SVLINE=SCRNLINE        && MULTIPLE APPEARANCES IN THE SAME FILE
  62.    DELETE
  63.   ELSE                && NEW FILE BEING CHECKED
  64.    SKIP -1
  65.    RECALL            && PROVIDES A BLANK LINE FOR REFERENCE
  66.    SKIP
  67.   ENDIF
  68.   SVLINE=SCRNLINE
  69.  ENDIF
  70.  IF 'occurren'$ SCRNLINE
  71.   RECALL
  72.   SKIP -1
  73.   RECALL            && PROVIDES A BLANK LINE FOR REFERENCE
  74.   SKIP
  75.  ENDIF
  76.  SKIP
  77. ENDDO
  78. IF FILE("&OUTFILNAME")
  79.  ERASE &OUTFILNAME
  80. ENDIF
  81. COPY TO &OUTFILNAME SDF FOR .NOT. DELETED()
  82.                 && COPIES FILE TO "<input filename>.OUT"
  83. USE
  84. ERASE logtxt.dbf        && ERASES TEMPORARY DBF CREATED WITH COPY STRU
  85. RETURN
  86.