Команды перемещения указателя

Выражения даты-времени

Символьные выражения

Логические выражения

Числовые выражения

 

В числовых выражений используются следующие операции:

+сложение;

- вычитание;

* умножение;

/ деление;

% остаток от деления

L= 13%5

L получит значение 3

** или ^ возведение в степень

L=2**6

L получит значение 26, т.е. 64

 

 

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

.t. - истина

.f. - ложь

 

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

AND - логические И

OR - логическое ИЛИ

NOT или ! - логическое отрицание

 

А так же следующие отношения:

< меньше

> больше

= равно

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

<= меньше или равно

>= больше или равно

$, = сравнение подстроки

== сравнение точного совпадения строк символов

 

Пример:

 

(k>=3) AND (L=5)

При k =2 , L=4 выражение ложно, т.е. принимает значение .f.

 

 

В символьных выражениях можно использовать операции + и

+ слияние двух строк

Пример:

 

K=‘Иванов_ _ _’ + ’Александр’

 

Переменная k получит значение ‘Иванов_ _ _Александр’

 

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

 

Пример:

 

K=‘Иванов_ _ _’ - ’Александр’

 

Переменная k получит значение ‘ИвановАлександр_ _ _’

 

Сравнение подстроки используется операция $ или =

Берутся все символы из строки, которая стоит слева от знака сравнения и сравниваются с символами строки, которая стоит справа от знака равенства. Если в “правой” строке больше символов, чем в “левой”, “лишние” символы не учитываются и не влияют на результат сравнения.

Для полного сравнения используется операция ==

В этом случае каждая буква строки, стоящей слева от знака == сравнивается с буквой строки стоящей справа.

 

Пример:

 

K1=’Иванов’

K2=’Иванов С.М.’

Запрос ? K1=K2 результат .t.

Запрос ? K2=K1 результат .f.

 

 

Выражения могут содержать операции + и -

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

 

Пример:

 

? {01/01/99} +25 результат {01/26/99}

1 января 1999 г 26 января 1999 г

 

? {01/01/99} -25 результат {12/07/98}

1 января 1999 г 7 декабря 1998 г

 

Даты можно вычитать друг из друга, результат будет количеством дней

 

Пример:

 

? {05/20/00} - {01/01/00} результат 139

 

Складывать две даты нельзя!!!

 

К дате времени применимы те же операции, целые числа в этом случае будут количеством секунд.

 

? {05/20/00 11:00:00 PM} + 7200 результат {05/20/00 01:00:00 AM}

5 января 2000 г, 11 часов утра 5 января 2000 г, 1 час дня

 

? {05/20/00 11:00:00 PM} - 7200 результат {05/20/00 09:00:00 PM}

5 января 2000 г, 11 часов утра 5 января 2000 г, 9 часов утра

 

? {05/20/00 11:00:00 PM} - {05/20/00 10:00:00 PM} результат 3600

 

 

В каждый момент времени может производится работа только с одной запись. На ней стоит так называемый указатель.

Указатель можно перемещать при помощи команд:

Go top – указатель устанавливается на первую запись,

Go bottom– указатель устанавливается на последнюю запись,

Skip N – указатель смещается на N записей к концу таблицы. При N<0 указатель смещается к началу таблицы.

Skip без параметров перемещает указатель на одну запись к концу таблицы.

 

Для проверки положения указателя используются функции:

Eof() - возвращает значение .T., если достигнут конец файла (указатель перешел через последнюю запись), возвращает .F. во всех других случаях.

Bof() - возвращает значение .T., если указатель находится на первой записи, .F. - во всех других случаях.