Flatik.ru

Перейти на главную страницу

Поиск по ключевым словам:

страница 1страница 2страница 3

LOCATE FOR nomer=5


IF !FOUND()

GOTO rec



ENDIF
CONTINUE

- продолжает поиск записей по условию, заданному в последней команде LOCATE.


SEEK Выражение

[ORDER числНомИндекса | ИмяФайлаIDX

| [TAG] ИмяТега [OF ИмяФайлаCDX]

[ASCENDING | DESCENDING]]

[IN числРабОбласть | симвПсевдТабл]

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

Результат поиска зависит от установки режима SET NEAR.

Пример. Ищем в таблице отдел с номером 5. Если не нашли, остаемся на строке с ближайшим номером отдела. Печатаем номер и название отдела.



SET NEAR ON

USE departments INDEX deptNo ORDER 1

SEEK 5

? dept.No, deptName
SEEK(Выражение [, числРабОбласть | симвПсевдТабл

[, числНомИндекса | симвИмяФайлаIDX | симвИмяТега]])



- аналогична команде SEEK. В случае успешного поиска возвращает истину.
FOUND([числРабОбласть | симвПсевдТабл])

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


SET NEAR ON | OFF

- включает/выключает режим “нестрогого поиска” для SEEK. Если режим включен и попытка поиска неудачна, курсор останавливается на записи с ближайшим похожим значением ключа. Если режим выключен и попытка поиска неудачна, возникает состояние “конец файла”.


SET EXACT ON | OFF

- включает/выключает режим точного сравнения символьных строк.

Если режим выключен, сравнение производится по длине второй строки.

Пример.

SET EXACT OFF

? ‘Иванов’=’И

печатает значение “Истина” (.T.)

Пример.

SET EXACT ON

? ‘Иванов’=’И’

печатает значение “Ложь” (.F.)


SET OPTIMIZE ON | OFF

- включает/выключает режим оптимизации для условий, заданных в параметре FOR разных команд (оптимизация заключается, в основном, в использовании индексов при поиске).
SET FILTER TO [логВыражение]

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

После выполнения этой команды для активизации фильтра нужно обязательно выполнить какое либо перемещение в таблице (например, GO TOP). Команда без параметров отменяет фильтр.

Пример. Фильтруем таблицу “Сотрудники” по отделу с номером 5.



SELECT emp

SET FILTER TO nomer=5

GO TOP
FILTER([числРабОбласть | симвПсевдТабл])

- возвращает условие фильтрации, если на заданную рабочую область наложен фильтр.

Пример. Печатаем условие фильтра

? FILTER(“emp”)
ПРОСМОТР И РЕДАКТИРОВАНИЕ ТАБЛИЦ

BROWSE

[FIELDS СписокПолей]

[FONT симвШрифтНазв [, числШрифтРазмер]]

[STYLE симвШрифтСтиль]

[FOR логВыражение1 [REST]]

[FORMAT]

[FREEZE ИмяПоля]

[KEY Выражение1 [, Выражение2]]

[LAST | NOINIT]



[LOCK числНомерПоля]

[LPARTITION]

[NAME Имя]

[NOAPPEND]

[NODELETE]

[NOEDIT | NOMODIFY]

[NOLGRID] [NORGRID]

[NOLINK]

[NOMENU]

[NOOPTIMIZE]

[NOREFRESH]

[NORMAL]

[NOWAIT]

[PARTITION числНомСтолб [LEDIT] [REDIT]]

[PREFERENCE Имя]

[SAVE]

[TIMEOUT числСекунд]

[TITLE симвЗаголовок]



[VALID [:F] логВыражение2 [ERROR симвСообщение]]

[WHEN логВыражение3]

[WIDTH числРазмер]

[WINDOW ИмяОкна1]

[IN [WINDOW] ИмяОкна2 | IN SCREEN]

[COLOR SCHEME числНомСхемы]

- данная команда с огромным числом параметров имеет славное заслуженное прошлое, а в настоящее время не слишком актуальна. Удобна для использования при отладке приложения – для быстрого отбора и просмотра (с возможностью редактирования) строк текущей таблицы по условию (BROWSE FOR …) из командного окна.

Пример. Выводим на экран сотрудников отдела с номером 5.

SELECT emp

BROWSE FOR nomer=5
EDIT

[те же самые параметры, что и у команды BROWSE]

- синоним команды BROWSE.
LIST [FIELDS СписокПолей]

[Границы] [FOR логВыражение1] [WHILE логВыражение2]

[OFF]



[NOCONSOLE]

