Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АЛТАЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ.docx
Скачиваний:
11
Добавлен:
06.08.2019
Размер:
163.01 Кб
Скачать

Примеры

1. Сложим 5 и 12.123

set point to "."

? (5+12.123)

Результат: 17.123

2. Возведем 2 в степень 8

set point to "!"

set decimals to 6

? 2**8

Результат: 256!000000

3. Возведем 2 в степень 8

set point to "."

set decimals to 2

? 2^8

Результат: 256.00

4. Получим остаток от деления на 2 от числа 127

? 127%2

Результат: 1

5. Извлечем квадратный корень из 145

set decimals to 5

? 145^0.5

Результат: 12.04159

Тип данных дата

Константа типа дата по умолчанию для VFP6.0 задается в виде {^yyyy-mm-dd [hh[:mm[:ss]] [a|p]]} для VFP7.0 в виде {^yyyy-mm-dd [hh[:mm[:ss]] [a|p]]}. Здесь yyyy – обозначает четыре цифры года, mm – две цифры номера месяца, dd – две цифры числа месяца, hh – часы, mm – минуты, ss – секунды, a или p - обозначают до или после полуночи при отображении времени в 12-ти часовом формате. В данном пособии мы будем использовать обозначения соответствующие VFP6.0. При выводе на экран величины типа дата отображаются по разному, в соответствии с заданным форматом отображения даты, например для американского формата – {ММ/ДД/ГГ} – где ММ – месяц, ДД – день, ГГ – год. Так {09/15/01} соответствует 15 сентября 2001 года. Формат вывода дат можно изменить с помощью команд SET CENTURY и SET DATE.

Формат команды SET DATE:

SET DATE [TO] AMERICAN | ANSI | BRITISH | FRENCH | GERMAN | ITALIAN | JAPAN | USA | MDY | DMY | YMD

Команда определяет следующие форматы даты:

 

Тип даты

Формат

Тип даты

Формат

AMERICAN

ММ/ДД/ГГ

JAPAN

ГГ/ММ/ДД

ANSI

ГГ.ММ.ДД

USA

ММ-ДД-ГГ

BRITISH/FRENCH

ДД/ММ/ГГ

MDY

ММ/ДД/ГГ

GERMAN

ДД.ММ.ГГ

DMY

ДД/ММ/ГГ

ITALIAN

ДД-ММ-ГГ

YMD

ГГ/ММ/ДД

 

Команда SET CENTURY ON | OFF позволяет определить формат вывода года в датах. Если значение параметра SET CENTURY равно ON, год при выводе даты отображается четырьмя цифрами и дата выводится длиной 10 символов. Если значение параметра SET CENTURY равно OFF, год отображается двумя цифрами, а дата, соответственно, выводится длиной 8 символов. При этом подразумевается год 20-го века. По умолчанию принимается установка SET CENTURY OFF.

Даты нельзя складывать, но можно вычитать при момощи оператора "-". К датам можно прибавлять и из дат можно вычитать числа, которые интерпретируются как количество дней.

Даты можно сравнивать при помощи операторов сравнения:

"=" – равно;

"!=", "#", "<>" – не равно;

">", ">=" – больше, больше либо равно;

"<", "<=" – меньше, меньше либо равно.

Примеры

1.

Set century off

Set date british

? {^2001-09-10}-{^2001-09-01}

Результат: 9

2.

Set date british

Set century on

? {^2001-09-10}-5

Результат: {5/09/2001}

3.

Set date american

Set century on

? {^2001-09-10}-5

Результат: {09/05/2001}

4.

Set date british

Set century on

? {^2001-09-10} = ({^2001-08-10}+30)

Результат: .F.

Т.е. дата 10 сентября 2001 года не равна дате на 30 дней больше чем 10 августа 2001 года. Это действительно так, потому, что в августе 31 день.

5.

Set date british

Set century on

