|
Часть 9
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є FOR ... ENDFOR є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Назначение
Выполняет операторы внутри цикла определенное количество раз
Синтаксис
FOR = TO [STEP ]
[EXIT]
[LOOP]
ENDFOR | NEXT
Смотри также
DO CASE, DO WHILE, IF, SCAN
Описание
Оператор FOR ... ENDFOR выполняет операторы, заключенные внутри
цикла, заданное количество раз.Началом цикла является утверждения FOR;
концом - утверждение ENDFOR. Переменная в памяти используется
в качестве счетчика, определяющего, сколько раз будут выполнены
операторы внутри цикла.
Первое численное выражение является начальным значением
счетчика, а второе численное выражение его конечным значением.
Операторы программы после FOR выполняются, пока не будет
достигнуто утверждение ENDFOR или NEXT. Тогда счетчик
увеличивается на шаг STEP . Если опция STEP отсутствует, то
значение счетчика увеличивается на единицу.
После этого значение счетчика сравнивается с конечным значением
. Если значение счетчика меньше или равно значению выражения
, то операторы в цикле FOR выполняются снова. Если значение
счетчика больше выражение , то выполнение операторов цикла
заканчивается и программа продолжает выполняться с оператора,
следующего за утверждением ENDFOR.
Выражения , и могут быть численными
выражениями или численными переменными в памяти.
Внимание!!!
Значения , и считываются только
первоначально, и их значения могут быть изменены внутри цикла без
изменения количества итераций. Однако если вы измените значение
счетчика внутри цикла, это изменит количество итераций цикла.
Если значение выражения в опции STEP отрицательно, то
значение счетчика при каждой итерации будет уменьшаться, а значение
начального выражения должно быть больше, чем значение
конечного выражения .
Дополнительные опции
является в переменной в памяти, которая рассматривается
как счетчик. Она не нуждается в определении перед выполнением FOR ...
ENDFOR.
является начальным значением счетчика.
является конечным значением счетчика.
STEP
Счетчик увеличивается после каждой итерации на шаг
. Если является отрицательным выражением, счетчик
уменьшается. Если STEP отсутствует, счетчик увеличивается на
1.
Команды FoxPro, предназначенные для выполнения. Вы можете
разместить любое число команд между утверждениями FOR и ENDFOR.
EXIT
EXIT передает управление из цикла FOR ... ENDFOR оператору,
непосредственно следующему за командой ENDFOR. EXIT может
располагаться в любом месте между операторами FOR и ENDFOR.
LOOP
LOOP также может располагаться в любом месте цикла между
операторами FOR и ENDFOR. Включение LOOP ENDFOR возвращает управление
прямо на FOR без выполнения команд между LOOP и ENDFOR. Счетчик
увеличивается/уменьшается также, как и в случае достижения ENDFOR.
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є Примеры є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
CLEAR
FOR mcount = 1 TO 10
? mcount
ENDFOR
FOR mcount = 2 * 5 TO 1 STEP -1
? mcount
ENDFOR
SET TALK OFF
USE customer
GO TOP
STORE 2 TO I
STORE 10 TO J
STORE 2 TO K
FOR mcount = I TO J STEP K
GOTO mcount
DISPLAY UPPER (company)
ENDFOR
USE && закрыть базу данных
В первом примере счетчик цикла меняется от 1 до 10. Во втором
примере показано использование опции STEP с отрицательным шагом.
Переменная цикла меняется от 10 до 1. В последнем примере показано то,
что начальное и конечное значение переменной цикла, а также значение
шага могут быть заданы с помощью переменных. В этом примере будут
отображены все записи базы данных CUSTOMER, номера которых имеют
значение от 2 до 10.
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є FOUND є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Назначение
Возвращает значение "истинно", если последняя команда CONTINUE, FIND,
LOCATE или SEEK успешно выполнилась
Синтаксис
FOUND([ | ])
Параметры
Номер рабочей области для базы данных
Псевдоним базы данных
Возвращаемый тип
Логический
Смотри также
CONTINUE, EOF(), LOCATE, SEEK
Описание
Функция FOUND() возвращает логическое значение, которое
указывает на то, что успешно выполнилась последняя команда поиска в
базе данных CONTINUE, FIND, LOCATE или SEEK, или на то, что указатель
перемещен как результат отношения между базами данных.
Логическое значение "истинно" (.T.) возвращается в том случае,
если поиск выполнен успешно. Значение "ложно" (.F.) возвращается
тогда, когда последняя команда поиска неуспешна.
Параметр
|
Существует значение FOUND() для каждой рабочей области. Если вы не
задали рабочую область и псевдоним, FOUND() возвращает значение для
файла базы данных в текущей рабочей области. Вы можете получить
значение FOUND() для базы данных, открытой в другой рабочей области.
Для получения значения FOUND() в заданной рабочей области включите
номер рабочей области или псевдоним базы данных .
Если в заданной рабочей области нет открытой базы данных, FOUND()
возвращает значение "ложно" (.F.). Если нет базы данных с заданным
псевдонимом, выдается сообщение "Alias not found" ("Псевдоним не
найден").
Важно!!!
Эта функция полезна для определения, имеет ли дочерняя база данных
в отношении с текущей базой данных запись, соответствующую текущей
записи, как в примере ниже.
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є Примеры є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
SET TALK WINDOW
SET SAFETY OFF
CLOSE ALL
SELECT 0
USE invoice TAG cust_id
SELECT 0
USE customer
SET RELATION TO cust_id INTO invoice
COPY TO newfile FOR FOUND('invoice')
В следующем примере учитываются все заказчики из Перрисбурга
(Perrysburg).
SET TALK OFF
CLOSE ALL
USE customer
STORE 0 TO mcount
LOCATE FOR city = 'Perrysburg'
DO WHILE FOUND()
mcount = mcount + 1
CONTINUE
ENDDO
WAIT WINDOW 'Total customers from Perrysburg: ' ;
+ LTRIM(STR(mcount)) NOWAIT
USE && закрыть базу данных
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є FPUTS є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Назначение
Записывает символьную строку, возврат каретки и подачу строки в файл
или коммуникационный порт
Синтаксис
FPUTS(, [, ])
Параметры
Дескриптор файла или порта
Символьная строка, записываемая в файл или порт
Число символов, записываемых в файл или порт
Возвращаемый тип
Численный
Смотри также
FCHSIZE(), FCLOSE(), FCREATE(), FEOF(), FFLUSH(), FGETS(), FOPEN(),
FREAD(), FSEEK(), FWRITE()
Описание
Функция FPUTS() записывает строку символов в файл или
коммуникационный порт, который был открыт функцией FOPEN(). В отличие
от функции FWRITE(), функция FPUTS() размещает возврат каретки и
подачу строки в конце строки символов, которую она записывает в файл
или коммуникационный порт.
Функция FPUTS() возвращает число байтов, записанных в файл или
порт. Если FPUTS() не может осуществить запись в файл или порт,
возвращается 0.
Параметры
FPUTS() осуществляет запись в файл или порт, заданный .
Функции FOPEN() и FCREATE() используются для назначения дескриптора
файла переменной в памяти. Обычно, задано этой переменной.
Строка, которую функция FPUTS() записывает в файл или порт,
задается с помощью .
Функция FPUTS() записывает в файл или порт целую строку, если не
задано . Когда включено , символов записывается
в файл или порт. Вся строка будет записана в файл или порт в
случае, если больше или равно числу символов в . Если
меньше числа символов в , только символов будут
записаны в файл или порт.
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є Пример є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Следующий пример создает и открывает временный файл для элемента
данных. Если файл создается успешно, программа создает окно ввода, где
вы можете ввести первое имя, последнее имя и позицию. Эта информация
затем записывается во временный файл. Затем, что в отличие от
FWRITE(), функция FPUTS() помещает возврат каретки в конец строки.
Затем редактор FoxPro показывает результирующий файл. Если файл не
может быть успешно создан с использованием низкоуровневой функции
работы с файлами, редактор FoxPro создает и затем показывает пустой
файл.
SET TALK OFF
CLEAR
tmpfile = SYS(3) && Создать имя временного файла
handle = FCREATE(tmpfile) && Открыть временный файл
IF handle < 0 && Ошибка, возникшая при создании файла
DEFINE WINDOW alert FROM 7,17 TO 12,60 DOUBLE COLOR SCHEME 7
DO CASE && Невозможно открыть временный файл
CASE FERROR() = 4
reason = 'Too many files open (out of handles)'
CASE FERROR() = 5
reason = 'Access denied'
CASE FERROR() = 8
reason = 'Out of memory'
CASE FERROR() = 29
reason = 'Disk full'
CASE FERROR() = 31
reason = 'General Failure'
ENDCASE
ACTIVATE WINDOW alert
@ 1,7 SAY 'Unable to open file'
@ 2,7 SAY 'Reason: ' + reason
@ 3,7 SAY 'Press a key to exit'
=INKEY(0)
DEACTIVATE WINDOW alert
CANCEL
ELSE
STORE SPACE(15) TO fname, lname, pos
DEFINE WINDOW wingets FROM 10,20 TO 18,60 ;
CLOSE FLOAT SHADOW SYSTEM COLOR SCHEME 8 TITLE ' Name Entry '
ACTIVATE WINDOW wingets
@ 1,5 SAY 'First Name:' GET fname
@ 3,5 SAY 'Last Name :' GET lname
@ 5,5 SAY 'Position :' GET pos
READ
=FWRITE(handle,'First name: ')
=FPUTS(handle,fname)
=FWRITE(handle,'Last name: ')
=FPUTS(handle,lname)
=FWRITE(handle,'Position: ')
=FPUTS(handle,pos)
=FCLOSE(handle) && Закрыть файл
DEACTIVATE WINDOW wingets
WAIT 'Press a key to view the file' WINDOW
ENDIF
IF !WEXIST('wingets')
DEFINE WINDOW wingets FROM 10,20 TO 18,60 ;
CLOSE FLOAT SHADOW SYSTEM ;
COLOR SCHEME 8 TITLE ' Name Entry '
ENDIF
MODIFY FILE (tmpfile) WINDOW wingets NOWAIT && Просмотр файла
CLEAR WINDOW
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є FREAD є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Назначение
Возвращает заданное число байтов из файла или коммуникационного порта
Синтаксис
FREAD(, )
Параметры
Дескриптор файла или порта
Число возвращаемых байтов
Возвращаемый тип
Символьный
Смотри также
FCHSIZE(), FCLOSE(), FCREATE(), FEOF(), FFLUSH(), FGETS(), FOPEN(),
FPUTS(), FSEEK(), FWRITE()
Описание
Функция FREAD() возвращает в качестве символьной строки серию
байтов из файла или коммуникационного порта.
Параметры
Функция FREAD() возвращает данные из файла или коммуникационного
порта, заданного с помощью . Включите дескриптор файла или
порта в .
Число байтов, возвращаемых функцией FREAD() определяется и
позицией указателя файла. FREAD() начинает возвращать данные с текущей
позиции указателя и останавливается после возврата байтов или
при встрече конца файла. Если встретился конец файла, может быть
возвращено менее байтов.
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є Пример є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
*** Должен существовать файл TEST.TXT ***
STORE FOPEN('test.txt') TO file_handle && Открыть файл
STORE FSEEK(file_handle, 0, 2) TO ifp_size && Переместить указатель
&& на конец файла
STORE FSEEK(file_handle, 0) TO ifp_top && Переместить указатель
&& на начало файла
IF ifp_size <= 0 && Является ли файл пустым ?
WAIT WINDOW 'This file is empty!' NOWAIT
ELSE && Если нет
l_string = FREAD(file_handle, ifp_size) && Сохранить содержание
&& в памяти
ENDIF
= FCLOSE(file_handle) && Закрыть файл
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є FSEEK є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Назначение
Перемещает указатель файла в файле, открытом низкоуровневой функцией
работы с файлами
Синтаксис
FSEEK(, [, ])
Параметры
Дескриптор файла
Число байтов для перемещения указателя файла
Если 0, то указатель файла перемещается относительно начала
файла (по умолчанию)
Если 1, то указатель файла перемещается относительно текущей
позиции указателя
Если 2, то указатель файла перемещается относительно конца
файла
Возвращаемый тип
Численный
Смотри также
FCHSIZE(), FCLOSE(),FCREATE(), FEOF(), FFLUSH(), FGETS(), FOPEN(),
FPUTS(), FREAD(), FWRITE()
Описание
Функция FSEEK() используется для перемещения указателя файла в
пределах файла.
После перемещения указателя файла, функция FSEEK() возвращает
текущую позицию указателя файла относительно начала файла. Указатель
файла может быть также перемещен с помощью низкоуровневых функций
работы с файлами FREAD() и FWRITE().
Параметры
Функция FSEEK() перемещает указатель файла в файле, задаваемом
. Включайте дескриптор файла в . Дескриптор файла
возвращается (и обычно сохраняется в переменной в памяти) функциями
FCREATE() и FOPEN(), когда файл создается или открывается.
Число байтов для перемещения указателя файла задается в .
Если положительно, указатель файла перемещается по направлению
к концу файла. Если отрицательно, указатель файла перемещается
по направлению к началу файла.
По умолчанию указатель файла перемещается относительно начала
файла. Вы можете перемещать указатель файла относительно различных
частей файлов, указывая . Ниже приводится список разрешенных
значений для и описывается, каким образом перемещается
указатель файла:
I==========================================================I
I I Перемещение указателя файла I
I==========================================================I
I 0 I Относительно начала файла (по умолчанию) I
I---------I------------------------------------------------I
I 1 I Относительно текущей позиции указателя файла I
I---------I------------------------------------------------I
I 2 I Относительно конца файла I
I==========================================================I
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є Пример є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Следующая функция, определенная пользователем, использует FSEEK()
для получения размера файла. Если вы не включаете параметров в
функцию, определенную пользователем, возвращается -2. Если файл не
найден, возвращается -1.
FUNCTION fsize2
PARAMETERS mfile && Проверяемый файл
PRIVATE mhandle,fsize
IF PARAMETERS() = 0
RETURN -2 && Возвратить -2, если параметр не передан
ELSE
IF !FILE(mfile)
RETURN -1 && Возвратить -1, если файл не существует
ENDIF
ENDIF
mhandle = FOPEN(mfile) && Открыть файл
fsize = FSEEK(mhandle,0,2) && Определить размер файла,
&& присвоить его fsize
=FCLOSE(mhandle) && Закрыть файл
RETURN fsize && Возвратить значение
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є FSIZE є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Назначение
Возвращает размер поля базы данных
Синтаксис
FSIZE( [, | ])
Параметры
Имя поля базы данных
Номер рабочей области для базы данных
Псевдоним базы данных
Возвращаемый тип
Численный
Смотри также
DISPLAY STRUCTURE, FCOUNT()
Описание
Функция FSIZE() возвращает как целочисленное значение размер
заданного поля базы данных. FSIZE() может использоваться для получения
размера символьных и численных полей баз данных. Поля даты, логические
поля и memo поля имеют стандартные размеры (8, 1 и 10,
соответственно).
Размер поля базы данных также может быть проверен с помощью
команд DISPLAY STRUCTURE и LIST STRUCTURE.
Параметры
Включите имя поля базы данных в символьное выражение .
|
Если вы не задали рабочую область и псевдоним, возвращается размер
заданного поля для базы данных в текущей рабочей области. Вы можете
получить размер поля для базы данных, открытой в другой рабочей
области, включив номер рабочей области или псевдоним базы
данных .
Если нет базы данных с заданным псевдонимом, выдается сообщение
"Alias not found" ("Псевдоним не найден").
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є Примеры є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
USE customer
? FSIZE('contact')
40
? FSIZE('cust_id')
6
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є FULLPATH є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Назначение
Возвращает полное путевое имя для файла
Синтаксис
FULLPATH([, | ])
Параметры
Имя файла
Указывает, что FULLPATH() исследует маршрут DOS перед
исследования маршрута FoxPro
Имя второго файла
Возвращаемый тип
Символьный
Замечания
Расширена в FoxPro 2.0: Относительный путь между двумя файлами
Смотри также
DBF(), FILE(), LOCFILE(), SYS(2014)
Описание
Функция FULLPATH() возвращает полное путевое имя DOS для файла или
полный путь, относительно другого файла.
FULLPATH(), когда используется с SYS(2014), может использоваться
для того, чтобы сделать прикладные программы переносимыми. То есть,
задавая местоположение текущей программы и местоположение остальных
файлов, FULLPATH() и SYS(2014) используются для получения правильных
путей для этих файлов. Так как пути файлов определяются, файлы могут
быть доступны программе.
Дополнительные опции
Маршрут FoxPro исследуется для файла с именем .
Обязательно включайте расширение имени файла (если оно есть). Если
файл находится в маршруте FoxPro, возвращается полное путевое имя для
этого файла. Маршрут FoxPro может быть установлен с помощью команды
SET PATH.
Если файл не найден в маршруте FoxPro, полное путевое имя файла
возвращается, как будто файл был найден в текущей по умолчанию
директории. Директория по умолчанию может быть задана командой SET
DEFAULT.
Если включается , то исследуется маршрут DOS (а не маршрут
FoxPro) для заданного файла. может иметь любое значение. Если
файл не найден в маршруте DOS, полное путевое имя файла возвращается,
как будто файл был найден в текущей по умолчанию директории.
Директория по умолчанию может быть задана командой SET
Может быть включено необязательное второе имя файла .
Обязательно включайте расширение имени файла (если оно есть). В этом
случае функция FULLPATH() возвратит полное путевое имя для относительно .
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є Пример є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
В этом примере исследуется, как использовать функции FULLPATH() и
SYS(2014) для определения местоположения базы данных, используемой при
создании экрана.
Когда вы создаете экран с помощью компоновщика экранов FoxPro,
информация о созданном экране сохраняется в базе данных экрана
(которую мы назовем SCREEN.SCX). Поля в другой базе данных (которую мы
назовем DATA.DBF) могут использоваться в создаваемом экране.
Местоположение базы данных DATA сохраняется в базе данных SCREEN при
сохранении экрана.
В этом примере используется следующая структура директорий. База
данных SCREEN размещается в поддиректории SC корневой директории
устройства C: (C:\SC\SCREEN.SCX). База данных DATA размещается в
поддиректории DB директории SC. "Домашней" директорией в этом примере
будет поддиректория FP директории DB.
C:
і
і
ГД SC ДД SCREEN.SCX
і і
і і
і ГД DB ДД DATA.DBF
і і і
і і і
і і АД FP ДД "Домашняя" директория
і і
і і
і АД TX
і
АД WK
База данных SCREEN сохраняет местоположение базы данных DATA
относительно базы данных SCREEN - DB\DATA.DBF
Программа может генерировать команду USE для открытия базы данных
DATA. Она должна определить местоположение DATA из путевой информации,
сохраненной в базе данных SCREEN. Программа может использовать функцию
FULLPATH():
FULLPATH('DB\DATA.DBF', 'C:\SC\SCREEN.SCX')
которая возвратит 'C:\SC\DB\DATA.DBF'. Это используется в функции
SYS(2014) вместе с "домашней" директорией:
SYS(2014, 'C:\SC\DB\DATA.DBF', 'C:\SC\DB\FP')
которая возвращает '\SC\DB\DATA.DBF'. Затем команда
USE LOCFILE('\SC\DB\DATA.DBF', 'DBF', 'Where is ...')
открывает базу данных DATA.DBF. Если база данных была перемещена из
местоположения, сохраненного в базе данных SCREEN, будет показан
диалог открытия файла для определения местоположения файла.
Следующий список показывает, как функция SYS(2014) возвращает
результат для различных домашних директорий, когда задано
'C:\SC\DB\DATA.DBF':
I=============================================I
I "Домашняя" директория I Результат SYS(2014) I
I=============================================I
I C:\ I SC\DB\DATA.DBF I
I---------------------------------------------I
I C:\WK\ I \SC\DB\DATA.DBF I
I---------------------------------------------I
I C:\SC\TX\ I \SC\DB\DATA.DBF I
I---------------------------------------------I
I C:\SC\DB\FP I \SC\DB\DATA.DBF I
I---------------------------------------------I
I C:\SC\DB I DATA.DBF I
I---------------------------------------------I
I C:\SC\ I DB\DATA.DBF I
I=============================================I
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є FUNCTION є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Назначение
Определяет начало подпрограммы
Синтаксис
FUNCTION
Смотри также
PARAMETERS, PARAMETERS(), RETURN, PRIVATE, PROCEDURE, PUBLIC,
RRETURN, SET PROCEDURE, SET UDFPARMS, UDFs
Описание
Во многих программах встречаются часто повторяющиеся подпрограммы.
Определение этих общеупотребительных подпрограмм как отдельных функций
уменьшает размер и сложность программ, упрощает их сопровождение и
повышает производительность.
Оператор FUNCTION находится внутри программы. Он
определяет начало каждой функции в программе и идентифицирует имя
функции. Имя функции может включать до 10 символов. Оно должно
начинаться с буквы или символа подчеркивания и может содержать любую
комбинацию букв, чисел и символов подчеркивания.
После первой строки, содержащей FUNCTION , идет
серия команд, определяющих функцию. Вы не обязаны включать в качестве
последнего оператора функции оператор RETURN, так как он автоматически
выполняется после последнего оператора функции.
Следующая команда FUNCTION или конец файла сигнализирует конец
функции.
Когда функция выполняется с оператором DO , FoxPro ищет
функцию в специальном порядке.
- Исследуется первый файл, содержащий команду DO .
- Если функции там нет, то FoxPro будет искать ее в файле SET
PROCEDURE (если он установлен).
- Затем, FoxPro просматривает программы в выполняемом блоке. Файлы
программ исследуются, начиная с ближайшей выполняемой программы
и продолжая до конца первой выполненной программы.
- Если функция до сих пор не найдена, FoxPro ищет автономный файл
программы. Если файл найден, то программа будет выполняться. В
противном случае, возвращается сообщение: "Файл не существует".
- DO IN исследует только названный файл.
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є Пример є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Следующий пример представляет функции LONGDATE и QUARTER,
определенные пользователем. Функция LONGDATE преобразует переменную
даты в символьную строку, подходящую для использования в отчетах.
Функция QUARTER возвращает квартал по заданному номеру месяца. Эти две
функции используются для печати заголовков в отчетах.
SET CENTURY ON
@ 5,0 SAY longdate({08/19/89})
@ 6,5 SAY quarter(DATE())
FUNCTION longdate
PARAMETER mdate
RETURN CDOW(mdate) + ', ' + MDY(mdate)
FUNCTION quarter
PARAMETER qdate
DO CASE
CASE MONTH (qdate) > 9
RETURN 'Fourth Quarter'
CASE MONTH (qdate) > 6
RETURN 'Third Quarter'
CASE MONTH (qdate) > 3
RETURN 'Second Quarter'
OTHERWISE
RETURN 'First Quarter'
ENDCASE
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є FV є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Назначение
Возвращает будущее значение капиталовложения
Синтаксис
FV(, , )
Параметры
Равный периодический процесс
Доля периодической выгоды
Число периодов произведенных платежей
Возвращаемый тип
Численный
Смотри также
CALCULATE, PV()
Описание
Финансовая функция FV() возвращает будущее значение
капиталовложения. Функция FV() вычисляет будущее значение серии равных
периодических платежей, что приводит к постоянной совместной выгоде.
Будущее значение равно сумме всех платежей и созданной выгоде.
Параметры
(который может быть отрицательным или положительным)
представляет собой равный периодический платеж. FV() предполагает, что
платежи делаются в конце каждого периода.
Доля периодической выгоды задается численным выражением .
Если доля выгоды ежегодна, но платежи производятся помесячно,
разделите ежегодную долю выгоды на 12.
задает число периодов произведенных платежей.
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є Пример є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
STORE 500 TO payment && Ежемесячный платеж
STORE .075/12 TO interest && 7.5% ежегодной доли выгоды
STORE 48 TO periods && Четыре года (48 месяцев)
? FV(payment, interest, periods) && Вычисление будущего значения
27887.93
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є FWRITE є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Назначение
Записывает символьную строку в файл или коммуникационный порт
Синтаксис
FWRITE(, [, ])
Параметры
Дескриптор файла или порта
Символьная строка, записываемая в файл или порт
Число символов, записываемых в файл или порт
Возвращаемый тип
Численный
Смотри также
FCHSIZE(), FCLOSE(), FCREATE(), FEOF(), FFLUSH(), FGETS(), FOPEN(),
FPUTS(), FREAD(), FSEEK()
Описание
Функция FWRITE() записывает строку символов в низкоуровневый файл
или коммуникационный порт. В отличие от функции FPUTS(), функция
FWRITE()не размещает возврат каретки и подачу строки в конце строки
символов, которую она записывает в файл или коммуникационный порт.
Функция FWRITE() возвращает число байтов, записанных в файл или
порт. Если FWRITE() не может осуществить запись в файл или порт,
возвращается 0.
Параметры
FWRITE() осуществляет запись в файл или порт, заданный .
Функции FOPEN() и FCREATE() используются для назначения дескриптора
файла переменной в памяти. Обычно, задано этой переменной.
Строка, которую функция FWRITE() записывает в файл или порт,
задается с помощью .
Функция FWRITE() записывает в файл или порт целую строку, если не
задано . Когда включено , символов записывается
в файл или порт. Вся строка будет записана в файл или порт в
случае, если больше или равно числу символов в . Если
меньше числа символов в , только символов будут
записаны в файл или порт.
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є Пример є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Следующий пример создает и открывает временный файл для элемента
данных. Если файл создается успешно, программа создает окно ввода, где
вы можете ввести первое имя, последнее имя и позицию. Эта информация
затем записывается во временный файл. Затем, что в отличие от
FWRITE(), функция FPUTS() помещает возврат каретки в конец строки.
Затем редактор FoxPro показывает результирующий файл. Если файл не
может быть успешно создан с использованием низкоуровневой функции
работы с файлами, редактор FoxPro создает и затем показывает пустой
файл.
SET TALK OFF
CLEAR
tmpfile = SYS(3) && Создать имя временного файла
handle = FCREATE(tmpfile) && Открыть временный файл
IF handle < 0 && Ошибка, возникшая при создании файла
DEFINE WINDOW alert FROM 7,17 TO 12,60 DOUBLE COLOR SCHEME 7
DO CASE && Невозможно открыть временный файл
CASE FERROR() = 4
reason = 'Too many files open (out of handles)'
CASE FERROR() = 5
reason = 'Access denied'
CASE FERROR() = 8
reason = 'Out of memory'
CASE FERROR() = 29
reason = 'Disk full'
CASE FERROR() = 31
reason = 'General Failure'
ENDCASE
ACTIVATE WINDOW alert
@ 1,7 SAY 'Unable to open file'
@ 2,7 SAY 'Reason: ' + reason
@ 3,7 SAY 'Press a key to exit'
=INKEY(0)
DEACTIVATE WINDOW alert
CANCEL
ELSE
STORE SPACE(15) TO fname, lname, pos
DEFINE WINDOW wingets FROM 10,20 TO 18,60 ;
CLOSE FLOAT SHADOW SYSTEM COLOR SCHEME 8 TITLE ' Name Entry '
ACTIVATE WINDOW wingets
@ 1,5 SAY 'First Name:' GET fname
@ 3,5 SAY 'Last Name :' GET lname
@ 5,5 SAY 'Position :' GET pos
READ
=FWRITE(handle,'First name: ')
=FPUTS(handle,fname)
=FWRITE(handle,'Last name: ')
=FPUTS(handle,lname)
=FWRITE(handle,'Position: ')
=FPUTS(handle,pos)
=FCLOSE(handle) && Закрыть файл
DEACTIVATE WINDOW wingets
WAIT 'Press a key to view the file' WINDOW
ENDIF
IF !WEXIST('wingets')
DEFINE WINDOW wingets FROM 10,20 TO 18,60 ;
CLOSE FLOAT SHADOW SYSTEM ;
COLOR SCHEME 8 TITLE ' Name Entry '
ENDIF
MODIFY FILE (tmpfile) WINDOW wingets NOWAIT && Просмотр файла
CLEAR WINDOW
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є GATHER є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Назначение
Перемещает содержание переменных памяти или элементов массивов в поля
базы данных.
Синтаксис
GATHER FROM | MEMVAR
[FIELDS ]
[MEMO]
Смотри также
APPEND FROM ARRAY, COPY TO ARRAY, DIMENSION, SCATTER
Описание
Команда GATHER перемещает данные из набора переменных памяти или
массивов переменных памяти в текущую запись активной базы данных.
Дополнительные опции
FROM
Если данные перемещаются из массива, то элементы массива
пересылаются начиная с первого в соответствующие поля записи.
Содержание первого элемента массива копируется в первое поле, второго
элемента массива во второе поле и т. д.
Если количество элементов массива меньше, чем количество полей в
записи базы данных, то поля модифицируются до того момента, пока не
исчерпаются все элементы массива. Если количество элементов массива
больше, чем количество полей в записи базы данных, неуместившиеся
элементы массива игнорируются.
MEMVAR
Если используется опция MEMVAR, то из списка переменных памяти
пересылаются переменные, с такими же именами, что и поля в текущей
записи базы данных.
Важно!!!
Переменные памяти с теми же именами, что и поля в базе данных,
легко могут быть созданы с помощью опций MEMVAR или BLANK команды
SCATTER.
Содержимое каждой переменной пересылается в соответствующее поле с
тем же именем. Если не может быть найдена переменная с тем же именем,
что и поле базы данных, то содержимое поля не изменяется.
FIELDS
Чтобы только заданные поля базы данных были заменены содержимым
элементов массива или переменных памяти, вы можете задать опцию FIELDS
со списком имен полей базы данных.
MEMO
Для включения в обработку командой GATHER memo полей, используйте
ключевое слово MEMO. Если MEMO не включено, memo поля пропускаются,
когда команда GATHER копирует данные из массива или переменных памяти
в текущую запись.
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є Пример є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Следующий пример иллюстрирует использование команд SCATTER и
GATHER. Процедура использует SCATTER для копирования данных в текущей
записи в переменную в памяти. Затем данные представляются в окне, где
их при желании можно отредактировать. Когда обработано последнее поле,
данные копируются назад в текущую запись с использованием команды
GATHER (если не была нажата клавиша Escape). В этом примере опция TO
не используется командами SCATTER и GATHER; опция TO используется
только при копировании данных в и из массивов.
SET TALK OFF
USE customer
SCATTER MEMVAR
DEFINE WINDOW menter FROM 6,10 to 18,70 PANEL
ACTIVATE WINDOW menter
@ 1,3 SAY 'Customer: ' GET m.company
@ 3,3 SAY 'Address: ' GET m.address1
@ 5,3 SAY 'City: ' GET m.city
@ 7,3 SAY 'State: ' GET m.state
@ 7,18 SAY 'Zip: ' GET m.zip
@ 9,13 SAY 'Press to discard changes'
READ
IF LASTKEY() != 27
GATHER MEMVAR
ENDIF
DEACTIVATE WINDOW menter
USE
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є GETBAR є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Назначение
Возвращает номер линейки для заданной позиции всплывающего меню
Синтаксис
GETBAR(, )
Параметры
Имя всплывающего меню
Позиция линейки во всплывающем меню
Возвращаемый тип
Численный
Замечания
Новая в FoxPro 2.0
Смотри также
DEFINE BAR, DEFINE POPUP, RELEASE
Описание
Функция GETBAR() позволяет вам определять позицию команды во
всплывающем меню. Эта функция полезна, когда команды всплывающего меню
добавляются, удаляются или изменяют порядок. Используйте команду
DEFINE BAR для добавления команды во всплывающее меню или RELEASE BAR
для удаления команды. Команды всплывающего меню могут изменять
порядок, если при создании всплывающего меню с помощью DEFINE POPUP
была использована опция MOVER.
Параметры
,
Задайте имя всплывающего меню в и позицию внутри
всплывающего меню. Функция GETBAR() возвратит номер линейки команды в
позиции всплывающего меню. Позиция всплывающего меню
может иметь значения от 1 до количества строк внутри всплывающего
меню. 1 соответствует первой строке во всплывающем меню, 2 - второй
строке и т. д.
В следующем примере программы создается всплывающее меню с именем
DEMOPOP. Так как включено ключевое слово MOVER, команды в DEMOPOP
могут изменять порядок. Более подробную информацию о том, как менять
порядок команд во всплывающем меню, можно найти в описании опции MOVER
команды DEFINE POPUP в этом руководстве. Всплывающее меню
активизируется, и серия функций GETBAR() возвращает запросы для каждой
команды в каждой позиции.
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є Пример є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
После того, как вы изменили порядок команд, вы можете нажать
клавишу F5 для того, чтобы увидеть новый порядок команд.
CLEAR
ON KEY LABEL F5 DO showorder
DEFINE POPUP demopop MOVER FROM 2,2
DEFINE BAR 1 OF demopop PROMPT 'One'
DEFINE BAR 2 OF demopop PROMPT 'Two'
DEFINE BAR 3 OF demopop PROMPT 'Three'
DEFINE BAR 4 OF demopop PROMPT 'Four'
DO showorder
ACTIVATE POPUP demopop
PROCEDURE showorder
CLEAR
@ 3,12 SAY '1 ' + PRMBAR('demopop', GETBAR('demopop',1))
@ 4,12 SAY '2 ' + PRMBAR('demopop', GETBAR('demopop',2))
@ 5,12 SAY '3 ' + PRMBAR('demopop', GETBAR('demopop',3))
@ 6,12 SAY '4 ' + PRMBAR('demopop', GETBAR('demopop',4))
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є GETENV є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Назначение
Возвращает строку символов, которая содержит содержимое заданной
переменной среды ДОС
Синтаксис
GETENV()
Возвращаемый тип
Символьный
Смотри также
DISKSPACE(), OS(), VERSION()
Описание
Функция GETENV() возвращает строку символов, которая содержит
содержимое переменной среды ДОС. Две переменные среды всегда имеются в
распоряжении пользователя - это COMSPEC и PATH. Вы можете определить
ваши собственные переменные среды, воспользовавшись командой DOS SET.
Для получения дополнительной информации, касающейся переменных
среды, вы можете обратиться к руководству по использованию системы
ДОС.
Параметр
Имя переменной среды DOS задается с помощью . В случае
отсутствия указанной переменной среды возвращается пустая строка.
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є Пример є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
? GETENV('PATH')
C:\COMMAND;C:\FOXPRO2
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є GETEXPR є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Назначение
Создает выражение и сохраняет его в переменной памяти
Синтаксис
GETEXPR [] TO
[TYPE [; ]]
[DEFAULT ]
Смотри также
GETFILE(), LOCFILE(), PUTFILE()
Описание
Команда GETEXPR отображает Построитель выражений FoxPro. Это
позволяет вам создать выражение и поместить его в переменную памяти.
Дополнительные опции
Необязательный аргумент это сообщение, которое появляется
в Построителе выражений. Это сообщение может быть использовано для
того, чтобы напомнить вам, какое выражение вы создаете.
TO
является переменной в памяти, используемой для сохранения
выражения. Если к моменту выполнения команды переменная не существует,
то она будет создана. Выражение, созданное Построителем выражений
хранится как символьная строка. Если Построитель выражений был прерван
нажатием клавиши Escape или выбором режима отмены (Cancel), то в
память переменной будет записана пустая строка. Если с помощью команды
DEFAULT было определено выражение - выражение по умолчанию, то
в случае выхода из Построителя выражений с помощью нажатия клавиши
Escape или выбора режима отмены (Cancel) выражение будет
записано в память переменной.
TYPE [;]
TYPE позволяет вам определить тип создаваемого выражения. Тип
определяется одной буквой в выражении - С для символьного, N -
для численного, D - для даты и L -для логического. Необязательно
должно включаться сообщение об ошибке, которое будет отображаться в
случае, если создаваемое вами выражение является недопустимым.
Сообщение об ошибке определяется в выражении .
Если выражение используется само по себе, то оно должно
быть заключено в кавычки. Если используется вместе с ,
то они должны быть отделены друг от друга точкой с запятой, а
комбинация, состоящая из , точки с запятой и должна
быть заключена в кавычки.
DEFAULT
DEFAULT позволяет вам определить выражение, которое будет
отображаться по умолчанию. Это выражение может быть введено с
клавиатуры, или вы можете вместо него записать ваше собственное
выражение.
Если с помощью команды DEFAULT было определено выражение -
выражение по умолчанию, то в случае выхода из Построителя выражений с
помощью нажатия клавиши Escape или выбора режима отмены (Cancel)
выражение будет записано в память переменной.
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є Пример є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
IF USED('customer')
SELECT customer
ELSE
USE LOCFILE('customer.dbf','DBF','Where is CUSTOMER.DBF?')
ENDIF
GETEXPR 'Enter condition to locate ' TO temp;
TYPE 'L' DEFAULT 'COMPANY = " "'
LOCATE FOR &temp
IF FOUND()
? 'Company: ' + company
ELSE
? 'Condition ' + temp + ' was not found '
ENDIF
USE
В этом примере команда GETEXPR используется для получения от
пользователя выражения LOCATE ( соответствующего типа ). Если
сообщение получено успешно, то высвечивается компания. В противном
случае вы получите сообщение о том, что сообщение не найдено.
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є GETFILE є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Назначение
Отображает диалог Открыть файл (Open File)
Синтаксис
GETFILE([] [, ])
Параметры
Расширения файлов, представляемых в диалоге Открыть файл
Строка-подсказка, которая будет отображаться в верхней части
диалога Открыть файл
Возвращаемый тип
Символьный
Смотри также
GETEXPR, FULLPATH(), LOCFILE(), PUTFILE()
Описание
Функция GETFILE() отображает диалог Открыть файл (Open File)
FoxPro в пределах которого может быть выбран файл на диске. Затем эта
функция возвращает имя выбранного файла. Имя файла, выбранного
пользователем, возвращается как значение функции. В том случае, если
никакой файл не выбран (выбирается вариант Cancel или нажимается
клавиша Escape), функция возвращает пустую строку.
Параметры
Необязательный аргумент указывает расширение файлов, кото-
рые должны быть отображены в прокручиваемом списке диалога Открыть
файл, когда контрольный блок All Files (Все файлы) не выбран. Для по-
лучения информации, касающейся полного списка расширений файлов,
используемых в системе FoxPro, обратитесь к таблице расширений файлов,
имеющейся в "Руководстве разработчика" (Developer's Guide) по системе
FoxPro.
Расширения, указываемые аргументом могут принимать
различные формы:
- может содержать одно расширение (например, 'PRG'), и
будут отображаться только те файлы, которые имеют эти
расширения.
- может содержать список расширений файлов, которые
разделяются точкой с запятой (например, 'PRG;FXP'). В этом
случае GETFILE() отобразит все файлы с расширениями PRG и FXP.
Однако, если файлы имеют одно и тоже имя, но разные расширения
(например, CUSTOMER.PRG и CUSTOMER.FXP), будет представлен
только файл с первым расширением, перечисленным в списке
расширений. В этом примере, если список расширений файлов
содержит 'PRG;FXP', будет представлен только файл CUSTOMER.PRG.
- может содержать список расширений файлов, которые
разделяются вертикальной чертой (например, 'PRG|FXP'). В этом
случае будут представлены все файлы с данными расширениями, даже
если они имеют одинаковые имена.
- Если содержит только одну точку с запятой (';'), в
прокручиваемом списке отображаются все файлы без расширения.
- Если содержит пустую строку (''), отображаются все
файлы, имеющиеся в текущей директории.
- также может содержать метасимволы ДОС (* и ?). Будут
отображаться все файлы с расширениями, удовлетворяющими условиям
метасимволов. Например, если является '?X?', будут
представлены все файлы с расширениями FXP, EXE, TXT и т. д.
Необязательный аргумент представляет собой
строку-подсказку, которая будет отображаться в верхней части диалога
Открыть файл.
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є Пример є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
SELECT 0
dbf_file = GETFILE('DBF', 'Open Database:')
USE (dbf_file)
idx_file = GETFILE('CDX|IDX|NDX', 'Index:')
SET INDEX TO (idx_file)
USE
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є GETPAD є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Назначение
Возвращает номер пункта для заданной позиции линейки меню
Синтаксис
GETPAD(, )
Параметры
Имя меню
Позиция пункта меню в линейке меню
Возвращаемый тип
Численный
Замечания
Новая в FoxPro 2.0
Смотри также
DEFINE PAD, DEFINE MENU, RELEASE PAD
Описание
Функция GETPAD() позволяет вам определять позицию пункта в линейке
меню. Пункты меню могут добавляться, удаляться или изменять порядок.
Используйте команду DEFINE PAD для добавления пункта в линейку меню
или RELEASE PAD для удаления пункта.
Параметры
,
Задайте имя меню в и позицию пункта меню внутри
линейки меню. Функция GETPAD() возвратит имя пункта для позиции
линейки меню. Численная позиция линейки меню может иметь
значения от 1 до количества пунктов внутри линейки меню. 1
соответствует первому пункту в линейке меню, 2 - второму пункту и т.
д.
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є Пример є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Следующая программа использует функцию GETPAD() для проверки,
находится ли пункт меню System в системной линейке меню FoxPro. Если
это так, этот пункт отключается. Для восстановления пункта меню System
в стандартное состояние используйте команду SET SYSMENU DEFAULT.
FOR count = 1 TO CNTPAD('_msysmenu') && Number of pads
IF PRMPAD('_msysmenu', GETPAD('_msysmenu', count)) = 'System'
RELEASE PAD (GETPAD('_msysmenu', count)) OF _msysmenu
EXIT
ENDIF
ENDFOR
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є GO/GOTO є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Назначение
Позиционирует указатель записи
Синтаксис
GO [RECORD] [IN | ]
GO TOP | BOTTOM[IN | ]
GOTO [RECORD] [IN | ]
GOTO TOP | BOTTOM[IN | ]
Смотри также
RECNO(), SELECT, SKIP
Описание
Команда GO | GOTO устанавливает указатель записи на
соответствующую запись внутри базы данных. Команды GO и GOTO
взаимозаменяемы. Эти команды работают с базой данных в текущей рабочей
области, если вы не задали дополнительную опцию IN |
Дополнительные опции
[RECORD]
Устанавливает указатель записи на физический номер записи .
Заметим, что GO или GOTO могут быть опущены целиком - вы можете задать
просто номер записи. Если вы задаете просто номер записи, то вы можете
перемещать указатель записи только в текущей рабочей области.
TOP | BOTTOM
GO TOP или GOTO TOP и GO BOTTOM или GOTO BOTTOM устанавливают
указатель записи на первую и последнюю записи, соответственно, в
текущей базе данных. Если используется дополнительная опция IN
| , то вы можете перемещать указатель записи в базе данных,
открытой в другой рабочей области.
Если база данных использует индекс по возрастанию, первой записью
является запись с наименьшим ключевым значением, а последней записью -
запись с наибольшим ключевым значением. Если база данных использует
индекс по убыванию, то верно обратное.
IN |
По умолчанию, команда GO перемещает указатель записи в базе
данных, открытой в текущей рабочей области. Для того, чтобы перемещать
указатель в базе данных в другой рабочей области, включите номер
рабочей области или псевдоним базы данных .
Вы не можете использовать эту опцию, если вы опускаете GO или GOTO
и просто задаете номер записи .
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є Пример є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
CLOSE ALL
SELECT 0
USE invoice
SELECT 0
USE customer
GO BOTTOM IN invoice
? RECNO('invoice')
54
GO BOTTOM
? RECNO()
51
GO 5
? RECNO()
5
USE IN invoice && Close databases
USE IN customer
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є GOMONTH є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
Назначение
Возвращает дату, которая является заданным числом месяцев до или после
заданной даты
Синтаксис
GOMONTH(, )
Параметры
Начальная дата
Если положительное, число месяцев после начальной даты
Если отрицательное, число месяцев до начальной даты
Возвращаемый тип
Дата
Смотри также
CMONTH()
Описание
Функция GMONTH() возвращает дату, которая является заданным числом
месяцев до или после заданной даты.
Параметры
|