[NOOPTIMIZE]

[TO PRINTER [PROMPT] | TO FILE ИмяФайла]

- печатает текущую таблицу (по умолчанию – все записи).


LIST FILES

[ON Диск]

[LIKE Шаблон]

[TO PRINTER [PROMPT] | TO FILE ИмяФайла]

- печать списка таблиц по шаблону


LIST MEMORY

[LIKE Шаблон]



[NOCONSOLE]

[TO PRINTER [PROMPT] | TO FILE ИмяФайла]

- печатает список переменных памяти по шаблону


LIST STRUCTURE

[IN числРабОбласть | симвПсевдТабл]

[NOCONSOLE]

[TO PRINTER [PROMPT] | TO FILE ИмяФайла]

- печатает структуру таблицы.


DISPLAY

[[FIELDS] СписокПолей]

[Границы] [FOR логВыражение1] [WHILE логВыражение2]

[OFF]



[NOCONSOLE]

[NOOPTIMIZE]

[TO PRINTER [PROMPT] | TO FILE ИмяФайла]

- печатает текущую таблицу (по умолчанию – только текущая запись).


ПОДСЧЕТ ИТОГОВЫХ ЗНАЧЕНИЙ

При работе с табличными данными часто бывает необходимо подсчитать итоговые значения – сумму, максимум и пр. Одна из возможностей подсчета итогов – использование итоговых функций в SQL-команде SELECT. В отчетах также есть свои средства подсчета итогов. Еще одна альтернатива – использование команды CALCULATE


CALCULATE СписокВырыжений

[Границы] [FOR логВыражение1] [WHILE логВыражение2]

[TO СписокПеременных | TO ARRAY ИмяМассива]

[NOOPTIMIZE]
Пример. Пусть в текущей таблице поле kod содержит уникальные идентификаторы числового типа. Добавляем в таблицу новую строку и получаем для нее уникальный код.

mykod=0

CALC MAX(kod) TO mykod

APPEND BLANK

REPLACE kod WITH mykod+1
УДАЛЕНИЕ ДАННЫХ

DELETE

[Границы] [FOR логВыражение1] [WHILE логВыражение2]

[IN числРабОбласть | симвПсевдТабл]

[NOOPTIMIZE]

- помечает для удаления строки таблицы (по умолчанию – только текущую запись).

Пример. Удаляем сотрудников, относящихся к отделу с номером 5.

SET DELETED ON



SELECT emp

DELETE FOR nomer=5
RECALL

[Границы] [FOR логВыражение1] [WHILE логВыражение2]

[NOOPTIMIZE]

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

Пример. Восстанавливаем данные, удаленные в предыдущем примере.

SELECT emp

RECALL FOR nomer=5
SET DELETED ON | OFF

- включает/выключает режим отображения помеченных к удалению записей. Если режим включен (ON) – удаленные записи не видны.


DELETED([симвПсевдТабл | числРабОбласть])

- возвращает истину, если текущая строка помечена к удалению.

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

USE departments



INDEX ON nomer TAG deptNo OF deptInd FOR NOT DELETED()
PACK [MEMO] [DBF]

- физически удаляет помеченные к удалению строки (DBF – только в DBF-файле, MEMO – только в FPT-файле, без параметров – в обоих файлах).


DELETE FILE [ИмяФайла | ?] [RECYCLE]

- удаляет файл.

Пример. Удаляем файл индекса

DELETE FILE deptNo.IDX


ДОБАВЛЕНИЕ ДАННЫХ

APPEND [BLANK]

[IN числРабОбласть | симвПсевдТабл]

[NOMENU]

- добавляет новую строку к текущей таблице и, если не указан параметр BLANK, выводит на экран BROWSE-окно для редактирования таблицы.

Пример. Добавим пустую строку в текущую таблицу

APPEND BLANK

APPEND FROM ИмяФайла | ?

[FIELDS СписокПолей]

[FOR логВыражение]

[[TYPE] [DELIMITED [WITH Разделитель | WITH BLANK |

WITH TAB | WITH CHARACTER Разделитель]

| DIF | FW2 | MOD | PDOX | RPD | SDF | SYLK

| WK1 | WK3 | WKS | WR1 | WRK | XLS | XL5]]

[AS числКодСтр]

- добавляет новые строки к текущей таблице из файла.
APPEND FROM ARRAY ИмяМассива

[FOR логВыражение]

[FIELDS СписокПолей]

- добавляет новые строки к текущей таблице из массива.
APPEND MEMO MemoИмяПоля FROM ИмяФайла

