Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Команда выхода из FoxPro в DOS.




QUIT

 

Выполнить Практическое задание № 1. (см. приложение)

Окна редактирования.

Для открытой БД при запуске команд Append, Insert, Edit, Change, Browse FoxPro открывает на экране окно редактирования. Стандартное окно редактирования имеет две формы: для первых четырёх команд все поля БД располагаются вертикально, эта форма окна называется CHANGE-окно, в окне команды BROWSE все записи расположены горизонтально, как в таблице. Такая форма называется BROWSE – окно.

В CHANGE-окне и BROWSE – окне клавиши управления действуют одинаково:

Ctrl+T – пометка записи на удаление, признаком пометки является точка, которая ставится перед записью.

Ctrl+N – добавление в БД новой записи.

Можно установить режим копирования в новую запись:

1 способ: всех поле из текущей записи командой SET CARRY ON/OFF;

2 способ: копирование только указанных полей командой SET CARRY TO <имя поля>. Команда SET CARRY TO означает возвратк действию команды SET CARRY ON/OFF.

Копирование не происходит при добавлении новых записей командой APPEND BLANK.

Перемещение внутри базы в окне редактирования осуществляется при помощи клавиш управления курсором, а также клавишами:

Home, End – на начало и конец поля.

Enter – переход к следующему полю.

PgUp, PgDn – вверх/вниз на 25 строк.

Ctrl+Y – очистка поля.

Ctrl+Home или двойной щелчок мыши - вход в МЕМО-поле.

Ctrl+W – выход с сохранением.

Ctrl+F10 – изменение размера окна.

 

1. BROWSE

BROWSE [FIELDS<поля>] [FOR<условие>] [FREEZ<поля>] [LOCK<выражение N>] [LEDIT/REDIT] [NOAPPEND] [NOCLEAR] [NODELETE] [NOEDIT] [NOMODIFY] [NOLGRID/NORGRID] [NOLINK] [PARTITION<выр. N>] [VALID <условие> [ERROR<выражение С>]] [COLOR SCHEME <выр. N>/ COLOR <цвета>] [WHEN <условие>][TITLE <выражение С>]

 

a) Управление доступом к полям БД.

FIELDS<поля> – задаёт перечень выводимых полей, по умолчанию выводятся все.

Имя каждого поля может сопровождаться ключами:

:R – разрешён только просмотр

:<выр. N> - устанавливается видимый размер поля, если фактический размер больше то предусмотрен скроллинг.

:V=<условие> - контроль выхода из поля, выполняется проверка вводимых данных, если условие истинно курсор переходит на следующее поле, если ложно, то выдаётся сообщение.

:E=<выр. C> - выдача собственного сообщения на неправильный ввод данных. Символьные выражения в FoxPro заключаются в ‘<C>’,”<C>”,[<C>].

Пример: BROWSE FIELDS UCH_NO:V=UCH_NO<=200:E=”ВВЕДИТЕ ЧИСЛО <=200”

:B=<выр. 1>, <выр. 2> - указываются границы вводимых данных, запятая обязательна, даже если задана только одна граница.

:H=<выр. C> - указание собственного заголовка столбца, по умолчанию в качестве заголовка выводится имя поля.

Пример: BROWSE FIELDS UCH_NO:Н=’Номер ученического’

:W=<условие> - контроль входа в поле, если условие ложно, то вход в поле и редактирование запрещено.

Пример: BROWSE FIELDS UCH_NO:W=UCH_NO > 200

 

б) Отбор данных.

FOR < условие > -устанавливает фильтр для записей, в окне выводятся записи удовлетворяющие условию.

USE kadr_N

BROWSE FOR SEM=’Б’

 

в) Разделение окна.

В режиме разделения BROWSE-окно разбивается на 2 смежных окна, где будут отображаться данные из БД, возможно в разной форме.

LOCK <выр.N> - BROWSE-окно делится на 2 части, первые N-полей всей БД или списка FIELDS(если есть), отображается в левой части окна, вся БД или список FIELDS(если есть) дублируются правой части, переход курсора из одной части в другую Ctrl+H, или мышью.

PARTITION <выр. N> - окно делится на 2 части, но граница раздела будет проходить по колонке N.

LEDIT/REDIT – опции действуют только в разделенном окне, и указывают в какой части разделенного окна (слева/справа) данные будут показаны как в CHANGE-окне.

NOLINK – несинхронное перемещение видимых записей. При движении курсора в одной половине окна, записи в другой остаются неподвижными.

NOLGRID/NORGRID – удаляет вертикальные линии-разделители в левой или правой части разделенного окна, если окно не разделено, то линии удаляются опцией NORGRID.

 

г) Контроль редактирования записей.

When <усл.> - определяет возможность доступа к записям. Если условие ложно, то запись доступна только для просмотра.

BROWSE WHEN UCH_NO <=200

VALID <усл.> [ ERROR <выр. С>] – анализирует выполнение условия для текущей записи, если в ней произошло редактирование. Если условие ложно, то появляется стандартное сообщение или заданное после ERROR и курсор не переходит на следующую запись.

BROWSE VALID TAB <0 ERROR “Число отрицательное”

 

д) Ограничение возможности редактирования данных.

NOAPPEND – запрещение добавления новых записей.

NOEDIT/NOMODIFY – запрещение редактирования БД.

NODELETE – запрещение удаления записей.

FREEZE <поле> - указывается единственное поле которое можно редактировать, остальные поля можно только просматривать.

 

е) Прочие опции.

NOCLEAR – после выхода из BROWSE-окна оно не удаляется, хотя не является активным.

