home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1993 #2 / Image.iso / clipper / bcklib2.zip / FUNCPROC.PRG < prev    next >
Text File  |  1993-01-16  |  2KB  |  83 lines

  1. /*
  2.     The source code contained within this file is protected under the
  3.     laws of the United States of America and by International Treaty.
  4.     Unless otherwise noted, the source contained herein is:
  5.  
  6.     Copyright (c)1990, 1991, 1992 BecknerVision Inc - All Rights Reserved
  7.  
  8.     Written by John Wm Beckner        THIS NOTICE MUST NOT BE REMOVED
  9.     BecknerVision Inc
  10.     PO Box 11945                      DISTRIBUTE ONLY WITH SHAREWARE
  11.     Winston-Salem NC 27116            VERSION OF THIS PRODUCT.
  12.     Fax: 919/760-1003
  13.  
  14. */
  15.  
  16. #include "beckner.inc"
  17.  
  18. FUNCTION FuncProc()
  19. CLS
  20. ? 'FUNCPROC v1.0 Copyright (c)1990 John Wm Beckner'
  21. ?
  22. IF file('FUNCPROC.DBF')
  23.    ERASE funcproc.dbf
  24. ENDIF
  25. PARAMETER cSkeleton
  26. IF pcount()=0
  27.    cSkeleton := '*.prg'
  28. ENDIF
  29. IF !fExtension(cSkeleton)
  30.    cSkeleton := fExtNew(cSkeleton, "PRG")
  31. ENDIF
  32. DECLARE fl[adir(cSkeleton)]
  33. adir(cSkeleton, fl)
  34. fCreateDBF('FUNCPROC/FUNC_NAME/C/10/FILE_NAME/C/8')
  35. fNoShare('funcproc')
  36. INDEX on func_name to funcproc
  37. FOR x := 1 to len(fl)
  38.    h := fopen(fl[x])
  39.    ? fl[x]
  40.    WHILE LOOPING
  41.       b := lower(ltrim(freadline(h)))
  42.       IF 'func'==left(b, 4)
  43.          ? '     ',b
  44.          APPEND BLANK
  45.          REPLACE  file_name with left(lower(fl[x]),at('.',fl[x])-1),;
  46.                   func_name with trim(ltrim(substr(b,at(' ',b)+1)))
  47.       ELSEIF 'proc'==left(b,4)
  48.          ? '     ',b
  49.          APPEND BLANK
  50.          REPLACE  file_name with left(lower(fl[x]),at('.',fl[x])-1),;
  51.                   func_name with trim(ltrim(substr(b,at(' ',b)+1)))
  52.       ELSEIF 'clipper'==left(b,7)
  53.          ? '     ',b
  54.          APPEND BLANK
  55.          REPLACE  file_name with left(lower(fl[x]),at('.',fl[x])-1),;
  56.                   func_name with trim(ltrim(substr(b,at('clipper',b)+8,;
  57.                                  at('(',b)-8)))
  58.       ENDIF
  59.       IF fEOF(h)
  60.          EXIT
  61.       ENDIF
  62.    END
  63.    fClose(h)
  64. NEXT
  65. REPLACE all func_name with IF("("$func_name, left(func_name,;
  66.             at("(", func_name)-1),func_name)
  67. GO TOP
  68. SET PRINT to funcproc
  69. SET PRINT on
  70. ? 'FUNCTIONS & PROCEDURES',date()
  71. ?
  72. WHILE !eof()
  73.    ? func_name,file_name
  74.    SKIP
  75. END
  76.  
  77. FUNCTION fEOF(nHandle)
  78. LOCAL nCurrentPos, nEOF
  79. nCurrentPos := fseek(nHandle,0,1)
  80. nEOF := fseek(nHandle,0,2)
  81. fseek(nHandle,nCurrentPos,0)
  82. RETURN nEOF<=nCurrentPos
  83.