[OVERWRITE] [AS числКодСтр]

- добавляет значение memo-поля в текущую строку из файла.


APPEND GENERAL ИмяПоля

[FROM ИмяФайла]

[DATA симвВыражение]

[LINK]

[CLASS ИмяКлассаOLE]

- добавляет значение general-поля в текущую строку из файла (например, картинку или WORD-документ).


ИЗМЕНЕНИЕ ДАННЫХ

REPLACE ИмяПоля1 WITH Выражение1 [ADDITIVE]

[,ИмяПоля 2 WITH Выражение2 [ADDITIVE]] ...

[Границы] [FOR логВыражение1] [WHILE логВыражение 2]

[IN числРабОбласть | симвПсевдТабл]

[NOOPTIMIZE]

- заменяет значения полей ИмяПоляN на ВыражениеN. По умолчанию действует на текущую строку таблицы.

Пример. Изменим номер отдела для сотрудника с фамилией “Иванов”.



SELECT emp

REPLACE nomer WITH 5 FOR name=”Иванов
РАБОТА С ПЕРЕМЕННЫМИ И МАССИВАМИ

Переменные в языке FoxPro не требуют объявления. Они объявляются неявно при инициализации, явно объявлять нужно только массивы. По умолчанию область действия переменной – процедура или функция, в которой она впервые появилась. Во всех вызываемых функциях переменная также видна.


DIMENSION ИмяМассива1(числСтрок1 [, числСтолб1])

[, ИмяМассива2(числСтрок2 [, числСтолб2])] ...

и

DECLARE ИмяМассива1 (числСтрок1 [, числСтолб1])



[, ИмяМассива2 (числСтрок2 [, числСтолб2])] ...

- явное определение массивов. Можно использовать как круглые, так и квадратные скобки.

Пример. Определим массив для названий месяцев

DIME mes(12)

Mes[1]=”Январь

И т.д.
PUBLIC СписокПеременных

- явное описание глобальных переменных.
PUBLIC [ARRAY] ИмяМассива1(числСтрок1 [, числСтолб1])

[, ИмяМассива2(числСтрок2 [, числСтолб2])] ...

- явное описание глобальных массивов.


PRIVATE СписокПеременных

и

PRIVATE ALL [LIKE Шаблон | EXCEPT Шаблон]

- явное описание локальных переменных.

STORE Выражение TO СписокПеременных | СписокМассивов

и

Переменная | ИмяМассива = Выражение

- оператор присваивания.
SCATTER

[FIELDS СписокПолей | FIELDS LIKE Шаблон |

FIELDS EXCEPT Шаблон] [MEMO]

TO ИмяМассива | TO ИмяМассива BLANK |

MEMVAR | MEMVAR BLANK | NAME ИмяОбъекта

- копирует значения заданных полей текущей строки текущей таблицы в массив или в переменные памяти (переменные с теми же именами, что и поля таблицы и с префиксом m, например, m.kod) или в свойства объекта с теми же именами, что и поля таблицы.


GATHER FROM ИмяМассива | MEMVAR | NAME ИмяОбъекта

[FIELDS СписокПолей | FIELDS LIKE Шаблон |

FIELDS EXCEPT Шаблон] [MEMO]

- копирует в заданные поля текущей строки текущей таблицы значения из массива или из переменных памяти (переменные с теми же именами, что и поля таблицы и с префиксом m, например, m.kod) или из свойств объекта с теми же именами, что и поля таблицы.


COPY TO ARRAY ИмяМассива

[FIELDS СписокПолей]

[Границы] [FOR логВыражение1] [WHILE логВыражение2]



[NOOPTIMIZE]

- копирует значения заданных полей текущей таблицы в массив (по умолчанию копируется вся таблица).

РАБОТА СО СТРОКАМИ
ALLTRIM(симвВыражение)

- удаляет лишние пробелы слева и справа и возвращает символьное выражение.


LTRIM(симвВыражение)

- удаляет лишние пробелы слева и возвращает символьное выражение.


RTRIM(симвВыражение)

- удаляет лишние пробелы справа и возвращает символьное выражение.


STR(числВыражение)

и


VAL(симвВыражение)

- преобразуют число в строку и строку в число. Функция STR почти всегда добавляет лишние пробелы. Не забывайте их удалять!


DTOC(датВыражение | времВыражение)

и

СTOD(симвВыражение)

- преобразуют дату в строку и строку в дату
AT(симвСтрока1, симвСтрока2 [, числНомер])

- ищет в строке симвСтрока2 вхождение строки симвСтрока1 с номером числНомер и возвращает номер символа или 0, если не найдено


