home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / xbase / tools / mig / foxproc.prg < prev    next >
Text File  |  1993-04-11  |  3KB  |  125 lines

  1.  
  2. * Returns number of parameters passed
  3. FUNCTION Pcount
  4. RETURN PARAMETERS()
  5.  
  6.  
  7.  
  8. * Returns time stamp on a disk file
  9. FUNCTION Ftime
  10. PARAMETER mfile
  11. PRIVATE mfiles, mfile
  12. * Copy file specs to array, return time
  13. =adir(mfiles, mfile)
  14. RETURN mfiles[1,4]
  15.  
  16.  
  17. * Returns date stamp on a disk file
  18. FUNCTION Fdate
  19. PARAMETER mfile
  20. PRIVATE mfiles, mfile
  21. * Copy file specs to array, return date
  22. =adir(mfiles, mfile)
  23. RETURN mfiles[1,3]
  24.  
  25.  
  26. * Returns number of fields in current database
  27. FUNCTION Fldcount
  28. RETURN FCOUNT()
  29.  
  30.  
  31. * Returns name of topmost window
  32. * If you prefer, substitute WOUTPUT() (current output window)
  33. FUNCTION Window
  34. RETURN WONTOP()
  35.  
  36.  
  37. * Returns .T. if expression passed is blank (empty)
  38. FUNCTION Isblank
  39. PARAMETER mexpr1
  40. PRIVATE mexpr1, mexpr2
  41. mexpr2 = "&mexpr1"
  42. RETURN EMPTY("&mexpr2")
  43.  
  44.  
  45. * Returns number of tags in an MDX file in any work are
  46. FUNCTION Tagcount
  47. PARAMETERS mmdxfile, malias
  48. PRIVATE mmdxfile, malias, mtagnum
  49. IF PARAMETERS() < 2
  50.    malias = ALIAS()
  51. ENDIF
  52. IF PARAMETERS() < 1
  53.    mmdxfile = MDX(1)
  54. ENDIF
  55. mtagnum = 1
  56. DO WHILE NOT EMPTY(TAG(mmdxfile, mtagnum, malias)) AND mtagnum <= 47
  57.    mtagnum = mtagnum + 1
  58. ENDDO
  59. RETURN mtagnum-1
  60.  
  61.  
  62. * Returns number of a specific tag in an MDX file in any work are
  63. FUNCTION Tagno
  64. PARAMETERS mtagname, mmdxfile, malias
  65. PRIVATE mtagname, mmdxfile, malias, mtagnum, mreturn
  66.  
  67. IF PARAMETERS() < 3
  68.    malias = ALIAS()
  69. ENDIF
  70. IF PARAMETERS() < 2
  71.    mmdxfile = ""
  72. ENDIF
  73. mtagnum = 1
  74. DO WHILE mtagnum <= 47
  75.    mcurrtag = TAG(mmdxfile, mtagnum, malias)
  76.    IF EMPTY(mcurrtag)
  77.       mreturn = 0
  78.       EXIT
  79.    ENDIF
  80.    IF mcurrtag = mtagname
  81.       mreturn = mtagnum
  82.       EXIT
  83.    ENDIF
  84.    mtagnum = mtagnum + 1
  85. ENDDO
  86. RETURN mreturn
  87.  
  88.  
  89. * Returns FOR clause used to build conditional index tag
  90. FUNCTION For
  91. PARAMETERS mparm1, mparm2, mparm3
  92. PRIVATE mparm1, mparm2, mparm3
  93.  
  94. DO CASE
  95.    CASE PARAMETERS() = 1
  96.       mreturn = SYS(2021, mparm1)
  97.    CASE PARAMETERS() = 2
  98.       IF TYPE("mparm1") = "N"
  99.          mreturn = SYS(2021, mparm1, mparm2)
  100.       ELSE
  101.          mdbf = DBF()
  102.          mworkarea = SELECT(0)
  103.          SELECT SELECT(1)
  104.          USE (mdbf) AGAIN INDEX (mparm1)
  105.          mreturn = SYS(2021, mparm2)
  106.             USE
  107.             SELECT (mworkarea)
  108.       ENDIF
  109.    CASE PARAMETERS() = 3
  110.       mdbf = DBF(mparm3)
  111.       mworkarea = SELECT(0)
  112.       SELECT SELECT(1)
  113.       USE (mdbf) AGAIN INDEX (mparm1)
  114.       mreturn = SYS(2021, mparm2)
  115.       USE
  116.       SELECT (mworkarea)
  117. ENDCASE
  118. RETURN mreturn
  119.        
  120.          
  121.  
  122.  
  123.  
  124.  
  125.