NIL A2EDIT(<nTop>, <nLeft>, <nBottom>, <nRight>, <aData>, <cUserFunc>, <aSay>, <aHeaders>, <aHeadSep>, <aColSep>, <aFootSep>, <aFooters>) Value AADD(<aTarget>, <expValue>[, <keyValue>]) aDuplicate ACLONE(<aSource>) aTarget ACOPY(<aSource>, <aTarget>, [<nStart>], [<nCount>], [<nTargetPos>]) aTarget ADEL(<aTarget>, <nPosition>) aArray AEVAL(<aArray>, <bBlock>, [<nStart>], [<nCount>]) aTarget AFILL(<aTarget>, <expValue>,[<nStart>], [<nCount>]) aTarget AINS(<aTarget>, <nPosition>) aArray ARRAY(<nElements> [, <nElements>...]) <nStoppedAt> ASCAN(<aArr>, <Expression>, [<nStart>], [<nCount>], [lBack]) aTarget ASIZE(<aTarget>, <nLength>) aTarget ASORT(<aTarget>, [<nStart>],[<nCount>], [<bOrder>]) Element ATAIL(<aArray>) aDirectory DIRECTORY(<cDirSpec>, [<cAttributes>]) lEmpty EMPTY(<exp>) <aSelected> __Fledit( <aSrc>, <aList>) aNewArray FT_AADDITION( <aList1>, <aList2> [, <lTrimmer> [, <lCaseSens> ] ] ) ; nAverage FT_AAVG( <aArray> [, <nStartIndex> [, <nEndIndex> ] ] ) aSorted FT_ADESSORT( <aArray> [, <nStartIndex> [, <nEndIndex> ] ] ) nMaxlen FT_AEMAXLEN( <aArray> [, <nDimension> [, <nStart> [, <nCount> ] ] ] ) ; nMinlen FT_AEMINLEN( <aArray> [, <nDimension> [, <nStart> [, <nCount> ] ] ] ) nMedian FT_AMEDIAN( <aArray> [, <nStart> [, <nEnd> ] ] ) nNoOfMatches FT_ANOMATCHES( <aArray>, <bCompareBlock> ; [, <nStartIndex> [, <nEndIndex> ] ] ) xElement FT_AREDIT( <nTop>, <nLeft>, <nBottom>, <nRight>, <Array Name>, ; <nElem>, <aHeadings>, <aBlocks> [, <bGetFunc> ] ) nSum FT_ASUM( <aArray> [, <nStartIndex> [, <nEndIndex> ] ] ) aArray FT_RESTARR( <cFileName>, <nErrorCode> ) lRet FT_SAVEARR( <aArray>, <cFileName>, <nErrorCode> ) nCount LEN(<cString> | <aTarget>) <oObject> MAP() <lOldMode> MAPMODIFY(<oObj>, <lMode>) cType TYPE(<cExp>) cType VALTYPE(<exp>)
A2EDIT(<nTop>, <nLeft>, <nBottom>, <nRight>, <aData>, <cUserFunc>, <aSay>, <aHeaders>, <aHeadSep>, <aColSep>, <aFootSep>, <aFooters>) --> NIL
A2EDIT() - это функция работы с массивом, которая предназначена для просмотра 2-мерного массива.
A2EDIT() это таже DBEDIT(), но только работает с массивом, а не с БД.
<nTop> | Numeric, верхняя координата A2EDIT() окна. |
<nLeft> | Numeric, левая координата. |
<nBottom> | Numeric, нижняя координата. |
<nRight> | Numeric, правая координата. |
<aData> | Array, массив для просмотра. |
<cUserFunc> | String, имя функции пользователя. |
<aSay> | Array, шаблоны для представления содержимого колонок. |
<aHeaders> | Array, заголовки колонок. |
<aHeadSep> | Array or character, разделители колонок заголовков. |
<aColSep> | Array or character, разделители колонок. |
<aFootSep> | Array or character, разделители колонок подвала. |
<aFooters> | Array, строки подписей к колонкам. |
Returns : | A2EDIT() возвращает NIL. |
See also : | DBEDIT() |
AADD(<имя массива>, <выражение>[, <keyValue>]) --> значение
AADD() - это функция обработки массивов, которая увеличивает текущую длину указанного массива на единицу. Вновь созданному элементу присваивается значение, заданное аргументом <выражение>.
AADD() используется для динамического наращивания массивов. Это полезно для построения динамических списков и очередей. Примером может служить массив Getlist, используемый системой GET для хранения GET- объектов. После команд READ или CLEAR GETS, Getlist становится пустым массивом. Каждый раз, когда выполняется команда @...GET, система GET использует функцию AADD() для добавления нового элемента в конец массива Getlist и затем назначает новый GET-объект новому элементу.
AADD() похожа на ASIZE(), но добавляет только один элемент за вызов; ASIZE() может нарастить или сжать массив до заданного размера. AADD(), однако, имеет то преимущество, что может присваивать значение новому элементу, в то время как ASIZE() этого сделать не может. AADD() так же кажется похожей на функцию AINS(), однако они различны. AINS() перемещает элементы внутри массива, но она не может изменять длину массива.
Примечание. Если аргумент <выражение> - это тоже массив, то новый элемент в указанном массиве будет содержать ссылку на массив, заданный аргументом <выражение>.
<имя массива> | - имя массива, к которому добавляется новый элемент. |
<выражение> | - это значение, присваиваемое новому элементу. |
<keyValue> | - ключевое значение добавляемого элемента. Если параметр отсутствует, то новый элемент добавляется в конец массива. |
Returns : | AADD преобразует <выражение> и возвращает его значение. Если <выражение> не задано, AADD() возвращает NIL. |
See also : | AINS() ASIZE() |
ACLONE(<массив>) --> дублированный массив
ACLONE() - это функция обработки массивов, создающая полный дубликат массива <массив>. Если массив <массив> содержит подмассивы, ACLONE() создает соответствующие подмассивы и заполняет их копиями значений подмассивов массива <массив>. ACLONE() подобна ACOPY(), но ACOPY() не может дублировать вложенные массивы.
ACOPY(<исходный массив>,<принимающий массив>, [<начальный элемент>],[<кол-во элементов>], [<нач. элемент принимающего массива>]) --> принимающий массив
ACOPY() - это функция работы с массивами, которая копирует элементы массива <исходный массив> в массив <принимающий массив>. Массив <принимающий массив> должен быть создан до начала работы функции и иметь достаточно большой размер, чтобы принять копируемые элементы. Если массив <исходный массив> содержит избыточное количество элементов, лишние элементы не будут копироваться.
ACOPY() копирует все типы данных, включая NIL и блок кода. Если какой-либо элемент массива <исходный массив> является подмассивом, соответствующий элемент массива <принимающий массив> будет содержать ссылку на подмассив. Таким образом, ACOPY() не создает полную копию многомерного массива. Для того, чтобы сделать это, используйте функцию ACLONE().
<исходный массив> | - массив, из которого копируются элементы. |
<принимающий массив> | - массив, в который копируются элементы. |
<начальный элемент> | - позиция начального элемента в массиве <исходный массив>. Если она не определена, то по умолчанию принимается равной единице. |
<кол-во элементов> | - количество элементов, которое необходимо скопировать из массива <исходный массив>, начиная с позиции |
<начальный элемент> | . Если значение <кол-во элементов> не задано, копируются все элементы, начиная со значения <начальный элемент>. |
<нач. элемент принимающего массива> | - начальная позиция в массиве |
<принимающий массив> | , начиная с которой принимаются копируемые элементы. Если не определено, то по умолчанию - с первого элемента. |
Returns : | ACOPY() возвращает ссылку на принимающий массив <принимающий массив>. |
See also : | ACLONE() ADEL() AEVAL() AFILL() AINS() ASORT() |
ADEL(<принимающий массив>, <номер элемента>) --> принимающий массив
ADEL() - функция обработки массивов удаляет один элемент массива. Значение указанного элемента пропадает и все следующие за ним элементы сдвигаются на одну позицию вверх. Последний элемент массива принимает значение NIL.
--------------------------------------------------------------------- Предупреждение
В xClipper многомерные массивы создаются путем вложения одних массивов в другие. Если массив <принимающий массив> является многомерным, ADEL() удалит весь подмассив, определенный в <номер элемента>. ---------------------------------------------------------------------
AEVAL(<имя массива>, <блок кода>, [<начальный элемент>], [<кол-во элементов>]) --> имя массива
AEVAL() - функция работы с массивами, которая выполняет блок кода для каждого элемента массива, передавая этот элемент в блок кода как параметр. Возвращаемое значение блока игнорируется. Если не определены параметры <начальный элемент> и <кол-во элементов>, обрабатываются все элементы массива. AEVAL() работает аналогично функции DBEVAL(), которая обрабатывает блоком кода каждую запись файла базы данных. Подобно DBEVAL(), AEVAL() можно использовать как примитив для построения итерационных команд при обработке массивов с простой и сложной структурами. За более подробной информацией о теории и синтаксисе блоков кода обращайтесь к разделу "Блок кода" в главе "Основные концепции"
<имя массива> | - имя массива для обработки. |
<блок кода> | - блок кодов, предназначенных для обработки каждого элемента массива. |
<начальный элемент> | - номер первого обрабатываемого элемента массива. Если <начальный элемент> не определен, то по умолчанию принимается первый элемент. |
<кол-во элементов> | - количество элементов, которое необходимо обработать начиная с элемента с номером <начальный элемент>. Если <кол-во элементов> не определено, то по умолчанию обрабатываются все элементы. |
Returns : | AEVAL() возвращает ссылку на <имя массива>. |
See also : | DBEVAL() EVAL() QOUT() |
AFILL(<принимающий массив>, <выражение>,[<начальный элемент>], [<кол-во элементов>]) --> принимающий массив
AFILL() - функция обработки массивов, которая заполняет указанный массив одним значением любого допустимого типа ( включая массивы блоков кода, NIL ) путем присвоения значения <выражение> каждому его элементу в заданных границах.
Предупреждение: AFILL() нельзя использовать для заполнения многомерных массивов. Многомерные массивы в xClipper формируются путем вложения одних массивов в другие. Чтобы использовать функцию AFILL() для многомерных массивов, перепишите подмассивы, используемые для других измерений массива.
<принимающий массив> | - массив, подлежащий заполнению. |
<выражение> | - значение, которое заносится в каждый элемент массива |
<принимающий массив> | . Может быть выражением любого допустимого типа. |
<начальный элемент> | - номер первого заполняемого элемента. Если не указан, по умолчанию заполняется с первого элемента. |
<кол-во элементов> | - количество заполняемых элементов, начиная с элемента с номером <начальный элемент> и до конца массива. |
Returns : | AFILL() возвращает ссылку на массив <принимающий массив>. |
See also : | AADD() AEVAL() DBSTRUCT() DIRECTORY() |
AINS(<принимающий массив>,<номер элемента>) --> принимающий массив
AINS() - функция обработки массивов, которая заносит новый элемент в указанный массив. Вносимый элемент будет иметь значение NIL, пока ему не присвоят новое значение. После занесения последний элемент массива теряет свое значение, а все элементы после нового сдвигаются на одну позицию вниз.
Предупреждение: При обработке многомерных массивов функцию AINS() следует применять с осторожностью. Многомерные массивы в xClipper строятся путем вложения одного массива в другой. При использовании функции AINS() с многомерными массивами уничтожается последний элемент в заданном массиве, что приводит к потере одного или более измерений. Для включения нового измерения в массив сначала добавьте новый элемент в конец массива, используя функцию AADD() или ASIZE() перед выполнением AINS().
ARRAY(<кол-во эл. 1> [,<кол-во эл. 2>...]) --> массив
ARRAY() - функция работы с массивами, которая возвращает неинициализированный массив с заданным количеством измерений и элементов. Если задано более одного аргумента <кол-во эл.>, создается "вложенный", или многомерный массив с количеством измерений, равным количеству заданных аргументов <кол-во эл.>.
xClipper предусматривает несколько способов создания массивов. Можно создать массив при помощи таких описательных операторов, как LOCAL или STATIC; можно создать массив, используя операторы PUBLIC или PRIVATE; можно присвоить массив литералов созданной переменной или, наконец, использовать функцию ARRAY(). Использование ARRAY() предпочтительнее, поскольку можно создавать массивы, используя выражения или блоки кода.
ASCAN(<aArr>, <Expression>, [<nStart>], [<nCount>], [lBack]) --> <nStoppedAt>
ASCAN() просматривает массив <aArr> до совпадения со значением <Expression> или пока кодовый блок <Expression > возвращает TRUE. ASCAN() использует для сравнения оператор (=).
<aArr> | Array, исходный массив |
<Expression> | простое значение для поиска или кодовый блок. |
<nStart> | Numeric, стартовая позиция просмотра. |
<nCount> | Numeric, количество элементов для просмотра, начиная со стартовой позиции. |
<lBack> | Logical, если TRUE - просмор массива с конца (по умолчанию FALSE). |
Returns : | Возвращает числовое значение, соответствующее позиции в массиве последнего просмотренного элемента. |
ASIZE(<изменяемый массив>,<новый размер>) --> измененный массив
ASIZE() - функция обработки массивов, которая изменяет фактическую длину массива. Массив наращивается или уменьшается до указанного размера. Если массив уменьшается, то конечные его элементы теряются. При увеличении длины массива новые элементы добавляются в его конец и им присваивается значение NIL.
ASIZE() подобна функции AADD(), которая добавляет новый элемент в конец массива и одновременно присваивает ему новое значение. Следует отметить, что ASIZE() отличается от функций AINS() и ADEL(), которые в действительности не изменяют размер массива.
ASORT(<имя массива>, [<начальный элемент>], [<кол-во элементов>], [<режим сортировки>]) --> имя массива
ASORT() - функция обработки массивов, которая сортирует весь массив, содержащий элементы одного типа, или его часть. Сортировка возможна для массивов, состоящих из данных типа CHARACTER, DATE, LOGICAL и NUMERIC.
Если аргумент <режим сортировки> не определен, то по умолчанию сортировка производится по возрастанию значений. Элемент с наименьшим значением перемещается в начало массива (первый элемент), в то время как элемент с наибольшим значением перемещается в конец массива (последний элемент).
Если аргумент <режим сортировки> определен как блок кода, он явно определяет тип сортировки. В процессе сортировки блоку передается очередная пара сортируемых элементов из массива. Если элементы соответствуют типу сотировки, блок возвращает значение "истина" (.T.). Это средство может быть использовано при задании сортировки по убыванию при сортировке словарей (см. примеры ниже).
При сортировке символьные строки располагаются в соответствии с кодами ASCII, для логических данных считается, что значение "ложь"(.F.) имеет наименьшее значение, данные типа дата сортируются в хронологическом порядке, а числовые данные - в соответствии с их значениями.
Примечание: Так как многомерные массивы в xClipper строятся путем вложения подмассивов в другие массивы, функция ASORT() прямо их не сортирует. Для сортировки вложенного массива следует использовать блок кода, который надлежащим образом управляет подмассивом.
<имя массива> | - массив для сортировки. |
<начальный элемент> | - номер первого сортируемого элемента. Если |
<начальный элемент> | не задан, по умолчанию принимается первый элемент массива. |
<кол-во элементов> | - количество элементов, которые необходимо отсортировать. Если <кол-во элементов> не задано, в сортировке участвуют все элементы, начиная с номера <начальный элемент> и до конца массива. |
<режим сортировки> | - необязательный блок кода, используемый для задания режима сортировки. Если он не определен, то по умолчанию сортировка производится в порядке возрастания значений элементов. |
Returns : | ASORT() возвращает ссылку на массив <имя массива>. |
See also : | ASCAN() EVAL() |
ATAIL(<массив>) --> элемент
ATAIL() - функция обработки массивов, которая возвращает значение элемента массива с наибольшим номером. Она может быть использована как более короткая запись выражения <массив>[LEN(<массив>)], обеспечивающего доступ к последнему элементу массива.
<массив> | - массив |
Returns : | ATAIL() возвращает значение, которое также может являться ссылкой на массив или объект. Сам массив не изменяется. |
See also : | LEN() |
EMPTY(<выражение>) --> лог. значение признака
Функция EMPTY() достаточно универсальна и поэтому имеет несколько применений. Она может быть использована для анализа, когда пользователь вводит значения в GET-объект перед совершением изменений в файле базы данных. Она также может быть использована для анализа, не содержит ли формальный параметр NIL или он не задан. И, наконец, она может быть использована для проверки массива на нулевую длину.
<выражение> | - выражение любого типа. |
Returns : | EMPTY() возвращает значение "истина" (.T.), если результат выражения имеет пустое значение, в противном случае она возвращает "ложь" (.F.). Критерии, по которым определяется пустое значение, зависят от типа данных выражения <выражение> в соответствии со следующими правилами: Список пустых значений . --------------------------------------------------------------------- Тип данных Критерий --------------------------------------------------------------------- массив нулевая длина символ пробел, символ табуляции, CR/LF или пустая строка число 0 дата NULL( CTOD("") ) логические "ложь" (.F.) MEMO то же, что и символ NIL NIL --------------------------------------------------------------------- |
See also : | LEN() |
__Fledit( <aSrc>, <aList>) --> <aSelected>
__FlEdit ищет соответствие для каждого элемента массива <aList> в массиве <aSrc> по имени (<aList>[1] - DBS_NAME). Если элемент обнаружен, то соответствующий элемент <aSrc> добавляется в возвращаемый массив <aSelected>. Соответствие остальных подэлементов (DBS_TYPE, DBS_LEN, DBS_DEC) не проверяется. Категория TCP представляет собой набор функция для работы с сокетами.
Благодарим Sergio Zayas за помощь в создании функций TCPListen() и TCPAccept().
<aSrc> | Массив, содержащий все допустимые описания полей. |
<aList> | Массив, содержащий поля для проверки. |
Returns : | Массив, содержащий отобранные поля. |
See also : | DBSTRUCT() |
FT_AADDITION( <aList1>, <aList2> [, <lTrimmer> [, <lCaseSens> ] ] ) ; --> aNewArray
This function will add the elements unique of aList2 with aList1. It returns a new array including all the elements of aList1 plus the unique elements of aList2.
<aList1> | is the primary array. |
<aList2> | is the secondary array. |
<lTrimmer> | is a logical value denoting whether leading or trailing spaces should be included in the comparison. If .T., then ignores spaces in comparison, defaults to .T., .F. includes spaces. |
<lCaseSens> | is a logical value denoting case sensitivity. If .T., then comparison is sensitive to case, defaults to .T., .F. ignores case. |
Returns : | An array of the union of aList1 and aList2. |
FT_AAVG( <aArray> [, <nStartIndex> [, <nEndIndex> ] ] ) --> nAverage
This function is used to get a numeric average of selected or all elements of an array.
This routine requires FT_ASUM().
FT_ADESSORT( <aArray> [, <nStartIndex> [, <nEndIndex> ] ] ) --> aSorted
This function is used to sort an array in descending order, i.e., Z-A
FT_AEMAXLEN( <aArray> [, <nDimension> [, <nStart> [, <nCount> ] ] ] ) ; --> nMaxlen
This function will measure each element of an array dimension and return the longest element.
<aArray> | is the array containing the elements to be measured. |
<nDimension> | is the array dimension to be measured, defaults to first dimension. |
<nStart> | is the starting array element to include, defaults to first array element. |
<nCount> | is the number of array elements to process from from <nStart>, defaults to remaining elements in array. |
Returns : | The length of the longest size element of an array. |
See also : | FT_AEMINLEN() |
FT_AEMINLEN( <aArray> [, <nDimension> [, <nStart> [, <nCount> ] ] ] ) --> nMinlen
This function will measure each element of an array dimension and return the shortest element.
<aArray> | is the array containing the elements to be measured. |
<nDimension> | is the array dimension to be measured, defaults to first dimension. |
<nStart> | is the starting array element to include, defaults to first array element. |
<nCount> | is the number of array elements to process from from <nStart>, defaults to remaining elements in array. |
Returns : | The length of the shortest size element of an array. |
See also : | FT_AEMAXLEN() |
FT_AMEDIAN( <aArray> [, <nStart> [, <nEnd> ] ] ) --> nMedian
This function sorts the elements of a numeric array and then returns the value in the middle element of the sorted array. If there is no exact middle value, then it returns the average of the two middle values. Half of the elements are > median and half are < median. A median average may more reflect a more useful average when there are extreme values in the set.
FT_ANOMATCHES( <aArray>, <bCompareBlock> ; [, <nStartIndex> [, <nEndIndex> ] ] ) --> nNoOfMatches
This function returns the number of array elements that, when passed to the supplied code block, cause that code block to return a .T. value.
<aArray> | is the array to be searched |
<bCompareBlock> | is a code block containing the expression for the array elements to be tested with. Each element is passed as a parameter to the block. If the block returns .T., the number of matches will be incremented by one. |
<nStartIndex> | is the first array item to include in the search, defaults to first element. |
<nEndIndex> | is the last array element to include in the search, defaults to all elements. |
Returns : | The number of elements that cause the code block to return .T. |
FT_AREDIT( <nTop>, <nLeft>, <nBottom>, <nRight>, <Array Name>, ; <nElem>, <aHeadings>, <aBlocks> [, <bGetFunc> ] ) --> xElement
This function allows you to position yourself in an array, add and delete rows with the <F7> and <F8> keys, and pass a UDF with information to edit the individual gets.
<nTop> | , <nLeft>, <nBottom>, <nRight> are coordinates for TBrowse |
<Array Name> | is name of 2 dimensional to array edit |
<nElem> | is pointer for element in array |
<aHeadings> | is array of column headings |
<aBlocks> | is array of blocks describing each array element [ <bGetFunc> ] is get editing function for handling individual elements |
Returns : | Value of element positioned on when exit FT_AREDIT() The type of this value depends on what is displayed. |
FT_ASUM( <aArray> [, <nStartIndex> [, <nEndIndex> ] ] ) --> nSum
This function is to sum the elements of a numeric array or to sum the lengths of a character array.
FT_RESTARR( <cFileName>, <nErrorCode> ) --> aArray
FT_RESTARR() restores an array which was saved to a disc file using FT_SAVEARR().
[10/1/92 Librarian note:
This function does not appear to work with multi-dimensional arrays. If you'd care to modify it to support this feature, please do and send it to Glenn Scott 71620,1521.]
<cFileName> | is a DOS file name. |
<nErrorCode> | will return any DOS file error. All arguments are required. |
Returns : | Return an array variable. |
See also : | FT_SAVEARR() |
FT_SAVEARR( <aArray>, <cFileName>, <nErrorCode> ) --> lRet
FT_SAVEARR() saves any Clipper array, except those containing compiled code blocks, to a disc file. The array can be restored from the disc file using FT_RESTARR().
[10/1/92 Librarian note:
This function does not appear to work with multi-dimensional arrays. If you'd care to modify it to support this feature, please do and send it to Glenn Scott 71620,1521.]
<aArray> | is any Clipper array except those containing compiled code blocks. |
<cFileName> | is a DOS file name. |
<nErrorCode> | will return any DOS file error. All arguments are required. |
Returns : | .F. if there was a DOS file error or the array contained code blocks, otherwise returns .T. |
See also : | FT_RESTARR() |
LEN(<символьная строка> | <массив>) --> число
LEN() является функцией обработки символьных строк и массивов, которая возвращает длину символьной строки или количество элементов в массиве. В символьной строке каждый байт, включая и нулевые символы (CHR(0)), считается как один символ. Длина пустой строки ("") равна 0.
Для любого массива LEN() возвращает число элементов в нем. Если массив является многомерным, то подмассивы считаются как один элемент. Это означает, что для вложенного или многомерного массива LEN() возвращает длину первого измерения. Чтобы определить число элементов в других измерениях, надо использовать LEN() для подмассивов, как показано в примере. Следует отметить, что вложенные массивы в xClipper не обязательно должны иметь одинаковые измерения.
MAP() --> <oObject>
Map() создает новый пустой объект (ассоциативный массив) и возвращает его.
MAPMODIFY(<oObj>, <lMode>) --> <lOldMode>
MAPMODIFY() включает/отключает режим контроля изменения атрибутов.
Если <lMode> TRUE и объект <oObj> содержит метод <Modify>, то перед изменением значения атрибута будет автоматически вызван метод oObj:Modify(<nHashAttr>, <vNewValue>). Где <nHashAttr> хэш-код изменяемого атрибута, <vNewValue> новое значение атрибута. Метод <Modify> должен вернуть реальное значение, которое будет присвоено модифицируемому атрибуту.
TYPE(<символьное выражение>) --> тип
TYPE() - системная функция, возвращающая тип заданного выражения. Она может быть использована для проверки корректности типов выражений в которые могут входить функции библиотеки xCLIPPER.LIB . Однако в выражения не должны включаться ссылки на LOCAL или STATIC переменные, функции пользователя или встроенные функции библиотеки EXTEND.LIB.
Функция TYPE() похожа на функцию VALTYPE(), но отличается использованием оператора макроподстановки (&) для определения типа предмета. Это мешает использовать TYPE() для определения типа LOCAL и STATIC переменных. VALTYPE() вычисляет выражение и определяет тип данных возвращаемых значений. Это позволяет вам определять тип функций пользователя так же, как LOCAL и STATIC переменных.
<символьное выражение> | - символьное выражение, для которого должен быть определен тип его значения. <символьное выражение> может представлять собой поле, уточненное алиасом или без него, PRIVATE или PUBLIC переменные, или выражение любого типа. |
Returns : | Функция TYPE() возвращает один из следующих символов: Возвращаемое значение TYPE(). --------------------------------------------------------------------- Результат Значение --------------------------------------------------------------------- A Массив B Блок C Символ D Дата L Логическое значение M Меню поля N Число O Объект U NIL, LOCAL или STATIC переменная UE Синтаксическая ошибка UI Неопределенная ошибка --------------------------------------------------------------------- |
See also : | VALTYPE() |
VALTYPE (<выражение>) --> тип
VALTYPE() - системная функция, которая вычисляет значение аргумента и возвращает символ, определяющий тип данных возвращаемого значения.
Функция VALTYPE() похожа на функцию TYPE(), но отличается тем, что вычисляет значение заданного аргумента и определяет тип возвращаемого значения. Благодаря этому можно определить тип LOCAL или STATIC переменных, функций пользователя и функций из библиотеки EXTEND.LIB. Функция TYPE() использует оператор макроподстановки (&) для вычисления значения типа аргумента.
<выражение> | - выражение любого типа. |
Returns : | VALTYPE() - возвращает один символ, представляющий собой тип данных результата вычисления выражения, заданного в аргументе <выражение>. VALTYPE() возвращает один из следующих символов: Возвращаемые значения VALTYPE() --------------------------------------------------------------------- Результат Значение --------------------------------------------------------------------- А Массив В Блок С Символ D Дата L Логическое значение М Memo-поле N Число О Объект U NIL --------------------------------------------------------------------- |
See also : | TYPE() |
Пред. | Начало | След. |
C-API | Уровень выше | LOGICAL |