SUBSTR(симвВыражение, числСтарт, числКоличество)

- выделяет подстроку из строки.



РАБОТА С ДАТАМИ

DATE()

- возвращает текущую дату.


SET DATE GERMAN

- устанавливает привычный для нас формат даты DD-MM-YY


SET CENTURY ON | OFF

- включает/выключает режим отображения столетия в дате.

Пример.

SET DATE GERMAN

SET CENT ON

? DATE()

напечатает текущую дату в формате 18.11.2002


YEAR(датВыражение)

- возвращает год из заданной даты.


MONTH(датВыражение)

- возвращает номер месяца из заданной даты.


DAY(датВыражение)

- возвращает число из заданной даты.


Пример. Получить дату 1 января текущего года.

SET DATE GERMAN



myDate = CTOD(“01.01.”+ALLTRIM(STR(YEAR(DATE()))))

Пример. Получить дату 1 число текущего месяца.



SET DATE GERMAN

myDate = CTOD(“01.”+ ALLTRIM(STR(MONTH(DATE()))) +”.”+ALLTRIM(STR(YEAR(DATE()))))
ПРОЦЕДУРЫ И ФУНКЦИИ

FUNCTION Имя

Команды

[RETURN [Выражение]]

ENDFUNC

- формат определения функции. В функцию параметры передаются по значению.


PROCEDURE Имя

Команды

[RETURN [Выражение ]]

ENDPROC

- формат определения процедуры. В процедуру параметры передаются по ссылке.


PARAMETERS СписокПараметров

- описание параметров процедуры или функции.


LPARAMETERS СписокПараметров

- описание локальных параметров процедуры или функции.


DO ИмяПрограммы1 | ИмяПроцедуры

[IN ИмяПрограммы2]

[WITH СписокПараметров]

- вызов процедуры или функции.


SET PROCEDURE TO [ИмяФайла1 [, ИмяФайла2, ...]]

[ADDITIVE]

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

Пример.


SET PROC TO myproc.txt

РАБОТА С МЕНЮ

В настоящее время вряд ли кто пишет меню вручную – удобнее конструировать меню с помощью визуального редактора, а затем генерировать код программы. Тем не менее, не вредно разбираться в этой программе: а что, собственно, этот генератор меню нагенерировал?
CREATE MENU [ИмяФайла | ?]

[NOWAIT] [SAVE]

[WINDOW ИмяОкна1]

[IN [WINDOW] ИмяОкна2 | IN SCREEN]

– создает меню с именем ИмяФайла, ( ? – для запроса имени выводит стандартное окно WINDOWS). Меню (File – New – Menu).


MODIFY MENU [ИмяФайла | ?]

[[WINDOW ИмяОкна1]

[IN [WINDOW] ИмяОкна2 | IN SCREEN]]

[NOWAIT]



[SAVE]

– открывает меню в режиме конструктора. Параметр NOWAIT в программном режиме запрещает паузу и продолжает выполнение программы. Меню (File – Open – Menu(*.mnx)).


DEFINE MENU ИмяМеню

[BAR [AT LINE числСтрока]]

[IN [WINDOW] ИмяОкна | IN SCREEN]

[FONT симвШрифтНазв [, числШрифтРазмер]]

[STYLE симвШрифтСтиль]

[KEY НазвКлавиши]

[MARK симвМетка]

[MESSAGE симвСообщение]

[NOMARGIN]

[COLOR SCHEME числНомСхемы

| COLOR СписокЦветовыхПар]

- определяет горизонтальное меню.


DEFINE PAD ИмяПункта1 OF ИмяМеню PROMPT симвНазвание

[AT числСтрока, числСтолбец]

[BEFORE ИмяМеню2 | AFTER ИмяМеню3]



[NEGOTIATE LEFT | NEGOTIATE MIDDLE |

NEGOTIATE RIGHT]

[FONT симвШрифтНазв [, числШрифтРазмер]]

[STYLE симвШрифтСтиль]

[KEY НазвКлавиши [,симвТекст]]

[MARK симвМетка]

[SKIP [FOR логВыражение]]

[MESSAGE симвСообщение]

[COLOR SCHEME числНомСхемы

| COLOR СписокЦветовыхПар]

- определяет пункт меню.


ON PAD ИмяПункта OF ИмяМеню1

