
- •5 Работа в системе visual foxpro
- •5.1 Базовые концепции Visual FoxPro
- •5.1.1 Общая характеристика субд
- •5.1.2 Элементы проекта
- •5.1.3 ИнтерфейсVisualFoxProи создание проекта
- •5.1.4 Принципы создания проекта и его основных компонентов
- •5.1.5 Создание базы данных, таблиц и индексов
- •5.1.5.1 Создание базы данных
- •5.1.5.2 Создание таблиц
- •5.1.5.3 Типы данных вVisualFoxPro
- •5.1.5.4Создание индексов вVisualFoxPro
- •5.1.6 Организация межтабличных связей
- •5.1.7 Обеспечение целостности данных
- •5.2 Извлечение и представление информации средствами интерфейсаVisualFoxPro
- •5.2.1 Средства формирования запросов
- •5.2.2 Организация многотабличных запросов и вычисляемого поля
- •5.2.3 Представление результатов запросов
- •Основы программирования вVisualFoxPro
- •5.3.1 Общие положения и соглашения о синтаксисе команд
- •5.3.2 Разновидности, объявление, инициализация и отображение переменных и массивов
- •5.3.3 Взаимодействие программ вVisualFoxPro
- •5.3.4 Команды структурного программирования
- •5.3.5 Команды обработки особых ситуаций
- •5.3.6 Команды установки программной среды
- •5.3.7 Некоторые важные функции языкаVisualFoxPro
- •5.3.8 Визуальное объектно-ориентированное программирование в Visual FoxPro
- •5.3.8.1 Базовые понятия
- •5.3.8.2 Создание объектов на основе базовых классов и задание свойств объектов
- •5.3.8.3 Определение событий и методов для объектов класса
- •5.3.8.4 Вложенность объектов
- •5.3.9 Команды для работы с меню
- •5.3.10 Пример совместного использование программных файлов, формы и меню
5.3.7 Некоторые важные функции языкаVisualFoxPro
Наиболее важные встроенные функции языка Visual FoxPro можно разбить на следующие группы: математические функции (рис. 5.35), строковые функции (рис. 5.36), функции даты (рис. 5.37), другие функции (рис. 5.38).
ABS(x) – возвращает абсолютное значение переменной x.
CEILING(x) – возвращает наименьшее целое число, большее или равное величине x;
INT(x) – возвращает целую часть числа x;
MOD(x,y) – возвращает целочисленный остаток от деления x на y.
RAND() – возвращает псевдослучайное число в диапазоне от 0 до 1.
SIGN(x) – возвращает 1, если х положительное число, -1, если х – отрицательное число, и 0 если х=0.
EXP(x) – возвращает экспоненту от х.
ROUND(x) – возвращает округленное значение переменной х.
LOG(x) – возвращает натуральный логарифм от х.
Рис. 5.35 Математические функции
OCCURS(x,y) – возвращает число вхождений строки х в строку у.
LEFT(x,n) – возвращает n первых символов строки х.
SUBSTR(x, n1,n2) – возвращает подстроку строки х, начиная с символа с номером n1 и включая n2 символов.
ALLTRIM(x) – удаляет ведущие и хвостовые проблемы из строки x.
LTRIM(x) – удаляет ведущие пробелы в строке x.
STUFF(x,n1,n2,y) – вставляет в строку x подстроку y вместо символов с номерами n1,n1+1,…, n1+n2. Если n2=0, то реализуется операция вставки без удаления.
STRTRAN(x,y,z) – заменяет в строке х все вхождения подстроки y на подстроку z.
ISALPHA(x) – возвращает .T., если строка х начинается с буквы.
ISLOWER(x) – возвращает .T., если строка х начинается с малой буквы.
LOWER(x) – преобразует все прописные буквы в строке х в строчные.
UPPER(x) – преобразует все буквы строки х в заглавные.
LEN(x) – возвращает длину строки х.
AT(x,y) – возвращает номер первой позиции, с которой в строке y содержится подстрока x.
ATR(x,y) – аналогична предыдущей функции, но поиск ведется с конца строки y.
INLIST(x,y1,y2,…,yk) – возвращает .T., если строка х содержится среди строк y1,y2,…,yk.
ISDIGIT(x) – возвращает .T., если первый символ строки х есть цифра.
LIKE(x,y) – возвращает .Т., если строка y содержится в строке x, причем строка х может использовать символы *(стоит для любой цепочки символов, в том числе и пустой) и ?(стоит ровно для одного символа). Например, Like(‘*род’,’огород’) дает значение .T.
Рис. 5.36 Строковые функции
DATE() – возвращает текущую дату.
TIME() – возвращает текущее время в формате часы:минуты:секунды.
CDOW(DATE())- возвращает название текущего дня недели по-английски.
CMONTH(DATE()) – возвращает название месяца по-английски.
DAY(DATE()) – возвращает номер дня в месяце.
CTOD(c) – преобразует строку с датой в формат даты, например, CTOD(’12.10.2005’) .
YEAR(DATE()) – возвращает год из текушей даты.
MONTH(DATE()) – определяет номер месяца по дате.
Рис. 5.37 Функции даты
STR(x) – преобразует число в строку.
VAL(x) – преобразует строку в число.
ASC(x) – возвращает ASCII-код первого символа строки x.
BOF() – проверяет, достигнуто ли начало набора данных ( в том числе таблицы в памяти).
EOF() – то же, что и BOF(), но проверяет для конца набора данных.
DELETED() – возвращает .Т., если текущая запись помечена на удаление.
FILE(x) – проверяет, имеется ли на диске файл с именем х.
FOUND() – проверяет, найдена ли запись по команде SEEK или LOCATE.
FCOUNT() – определяет число полей в активной таблице БД.
RECNO() – возвращает номер текущей записи.
RECCOUNT() – возвращает число записей в активной таблице.
RECSIZE() – возвращает размер записи.
MCOL() – возвращает х-координату положения курсора мыши на форме.
MROW() - возвращает y-координату положения курсора мыши на форме.
LASTKEY() – возвращает код последней нажатой клавиши
SECONDS() – возвращает системное время в секундах.
IIF(условие, x,y) – проверяет условие и, если оно истинно, возвращает строку х, иначе – строку у.
EMPTY(x) – возвращает .T., если переменная х не имеет значения.
EVALUATE(x) – вычисляет выражение в строке x, например EVALUATE(‘DATE()’).
Рис. 5.38 Другие функции