Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сокращённые консультации к ГОС.doc
Скачиваний:
3
Добавлен:
21.09.2019
Размер:
377.34 Кб
Скачать

28. Функции работы с датой и временем

CDOW (<вырN>) - возвращает имя дня недели по-английски.

Пример: SET DATE GERMAN

? CDOW({^2005.10.01}) && Saturday

? 'Сегодня ' + CDOW({^2006.11.01}) && Сегодня Wednesday

CMONTH (<вырD>) - предъявляет название месяца по-английски.

Пример:? CMONTH({^2005.10.01}) && October

DATE() - предъявляет системную дату, т.е. дату, которая была введена при загрузке в компьютер операционной системы. Формат предъявления зависит от команд SET CENTURY и SET DATE.

Пример:

?DATE() && 16.10.05

Опробуйте функцию ?DATE() с предварительным выполнением команды SET CENTURY и SET CENTURY OFF

Приведём пример использования функции DATE() при работе с таблицей. Допустим, в некоторой абстрактной таблице есть поле Date и необходимо просмотреть все записи внесённые за последний месяц. Достичь желаемого поможет команда фильтрации записей в сочетании с функцией:

SET FILTER TO date>date()-30 && здесь функция date() определяет сегодняшнюю (системную) дату, а -30 отсчитывает 30 дней назад.

TIME() – предъявляет системное время, например:

?TIME() && 15:25:51

DATETIME() – предъявляет одновременно дату и время (без секунд).

DMY( вырD) – возвращает день, месяц и год в виде строки символов.

Пример:

?DMY({^2005.10.01}) && 01 October 05

?DMY(DATE()) && возвращает сведения о текущей дате

DAY(<ВырD>) - число месяца по выражению типа дата <вырD>.

Пример:

? DAY({^2005.10.16}) && 16

DOW(<вырD>) - определяет номер дня недели по <вырD>. В России первым день недели считается понедельник, но в других странах первый день – воскресенье. Индикация номеров дней недели на экране зависит от настроек, установленных в VFP.

Пример:

? DOW({^2005.10.16}) && 1 (Вс-1, Сб-7)

Пример. Установите каким днём недели будет день, отстоящий от сегодняшнего на 100 дней.

?DATE() +100 && выводится дата, например 30.09.2006

?DOW ({^2006.09.30}) && выводится номер дня недели -7

MONTH(<вырD>) - определяет числовое значение номера месяца по дате <вырD>.

Пример:

? MONTH({^2005.10.05}) &&. 10

YЕАR(<вырD>) - определяет числовое значение года по <вырD>.

Пример:

? YEAR({^2005.10.05}) && 2005

Переменные и поля типа дата удобны тем, что к ним можно прибавлять и из них можно вычитать желаемое число дней и дата все равно останется корректной, т.е. будет содержать правильные месяц, день и год.

При использовании функций даты и времени может возникнуть необходимость использования функций преобразования типов данных. Например, требуется вывести на экран сообщение: «Сегодня прошло … дней со дня моего рождения». Для этого введём следующую команду:

? "Сегодня прошло "+STR(DATE()-{^1987.11.20})+" с момента моего рождения"

Вместо знака + можно использовать запятую.

29. Функции для работы с таблицей

ALIАS () Возвращает псевдоним таблицы в текущей рабочей области.

BOF() – определяет находится ли курсор на самой первой записи.

CPCURRENT() – возвращает номер используемой кодовой страницы.

CPDBF() –возвращает номер кодовой страницы для таблицы, открытой в текущей рабочей области.

DBF () – возвращает имя таблицы, открытой в текущей рабочей области.

EMPTY() – определяет, является ли выражение пустым.

EOF()определяет находится ли курсор на самой последней записи

FCOUNT() – возвращает число полей текущей таблицы.

FOUND() – возвращает .Т., если при в результате поиска было найдено искомое.

ISREADONLY() возвращает .Т., если таблица открыта только для чтения.

LUPDATE() - возвращает дату последней модификации таблицы;

RECCOUNT() – возвращает число записей открытой таблицы.

RECNO() – возвращает номер записи, на которой установлен маркёр.

SELECT() – возвращает номер текущей рабочей области.

USED() – определяет, открыта ли таблица в текущей или указанной рабочей области.

Пример:

? USED() возвращает .F., если в рабочей области не открыта ни одна таблица и .T. , если таблица открыта.