Using FSEEK() Function to Determine Size of File in Bytes

ID: Q87502

The information in this article applies to:

SUMMARY

The text below provides a code example to determine the size (in bytes) of a specific file using a user-defined function (UDF) that uses the FSEEK() function.

MORE INFORMATION

To determine the size of the C:\COMMAND.COM file, invoke the filesize UDF as follows:

   clear
   @ 2,5 say filesize('c:\command.com')

   FUNCTION filesize
   PARAMETERS mfile

   PRIVATE mhandle, fsize

   IF PARAMETERS() = 0  && Return -2 if no parameter passed.
       RETURN -2
   ELSE
      IF ! FILE(mfile)  && Return -1 if file does not exist.
         RETURN -1
      ENDIF
   ENDIF

   mhandle = FOPEN(mfile)        && Open specified file.
   fsize = FSEEK(mhandle, 0, 2)  && Determine file size and
                                 &&   assign to fsize.
   = FCLOSE(mhandle)             && Close file.

   RETURN fsize         && Return value.

Additional reference words: FoxDos FoxWin 1.00 1.01 1.02 2.00 2.50 2.50a KBCategory: kbprg KBSubcategory: FxprgGeneral

Last Reviewed: June 27, 1995