Получение информации о типе данных VFP
« Назад Функция TYPE(cExpression [, 1]))оценивает заключенное в кавычки выражение и возвращает символ, характеризующий тип выражения. Если значение выражения не может быть вычислено, то функция вернет "U". Если cExpression – это массив, то результат функции формируется по типу его первого элемента. Параметр: 1 – позволяет, если задан, определить, содержит ли cExpression массив или коллекцию. Для COM-объектов параметр не поддерживается. В табл. 3.4 приводится соответствие между типом выражения и возвращаемым функцией результатом. Таблица 3.4
Символ, возвращаемый TYPE( ) и VARTYPE( )
Пример: ? Type("someVar") && Напечатает: U someVar = "Это строка" && Функция TYPE( ) оценивает заключенное в кавычки выражение ? Type("someVar + someVar") && Напечатает: C ? Type("$ 123.45") && Напечатает: Y ? Type("Date( )") && Напечатает: D ? Type("{^2004-12-31 10:25:44 a}") && Напечатает: T ? Type("IsBlank(someVar)") && Напечатает: L ? Type("123.45E10") && Напечатает: N && someVarbinary = 0h616263 && Строка "abc" ? Type("someVarbinary") && Напечатает: Q && dimension someArray(5) && Все элементы массива будут иметь тип Character someArray = someVar && Меняем тип первого элемента массива на Logical someArray(1) = .F. ? Type("someArray") && Напечатает: L ? Type("someArray", 1) && Напечатает: A Функция VARTYPE(eExpression [, lNullDataType])возвращает символ (см. табл. 3.4), характеризующий тип выражения eExpression. Если значение выражения не может быть вычислено, то функция вернет "U". Если функции передать массив, то ее результат формируется по типу его первого элемента. Если eExpression содержит NULL-значение и если логический параметр lNullDataType опущен или равен .F., то VARTYPE( ) вернет 'X', и вернет тип выражения, если lNullDataType = .T. Функции VARTYPE( ) и TYPE( ) похожи, но первая быстрее и принимает выражение, как оно есть, без обрамляющих кавычек. Пример: ? VarType(someVar) && Напечатает: U someVar = "Это строка" ? VarType(someVar + someVar) && Напечатает: C ? VarType($ 123.45) && Напечатает: Y && … dimension someArray(5) && Все элементы массива будут иметь тип Numeric someArray = 9 && Устанавливаем NULL в первый элемент массива someArray(1) = NULL ? VarType(someArray, .F.) && Напечатает: X ? VarType(someArray, .T.) && Напечатает: N |