TITLE – задаёт заголовок окна.

Пример: BROWSE TITLE ‘Кадры’

COLOR SCHEME N/COLOR <цвета> - Определяет окраску BROWSE-окна.

 

ж) Вычисляемые поля.

В опции FIELDS в списке полей можно задавать вычисляемые поля, такие поля не могут редактироваться и запоминаться в БД.

Например: Введём в БД «Кадры» новое поле «Выдача на руки», в котором будет отображаться зарплата за вычетом подоходного налога 13%.

USE kadr_21

BROWSE FIELDS FIO:H=’Фамилия’,SZAR:H=’Оклад’,;

VID=SZAR-SZAR*0,13:H=’Выдача на руки’

 

 

2. CHANGE

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

CHANGE [<опции>]

опции те же, что и в BROWSE.

 

Выполнить Практическое задание № 2. (см. приложение)

Управление БД.

1. Перемещение по БД.

При работе с БД необходимы средства перемещения внутри неё. Запись, на которой находится указатель записей, является текущей, и только к ней в данный момент возможен доступ. Имеются следующие команды, перемещающие указатель записи в открытой БД:

GO TOP – переход на первую запись БД.

GO BOTTOM – установка указателя на последнюю запись.

GO N – перейти на запись с номером N.

SKIP N – переход от текущей на N записей вниз.

SKIP –N – переход от текущей на N записей вверх.

SKIP – перейти на следующую запись.

Функции, позволяющие определить положение указателя:

EOF() -.T. – если конец файла БД;

BOF() -.T. – если начало файла БД;

RECCOUNT() – общее количество записей в открытой базе данных;

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

Значения функций выводятся на экран при помощи команды вывода «?»

 

2. Удаление данных.

ERASE <файл> - удаляет любой неоткрытый в данный момент файл, расширение файла указывать обязательно.

DELETE FILE <файл> - то же, что и ERASE.

ZAP – удаляет все записи в активной БД, но оставляет структуру.

DELETE [<границы>] [WHILE <усл.>] [FOR <усл.>] – помечает на удаление указанные записи.

 

Пример:USE 231_21.dbf

DELETE

DELETE RECORD 7

GO 10

DELETE NEXT 4

DELETE FOR POL=.F.

USE

ERASE KADR.dbf && только для закрытой БД

 

Если ввести команду SET DELETE ON, то при выводе БД для просмотра помеченные на удаление записи не отображаются.

 

RECALL [<границы>] [WHILE <усл.>] [FOR <усл.>] – снимает пометку на удаление с указанных записей.

 

PACK – удаляет физически с диска записи, ранее помеченные на удаление командой DELETE. Автоматически изменяется нумерация записей и удалённые таким образом записи невозможно будет восстановить.

 

3. Изменение данных.

В FoxPro имеется возможность изменять значение полей с помощью команды REPLACE.

Формат:

REPLACE [<границы>] [WHILE <усл.>] [FOR <усл.>]

<поле 1> WITH <выр. 1>

[,<поле 2> WITH <выр. 2> …] [ADDITIVE]

Эта команда осуществляет множественное изменение полей открытой БД, если отсутствуют границы или условия, то изменяется текущая запись. Опция ADDITIVE действует для МЕМО-полей и означает, что заданное выражение будет добавлено в конец существующего.

Если ADDITIVE опущено, то старое значение МЕМО-поля затрётся.

Пример: Добавим 20% к окладу тех работников, у которых табельный номер меньше 100.

USE KADR.DBF

REPLACE SZAR WITH SZAR*0,2+SZAR FOR TAB<100

 

BLANK [<границы>] [WHILE <усл.>] [FOR <усл.>] [FIELDS <поля>]

– очищает поля БД.

 

4. Просмотр БД

LIST [<границы>] [WHILE <усл.>] [FIELDS <поля>] [FOR <усл.>] [OFF]

Пример: LIST - просмотр всей БД

Опция OFF не выводит номера записей.

 

DISPLAY[<границы>] [WHILE <усл.>] [FIELDS <поля>] [FOR <усл.>]

Вывод поэкранный.

Пример: DISPLAY- просмотр текущей записи БД.

DISPLAY ALL - вывод всей БД поэкранно.

 

Установка SET HEAD ON/OFF – позволяет выводить или не выводить заголовки полей.

 

SET MEMOWIDTH TO <N> - устанавливает количество видимых позиций для MEMO-полей в командах LIST и DISPLAY.

 

5. Поиск данных.

Первый способ: использование опции FOR в командах LIST, DISPLAY, BROWSE, CHANGE и д.р.

Пример: LIST FOR SEM=’х’

 

Второй способ: фильтрация данных.

SET FILTER TO [<усл.>] – установка фильтрации для всех команд обработки. SET FILTER TO – сброс фильтра.

Пример: SET FILTER TO POL=’M’

LIST (вывод записей с “М” в поле POL)

 

Третий способ: последовательный поиск.

LOCATE [<границы>] [WHILE <усл.>] [FOR <усл.>]

Если границы и опция WHILE отсутствуют, то поиск производится по всему файлу. Если запись найдена, то указатель текущей записи становится на найденную.

Пример: LOCATE FOR POL=’M’

DISPLAY

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

CONTINUE && переход указателя к следующей найденной записи.

 

Выполнить Практическое задание № 3. (см. приложение)

 


Временные переменные.

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

В FoxPro разрешается создавать временные переменные тех же типов, что и поля БД – четыре типа D, L, C, N.

Тип переменной описывать не надо, он определяется типом последнего присваиваемого ей значения.

Имя переменной - это правильный идентификатор.

 

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...