[ACTIVATE POPUP ИмяМеню



| ACTIVATE MENU ИмяМеню2

- определяет активизацию подменю при выборе пункта меню.


ON SELECTION PAD ИмяПункта OF ИмяМеню [Command]

- определяет действие при выборе пункта меню.


ACTIVATE MENU ИмяМеню

[NOWAIT]

[PAD ИмяПункта]

- активизирует меню.


DEACTIVATE MENU ИмяМеню1 [, ИмяМеню2 ...] | ALL

- активизирует меню.


READ EVENTS

- запускает цикл обработки сообщений. Эту команду нужно выполнять сразу после активизации главного меню.


CLEAR EVENTS

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


SET SYSMENU TO DEFAULT

- восстанавливает системное меню.


DEFINE POPUP ИмяМеню

[FROM числСтрока1, числСтолбец1]

[TO числСтрока2, числСтолбец2]



[IN [WINDOW] ИмяОкна | IN SCREEN]

[FONT симвШрифтНазв [, числШрифтРазмер]]

[STYLE симвШрифтСтиль]

[FOOTER симвЗаголовок]

[KEY НазвКлавиши]

[MARGIN]

[MARK симвМетка]

[MESSAGE симвСообщение]

[MOVER]

[MULTISELECT]

[PROMPT FIELD ИмяПоля | PROMPT FILES [LIKE Шаблон]

| PROMPT STRUCTURE]

[RELATIVE]

[SCROLL]

[SHORTCUT]

[TITLE симвНазвание]

[COLOR SCHEME числНомСхемы

| COLOR СписокЦветовыхПар]

- определяет вертикальное подменю.


DEFINE BAR числНомерПункта1 | СистемИмяПункта

OF ИмяМеню PROMPT симвНазвание

[BEFORE числНомерПункта2 | AFTER числНомерПункта3]

[FONT симвШрифтНазв [, числШрифтРазмер]]

[STYLE симвШрифтСтиль]

[KEY НазвКлавиши [, симвТекст]]

[MARK симвМетка]

[MESSAGE симвСообщение]

[SKIP [FOR логВыражение]]

[COLOR SCHEME числНомСхемы

| COLOR СписокЦветовыхПар]

- определяет пункт подменю.


ON BAR числНомерПункта1 OF ИмяМеню1

[ACTIVATE POPUP ИмяМеню



| ACTIVATE MENU ИмяМеню2

- определяет активизацию подменю следующего уровня при выборе пункта подменю.


ON SELECTION BAR числНомерПункта1 OF ИмяМеню

[Command]

- определяет действие при выборе пункта подменю.


НАЗНАЧЕНИЯ НА КЛАВИШИ

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


ON KEY [Команда]

<предыдущая страница | следующая страница>


Практикум по microsoft visual foxpro пособие для лабораторных занятий по курсу "Базы данных"
714.34kb.

14 10 2014
3 стр.


Создание xml-документа

Еще лучше воспользоваться редактором, в котором предусмотрена возможность анализа исходных кодов, например, текстовым редактором Microsoft Visual Studio, рассчитанным на работу с M

104.33kb.

01 10 2014
1 стр.


Переход на Microsoft sql server Express 2008 R2

Для создания резервной копии базы данных необходимо в программе Microsoft sql server Management Studio в левой части окна выбрать требуемую базу данных. Затем, щелчком правой кнопк

70.43kb.

10 10 2014
1 стр.


Основные операции в Microsoft Access Часть Создание базы данных и таблиц

Данный документ предназначен для использования в самостоятельной работе студентов с приложением Microsoft Office Access при выполнении своего проекта. Рисунки и управляющие последо

87.72kb.

01 10 2014
1 стр.


Автоматизированного контроля за перемещением делящихся и радиоактивных материалов программное обеспечение

Для функционирования комплекса необходимы операционная система Microsoft Windows 2000 и сервер базы данных Microsoft sql server 2000

50.31kb.

25 12 2014
1 стр.


Visual C++ версии 0 фирмы Microsoft с библиотекой классов mfc

В качестве программной среды для разработки программного комплекса по обработке аэрокосмических изображений выбрана система объектно-ориентированного программирования Visual C++ ве

484.26kb.

13 10 2014
3 стр.


Практикум по механике и молекулярной физике Учебное пособие для студентов, обучающихся по направлениям

Данный практикум включает в себя 9 лабораторных работ по механике и молекулярной физике, отвечающих требованиям Государственного образовательного стандарта и рабочих программ для и

705.99kb.

11 09 2014
12 стр.


Вопросы для госэкзамена по курсу "Базы данных и знаний"

Реляционная модель данных. Основные понятия: отношение, кортеж, домен. Реляционная алгебра (РА)

212.73kb.

24 09 2014
1 стр.