Возвращает величину заданного поля или файла в байтах.
Синтаксис:
FSIZE(cFieldName [, nWorkArea | cTableAlias] | cFileName)
Параметры:
cFieldName
Задает имя поля.
nWorkArea
Задает рабочую область таблицы, для которой функция FSIZE( ) возвращает размер поля.
Функция FSIZE( ) возвращает 0, если таблица в указанной рабочей области не открыта.
cTableAlias
Задает псевдоним таблицы, для которой функция FSIZE( ) возвращает размер поля.
Если задать несуществующий псевдоним таблицы, Visual FoxPro генерирует сообщение об ошибке.
cFileName
Задает файл, для которого функция FSIZE( ) возвращает величину в байтах.
Результат:
Числовой.
Комментарии:
Текущая установка SET COMPATIBLE определяет, что именно возвращает функция FSIZE( ): размер поля или размер файла. Если установка SET COMPATIBLEOFF или FOXPLUS (по умолчанию), FSIZE( ) возвращает размер поля. Если SET COMPATIBLE имеет значение ON или DB4, FSIZE( ) возвращает размер файла.
В следующей таблице показан размер поля в байтах по умолчанию для различных типов полей.
Тип поля | Размер поля по умолчанию(в байтах) |
---|---|
Currency | 8 |
Date | 8 |
DateTime | 14 |
Double | 8 |
Integer | 4 |
Logical | 1 |
Memo | 4 |
General | 4 |
Размер поля можно отобразить на экране по команде DISPLAY STRUCTURE или LIST STRUCTURE.
Если опустить аргументы nWorkArea и cTableAlias, функция FSIZE( ) возвратит размер поля для текущей таблицы и рабочей области.
Пример:
* В следующем примере используется функция FSIZE( ), возвращающая * размеры двух полей таблицы customer. SET COMPATIBLE OFF CLOSE DATABASES OPEN DATABASE (HOME( ) + 'samples\data\testdata') USE customer && Open Customer table CLEAR ? FSIZE('contact') && Displays 30 ? FSIZE('cust_id') && Displays 6