FSIZE( ) Function

Returns the size in bytes of a specified field or file.

FSIZE(cFieldName [, nWorkArea | cTableAlias] | cFileName)

Parameters

  • cFieldName
    Specifies the name of the field.

  • nWorkArea
    Specifies the work area of the table for which FSIZE( ) returns a field size.

    FSIZE( ) returns 0 if a table isn't open in the work area you specify.

  • cTableAlias
    Specifies the alias of the table for which FSIZE( ) returns a field size.

    Visual FoxPro generates an error message if you specify a table alias that doesn't exist.

  • cFileName
    Specifies a file for which FSIZE( ) returns the size in bytes.

Return Value

Numeric

Remarks

The current setting of SET COMPATIBLE determines if FSIZE( ) returns the size of a field or a file. If SET COMPATIBLE is set to OFF or FOXPLUS (the default), FSIZE( ) returns the size of a field. If SET COMPATIBLE is set to ON or DB4, FSIZE( ) returns the size of a file.

The following table shows the default size (in bytes) for each fixed-length field type.

Field type

Default field size(in bytes)

Currency

8

Date

8

DateTime

8

Double

8

Integer

4

Logical

1

Memo

4

General

4

The size of a field can be displayed with DISPLAY STRUCTURE and LIST STRUCTURE.

If you omit the optional nWorkArea and cTableAlias arguments, FSIZE( ) returns the field size for a field in the current table and work area.

Example

The following example uses FSIZE( ) to return the size of two fields in the customer table.

SET COMPATIBLE OFF
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Open Customer table

CLEAR
? FSIZE('contact')  && Displays 30
? FSIZE('cust_id')  && Displays 6

See Also

Reference

DISPLAY STRUCTURE Command

FCOUNT( ) Function

LIST Commands

Other Resources

Functions

Language Reference (Visual FoxPro)