? {^2001-09-10} > ({^2001-08-10}+30)

Результат: .T.

В данном примере сравнивается дата 10 сентября 2001 года и дата, полученная из 10 августа 2001 года плюс 30 дней. Естественно, что значение {^2001-09-10} больше, чем ({^2001-08-10}+30), поскольку последняя дата соответствует 9 сентября 2001 года.

 

 

Логический тип данных

Константы логического типа принимают два значения: истина – .T. или ложь – .T. Для величин логического типа определены следующие операции:

AND – логическое и;

OR – логическое или;

!, NOT – отрицание, логическое не;

= – эквивалентность, равенство;

#, !=, <> – неравенство;

< – больше;

> – меньше.

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

 

Операция

Результат

Операция

Результат

.T. AND .T.

.T.

.T. = .T.

.T.

.F. AND .T.

.F.

.T. = .F.

.F.

.T. AND .F.

.F.

.F. = .F.

.T.

.F. AND .F.

.F.

.T. <> .T.

.F.

.T. OR .T.

.T.

.F. <> .F.

.F.

.F. OR .T.

.T.

.T. > .F.

.T.

.T. OR .F.

.T.

.F. > .T.

.F.

.F. OR .F.

.F.

.T. < .F.

.F.

NOT .T.

.F.

.F. < .T.

.T.

NOT .F.

.T.

 

 

 

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

Переменные

Переменными называют величины, которые могут принимать значения из области определения. С точки зрения языков программирования переменные представляют собой ссылки на области памяти предназначенные для хранения данных. Вы можете изменять содержимое переменной, но ее имя и занимаемая область памяти резервируются до тех пор, пока вы не закончите данный сеанс FoxPro или не освободите эту переменную. Переменные и их значения теряются при выходе из FoxPro, если вы предварительно не сохраните их на диске. Переменная может содержать данные любого типа, а значение переменной можно изменить в любое время. В языке FoxPro не требуется предваримтельное декларирование (описание) переменных, тип переменной определяется присваиванием – "=" и может быть переопределен в ходе выполения программы. Переменные существуют, пока выполняется приложение или продолжается сеанс Visual FoxPro, в котором они были созданы. Чтобы задать область видимости переменной, используются ключевые слова LOCAL, PRIVATE и PUBLIC.

Имена переменных должны удовлетворять соответствующим правилам. Например, в процедурном языке FoxPro имена переменных должны состоять из букв, символа подчеркивания – "_" и цифр, причем начинаться имя переменной должно с буквы или символа подчеркивания.

Определение типа данных, функция TYPE()

Функция TYPE() предназначена для определения типа переменных, констант и выражений. Синтаксис функции следующий: TYPE(cExpression)

Параметр cExpression задает имя memo-файла или символьное выражение, содержимое которого анализирует функция TYPE(). В результате возвращается символ соответствующий типу данных выражения – cExpression.

 

Тип данных

Возвращаемый символ

Character

C

Numeric (включая float, double и integer)

N

Currency

Y

Date

D

DateTime

T

Logical

L

Memo

M

Object

O

General

G

Неопределенный тип выражения

U

Команды вывода на экран ? и ??.

Создайте директорию на своем диске U:\FOX_SMPL\.

В командном окне выполните команду: modify command. В открывшемся окне встроенного текстового редактора запишите заново эти строки или скопируйте их из командного окна (Ctrl+C - копировать выделенный фрагмент в буфер, Ctrl+V вставить фрагмент в окно редактора). Сохраните полученный файл на диске с именем prog1.prg. ( File> Save as:) Файл prog1.prg - Ваша первая программа.

Выполните ее командой do u:\fox_smpl\prog1.prg. (Выполните эту программу из главного меню командами Program->Do -> имя вашей программы).

Выполните последовательно нижеприведенные группы команд сначала в командном окне, а затем преобразуйте их в отдельные файлы с именами prog2.prg, prog3.prg и так далее.