по Экзаменационный билет № 1
2.
FIO POL DATA OBR
COMP Вывести
Зав. |
КРЫМСКИЙ по дисциплине: «Информатика и компьютерная техника» Экзаменационный билет № 2 1. 2. Дана
FIO POL DATA OBR
COMP Найти 3. Зав. |
КРЫМСКИЙ по Экзаменационный билет № 3 1. Создание 2. Дана
FIO POL DATA OBR
COMP Найти 3. Зав. |
КРЫМСКИЙ
Экзаменационный билет № 4 1. 2. Дана
FIO POL DATA OBR
COMP Найти 3. Задача Зав. |
КРЫМСКИЙ по Экзаменационный билет № 5 1. 2. Дана
FIO POL DATA OBR
COMP Найти 3. Задача Зав. |
КРЫМСКИЙ по Экзаменационный билет № 6 1. 2. Дана
FIO POL DATA OBR
COMP Найти 3. Задача Зав. |
КРЫМСКИЙ по Экзаменационный билет № 7 1. 2. Дана
FIO POL DATA OBR
COMP Найти 3. Задача Зав. |
КРЫМСКИЙ по Экзаменационный билет № 8 1. 2. Дана
FIO POL DATA OBR
COMP Вывести 3. Задача Зав. |
КРЫМСКИЙ по Экзаменационный билет № 9 1. 2. Дана
FIO POL DATA OBR
COMP Найти 3. Задача Зав. |
КРЫМСКИЙ по Экзаменационный билет № 10 1. 2. Дана
FIO POL DATA OBR
COMP Найти 3. Зав. |
КРЫМСКИЙ по билет № 11 1. 2. Дана
FIO POL DATA OBR
COMP Вывести 3. Задача Зав. |
КРЫМСКИЙ по билет № 12 1. 2. Дана
FIO POL DATA OBR
COMP Написать 3. Задача Зав. |
КРЫМСКИЙ по билет № 13 1. 2. Дана
FIO POL DATA OBR
COMP Найти 3. Задача Зав. |
КРЫМСКИЙ по билет № 31 1. 2. Дана
FIO POL DATA OBR
COMP Вывести 3. Задача Зав. |
КРЫМСКИЙ по билет № 14 1. 2. Дана
FIO POL DATA OBR
COMP Вывести 3. Задача Зав. |
КРЫМСКИЙ по Экзаменационный билет № 15 1. 2. Дана
FIO POL DATA OBR
COMP Определить, 3. Задача Зав. |
КРЫМСКИЙ по билет № 16 1. 2. Дана
FIO POL DATA OBR
COMP Определить, 3. Задача Зав. |
КРЫМСКИЙ по Экзаменационный билет № 17 1. 2. Дана
FIO POL DATA OBR
COMP Найти 3. Задача Зав. |
КРЫМСКИЙ по Экзаменационный билет № 19 1. 2. Дана
FIO POL DATA OBR
COMP Определить, 3. Задача Зав. |
КРЫМСКИЙ по Экзаменационный билет № 20 1. 2. Дана
FIO POL DATA OBR
COMP Определить, 3. Задача Зав. |
КРЫМСКИЙ по Экзаменационный билет № 21 1. 2. Дана
FIO POL DATA OBR
COMP
3. Задача Зав. |
КРЫМСКИЙ по Экзаменационный билет № 22 1. 2. Дана
FIO POL DATA OBR
COMP
3. Задача Зав. |
КРЫМСКИЙ по Экзаменационный билет № 23 1. 2. Дана
FIO POL DATA OBR
COMP
3. Задача Зав. |
КРЫМСКИЙ по Экзаменационный билет № 24 1. 2. Дана
FIO POL DATA OBR
COMP Вывести 3. Задача Зав. |
КРЫМСКИЙ по Экзаменационный билет № 25 1. 2. Дана
FIO POL DATA OBR
COMP
3. Задача Зав. |
КИЕВСКИЙ
НАЦИОНАЛЬНЫЙ
ЭКОНОМИЧЕСКИЙ
УНИВЕРСИТЕТ
КРЫМСКИЙ
ЭКОНОМИЧЕСКИЙ
ИНСТИТУТ
по
дисциплине:
«Информатика
и компьютерная
техника»
Экзаменационный
билет № 26
1. Работа
с несколькими
БД. Понятие
рабочей области.
Использование
псевдонимов.
Составное имя
поля.
2. Обеспечить
форматный ввод
переменной
x
и форматный
вывод значения
функции y,
используя
оператор ветвления
case.
Функция имеет
вид:
3. Задача
Зав.
кафедрой
Преподаватель
КИЕВСКИЙ
НАЦИОНАЛЬНЫЙ
ЭКОНОМИЧЕСКИЙ
УНИВЕРСИТЕТ
КРЫМСКИЙ
ЭКОНОМИЧЕСКИЙ
ИНСТИТУТ
по
дисциплине:
«Информатика
и компьютерная
техника»
Экзаменационный
билет №27
1. Типы бинарных
связей. Привести
примеры.
2. Обеспечить
форматный ввод
переменной
x
и форматный
вывод значения
функции y,
используя
оператор ветвления
case.
Функция имеет
вид:
3. Задача
Зав.
кафедрой
Преподаватель
КИЕВСКИЙ
НАЦИОНАЛЬНЫЙ
ЭКОНОМИЧЕСКИЙ
УНИВЕРСИТЕТ
КРЫМСКИЙ
ЭКОНОМИЧЕСКИЙ
ИНСТИТУТ
по
дисциплине:
«Информатика
и компьютерная
техника»
Экзаменационный
билет № 28
1. Пример программы
работы с двумя
БД (с использованием
окон).
2. Обеспечить
форматный ввод
переменной
x
и форматный
вывод значения
функции y,
используя
оператор ветвления
case.
Функция имеет
вид:
3. Задача
Зав.
кафедрой
Преподаватель
КИЕВСКИЙ
НАЦИОНАЛЬНЫЙ
ЭКОНОМИЧЕСКИЙ
УНИВЕРСИТЕТ
КРЫМСКИЙ
ЭКОНОМИЧЕСКИЙ
ИНСТИТУТ
по
дисциплине:
«Информатика
и компьютерная
техника»
Экзаменационный
билет № 29
1.
Работа с фильтрами.
2. Дана
база данных
(БД) о кадровом
составе фирмы,
которая содержит
следующие
данные:
Название
поля
Тип
Пояснение
TAB
numeric
табельный
номер
FIO
character ФИО
POL
character пол
DATA
date дата
рождения
OBR
logical наличие
высшего образования
LANG
numeric кол-во
ин. языков, кот-ми
влад. работник
STAG
numeric стаж
работы на фирме
DETI
numeric количество
детей
SRZAR
numeric
среднемесячная
зарплата
COMP
logical знание
ПК
Определить,
каков процент
работников
фирмы имеет
детей.
3. Задача
Зав.
кафедрой
Преподаватель
КИЕВСКИЙ
НАЦИОНАЛЬНЫЙ
ЭКОНОМИЧЕСКИЙ
УНИВЕРСИТЕТ
КРЫМСКИЙ
ЭКОНОМИЧЕСКИЙ
ИНСТИТУТ
по
дисциплине:
«Информатика
и компьютерная
техника»
Экзаменационный
билет № 30
1. Установление
связей 1:1 и 1:N в
FoxPro.
2. Обеспечить
форматный ввод
переменной
x
и форматный
вывод значения
функции y,
используя
оператор ветвления
case.
Функция имеет
вид:
3. Задача
Зав.
кафедрой
Преподаватель
КИЕВСКИЙ
НАЦИОНАЛЬНЫЙ
ЭКОНОМИЧЕСКИЙ
УНИВЕРСИТЕТ
КРЫМСКИЙ
ЭКОНОМИЧЕСКИЙ
ИНСТИТУТ
по
дисциплине:
«Информатика
и компьютерная
техника»
Экзаменационный
билет № 18
1.
Средства разработки
меню (POPUP – меню).
2. Обеспечить
форматный ввод
переменной
x
и форматный
вывод значения
функции y,
используя
оператор ветвления
case.
Функция имеет
вид:
3. Задача
Зав.
кафедрой
Преподаватель
2.
Обеспечить
форматный ввод
переменной
x
и форматный
вывод значения
функции y,
используя
оператор ветвления
case.
Функция имеет
вид:
2. Обеспечить
форматный ввод
переменной
x
и форматный
вывод значения
функции y,
используя
оператор ветвления
case.
Функция имеет
вид:
2. Обеспечить
форматный ввод
переменной
x
и форматный
вывод значения
функции y,
используя
оператор ветвления
case.
Функция имеет
вид:
2. Обеспечить
форматный ввод
переменной
x
и форматный
вывод значения
функции y,
используя
оператор ветвления
case.
Функция имеет
вид:
2. Обеспечить
форматный ввод
переменной
x
и форматный
вывод значения
функции y,
используя
оператор ветвления
case.
Функция имеет
вид:
2. Обеспечить
форматный ввод
переменной
x
и форматный
вывод значения
функции y,
используя
оператор ветвления
case.
Функция имеет
вид:
2. Обеспечить
форматный ввод
переменной
x
и форматный
вывод значения
функции y,
используя
оператор ветвления
case.
Функция имеет
вид:
2. Обеспечить
форматный ввод
переменной
x
и форматный
вывод значения
функции y,
используя
оператор ветвления
case.
Функция имеет
вид:
2. Обеспечить
форматный ввод
переменной
x
и форматный
вывод значения
функции y,
используя
оператор ветвления
case.
Функция имеет
вид:
2. Обеспечить
форматный ввод
переменной
x
и форматный
вывод значения
функции y,
используя
оператор ветвления
case.
Функция имеет
вид:
2. Обеспечить
форматный ввод
переменной
x
и форматный
вывод значения
функции y,
используя
оператор ветвления
case.
Функция имеет
вид:
2.
Обеспечить
форматный ввод
переменной
x
и форматный
вывод значения
функции y,
используя
оператор ветвления
case.
Функция имеет
вид:
2. Обеспечить
форматный ввод
переменной
x
и форматный
вывод значения
функции y,
используя
оператор ветвления
case.
Функция имеет
вид:
Экзаменационный 3.
P> |
Экзаменационный 3. |
Экзаменационный 3. |
Экзаменационный 3. |
Экзаменационный 3. |
Экзаменационный 3. |
Экзаменационный 3. |
Экзаменационный 3. |
Экзаменационный 3. |
Экзаменационный 3. |
Экзаменационный 3. |
Экзаменационный 3. |
Экзаменационный 3. Вывести |
Экзаменационный 3. Вывести |
Экзаменационный 3. Вывести |
Экзаменационный 3. Найти |
Экзаменационный 3. Найти |
Экзаменационный 3. Найти |
Экзаменационный 3. |
Экзаменационный 3. Вывести |
Экзаменационный 3. Вывести |
Экзаменационный 3. Вывести |
Экзаменационный 3. Вывести |
Экзаменационный 3. Вывести |
Экзаменационный 3. Вывести |
Экзаменационный 3. Вывести |
Экзаменационный 3. Найти |
Экзаменационный 3. Написать |
Экзаменационный 3. Написать |
Экзаменационный 3. |
Экзаменационный 3. |
Экзаменационный 3. |
Экзаменационный 3. |
Экзаменационный 3. |
Экзаменационный 3. |
Экзаменационный 3. Найти |
1.
СУБД FOXPRO: ОЗНАКОМЛЕНИЕ
С СИСТЕМОЙ
РАБОТА В
МЕНЮ-ОРИЕНТИРОВАННОМ
РЕЖИМЕ 2
2.ОСНОВНЫЕ
КОМАНДЫ FOXPRO 5
ДИАЛОГОВЫЕ
КОМАНДЫ 5
КОМАНДЫ
РЕДАКТИРОВАНИЯ 6
3.
СОЗДАНИЕ КОМАНДНЫХ
ФАЙЛОВ 7
5.КОМАНДЫ
ВВОДА-ВЫВОДА 9
6.СРЕДСТВА
ПРОГРАММИРОВАНИЯ 11
7.ОРГАНИЗАЦИЯ
МЕНЮ 13
8.ИЗОБРАЗИТЕЛЬНЫЕ
СРЕДСТВА 15
10.
РАБОТА С НЕСКОЛЬКИМИ
БАЗАМИ ДАННЫХ 16
11.
РАБОТА С ОКНАМИ 18
19
12.ПРИЛОЖЕНИЯ
19
12.1.
СТАНДАРТНЫЕ
ФУНКЦИИ FOXPRO 19
12.2.
SET - КОМАНДЫ 21
12.3.
ТЕКСТЫ ПРОГРАММ 22
11.
Задания. 27
РЕКОМЕНДУЕМАЯ
ЛИТЕРАТУРА
28
ВВЕДЕНИЕ
Методические
указания
предназначены
для проведения
практических
и лабораторных
занятий по
дисциплине
«Информатика
и компьютерная
техника» для
всех форм обучения.
В них кратко
изложены технологии
реляционных
СУБД, реализация
их средствами
СУБД FoxPro,
а также даны
практические
приемы их реализации.
Основное внимание
уделено изложению
команд языка
программирования
среды FoxPro
с пояснениями
на конкретных
примерах и
заданиях по
основным темам.
РЕЛЯЦИОННАЯ
МОДЕЛЬ
По
способу установления
связей между
данными различают
реляционную,
иерархическую
и сетевую
модели.
Реляционная
модель является
удобной и наиболее
привычной
формой представления
данных в виде
таблицы. В
математических
дисциплинах
таблице соответствует
термин отношение
(relation). Отсюда и
произошло
название модели
– реляционная.
Одним
из основных
преимуществ
реляционной
модели является
ее однородность.
Все данные
рассматриваются
как хранимые
в таблицах, в
которых каждая
строка имеет
один и тот же
формат. Каждая
строка в таблице
представляет
некоторый
объект реального
мира или соотношение
между объектами.
Пользователь
модели сам
должен для себя
решить вопрос,
обладают ли
соответствующие
сущности реального
мира однородностью.
Этим самым
решается проблема
пригодности
модели для
предполагаемого
применения.
Реляционная
модель имеет
два главных
свойства:
базовые
порции данных
представляют
собой отношения
(relations);
операции
над таблицами
затрагивают
только соотношения
(relation closure).
Соотношение
– это
математическая
концепция,
описывающая,
как соотносятся
между собой
элементы двух
множеств.
Модель
предъявляет
к таблицам
следующие
требования:
данные
в ячейках таблицы
должны быть
структурно
неделимыми.
Каждая ячейка
может содержать
только одну
порцию данных.
Это свойство
часто определяется
как принцип
информационной
неделимости.
Недопустимо,
чтобы в ячейке
таблицы реляционной
модели содержалось
более одной
порции данных,
что иногда
называется
информационным
кодированием.
Примером служит
идентификационный
номер автомобиля.
Если записать
его в одну ячейку,
то будет нарушен
принцип неделимости
информации,
поскольку в
ячейке окажутся
разделяемые
данные такие,
как наименование
производителя,
модели, сведение
о нахождении
предприятия
и т.д.;
данные
в одном столбце
должны быть
одного типа;
каждый
столбец должен
быть уникальным
(недопустимы
дублирования
столбцов);
столбцы
размещаются
в произвольном
порядке;
строки
размещаются
в таблице также
в произвольном
порядке;
столбцы
имеют уникальные
наименования.
Два
фундаментальных
правила:
правило целостности
объектов
(entity integrity rule) и правило
ссылочной
целостности
(referential
integrity rule).
Первичный
ключ
– это
столбец или
некоторое
подмножество
столбцов, которые
уникально, т.е.
единственным
образом определяет
строки. Первичный
ключ, который
включает более
одного столбца,
называется
множественным
или комбинированным
или составным.
Остальные
ключи, которые
можно также
использовать
в качестве
первичных,
называются
потенциальными
или альтернативными
ключами.
Внешний
ключ
– это
столбец или
подмножество
одной таблицы,
который может
служит в качестве
первичного
ключа для другой
таблицы. Внешний
ключ
таблицы является
ссылкой на
первичный ключ
другой таблицы.
Правило целостности
объектов утверждает,
что первичный
ключ не может
быть полностью
или частично
пустым, т.е. иметь
значение null.
Правило ссылочной
целостности
гласит, что
внешний ключ
может быть либо
пустым, либо
соответствовать
значению первичного
ключа, на который
он ссылается.
Формальное
определение
следующее:
Схемой
отношения
R называется
конечное множество
имен атрибутов
{A,A,…,A}.
Каждому имени
атрибута A
ставится в
соответствие
множество D,
называемое
доменом
атрибута
A,
1 TO < параметр2
>
ON|OFF
– означает,
что установка
либо включена,
т.е. работает,
либо
выключена.
Примеры:
SET TALK OFF
– погашения
вывода служебных
сообщений
о работе команд
на экран;
SET
PROCEDURE TO a:proc1
– назначение
процедурного
файла.
Перечень
наиболее часто
используемых
команд установки
приведена в
Приложении
2.
Перейдем
к рассмотрению
конкретных
команд.
ДИАЛОГОВЫЕ
КОМАНДЫ
Создание
и изменение
структуры файла
базы данных.
СRЕАТЕ
- создание
структуры БД
в диалоге.
Пример
Название
поля Тип
Пояснение
TAB
numeric
табельный
номер
FIO
character ФИО
POL
character пол
DATA
date
дата рождения
OBR
logical
наличие
высшего образования
LANG
numeric
кол-во ин.
языков, кот-ми
влад. Работник
STAG
numeric
стаж работы
на фирме
DETI
numeric
количество
детей
SRZAR
numeric
среднемесячная
зарплата
COMP
logical знание
ПК
MODIFY
STRUCTURE -
изменение
структуры
открытой БД.
При вызове
этих команд
среда открывает
диалог, предоставляя
экран-форму
для ввода данных
о структуре
создаваемого
файла базы
данных.
КОМАНДЫ
РЕДАКТИРОВАНИЯ
APPEND
[BLANK]
- добавление
записи в конец
открытой БД
([BLANK]
-пустая запись).
INSERT
[BLANK]
[BEFORE]
- вставка
записи до [BEFORE]
или после
текущей
записи.
CHANGE
[]
[FIELDS] [WHILE
]
[ FOR
< условие >]
- редактирование
значений полей.
DELETE
[зона
действия] [WHILE
][FОR]
пометка
записей
признаком
удаления.
BROWSE...
- команда доступа
пользователя
к данным.
При
вызове этих
команд и наличии
открытой базы
данных среда
развертывает
для пользователя
окно
редактирования.
Команда BROWSE
будет
рассмотрена
несколько
позже.
ПРОСМОТР
ДАННЫХ.
Команды
DISPLAY
и
LIST
DISPLAY
[][]FOR[]WHILE[]
[OFF]
[TO PRINT / TO FILE]
Команда
LIST
с похожими
функциями не
делает остановок
при выдаче
данных и по
умолчанию
область ее
действия
- весь
файл, а команды
DISPLAY-
одна текущая
запись.
Примеры:
DISPLAY
REST FOF fio= ’И’
LIST
'фамилия',
fio FOR dolg = "инженер"
Удаление
данных
ERASE
- удаление закрытого
файла;
ZAP
- удаление
всех записей
с сохранением
структуры;
DELETE
[] [WHILE<
условие >] [FOR<
условие >] - пометка
к удалению
или логическое
удаление записей;
PACK
- физическое
удаление, помеченных
к удалению
записей;
RECALL
[]
[WHILE<
условие >] [FOR<
условие >] - снятие
пометок к удалению;
Замечание.
помеченные
к удалению
записи остаются
в БД, однако
они могут не
обрабатываться
другими командами,
если была выполнена
установка
SET
DELETE ON.
Выполнение
команды PACK
приводит к
физическому
уничтожению
записей,
БД
при этом сжимается.
Фильтрация
данных
SET
FILTER
ТО []
- установка
FOR-условия для
всех команд
обработки
данных (остальные
данные недоступны).
SET
FILTER
TO
без
параметра
- отменяет
ограничения.
Пример:
Изменение
данных
REPLACE
[]
[WHILE]
[FОR]
WITH[,
WITH
…] [ADDITIVE]
-
множественное
изменение полей
в соответствии
с выражениями.
Пример:
REPLACE zarp with zarp*
1.25 for dolg=”инженер”
Последовательный
поиск
LOCATE
FОR
[]
[WHILE]
- поиск первой
удовлетворяющей
FOR-условию
записи,
При успешном
поиске
указатель
записей устанавливается
на найденную
запись.
CONTINUE
- продолжение
поиска
Пример:
USE KADR
LOCATE FOR stag > 12
DO
WHILE
! EOF() &&
пока не достигнут
конец файла
данных
? FIO
CONTINUE
ENDDO
Перечисленные
команды могут
быть выполнены
путем выбора
из в системном
меню или непосредственным
набором в
Command-окне.
Наряду с другими
командами и
средствами
программирования,
приводимыми
далее, они могут
использоваться
также в текстах
программ.
3. СОЗДАНИЕ
КОМАНДНЫХ
ФАЙЛОВ
Командные
файлы представляют
собой исходные
тексты программ
и имеют тип
.prg.
Они создаются
с помощью встроенного
редактора
FoxPro ,
вызываемого
командой
MODIFY
COMMAND
По
команде MODI
COMM (допустимое
сокращение)
без указания
имени по умолчанию
создается
prg-файл
без имени. Присвоить
имя следует
при первом
сохранении
текста программы.
Удобно использовать
комбинацию
клавиш
^W
для сохранения
текста программы.
Для редактирования
ранее созданной
программы
используют
команду
MODI СОММ
.
Для запуска
программ используется
команда
DO
Созданная
программа
выполняется
в режиме интерпретации
. При
обнаружении
ошибки выполнение
прерывается
и комментируется
сообщением.
Пример.
Приводится
текст программы,
предназначенной
для отображения
всех записей
БД, содержащих
информацию
о сотрудниках,
получающих
зарплату меньше
200.
SET TALK OFF
SET DATE BRITISH
USE KADR
LOCATE FOR Zarp < 200
DO WHILE
!EOF() &&
пока не достигнут
конец файла
данных
DISPL
CONTINUE
ENDDO
4.Команда
полноэкранного
редактирования
BROWSE
Команда
BROWSE
представляет
собой целую
среду редактирования.
Она имеет более
20 различных
параметров.
Рассмотрим
наиболее часто
используемые
из них.
Формат
команды.
BROWSE
[FIELDS] [FОR]
[FORMAT] [FREEZE]
[КЕУ,[,]] [LAST]
[LEDIT
/ REDIT] [LOCK]
[LPARTITION] [NOAPPEND]
[NOCLEAR] [NODELETE]
[NOEDIT/NOMODIFY] [NOLGROD
/ NORGRIG]
[NOLINK] [NOMENU]
[NOOPTIMIZE] [NORMAL]
[NOWAIT] [PARTITION]
[REST] [PREFERENCE]
[TIMEOUT] [ТITLЕ]
[NOOPTIMIZE] [WHEN<
ycловие3>]
[window] [NOWAIT]
[VALID[F:] [ERROR]
[COLOR
SCHEME
/ COLOR]
Действие
некоторых опции
команды.
1.
Выбор полей
FIELDS<
список полей>
- перечень
полей (по умолчанию
- все).
Ключи:
:R
- разрешен
только просмотр
поля;
:
- видимый размер
поля;
:У=
- контроль выхода
из поля;
:F
- проверка
вводимых и
существующих
данных;
:Е=
- выдача собственного
сообщения;
:Р=
- задание формата
отображения
данных по шаблону;
:Н=
- указание
собственного
заголовка поля;
:В=,[:Е]
- указание границ
чисел или дат;
:W=
- контроль входа
в поле.
В список
полей могут
включаться
так называемые
вычисляемые
поля, которые
являются функциями
других полей
или переменных.
2. Отбор
данных
FОR
-
устанавливает
фильтр для
записей; выводятся
только
записи,
удовлетворяющие
;
REST
-
предотвращает
повторный поиск
сначала;
КЕУ[,]
-
ограничение
действия команды
диапазоном
ключевого
выражения
активного
индексного
файла
З. Разделение
окна
LOCK
BROWSE
-
окно делится
на две части,
где первые
полей
дублируются
в левой части
окна (переход
^Н);
PARTITION
-
то же, но граница
проходит по
полю
LEDIT/REDIT -
действуют
только в разделенном
окне и задают
форму
представления
данных (формуляр);
LPARTITION -
курсор устанавливается
в левой половине
окна;
NOLINK -
несинхронное
перемещение
видимых записей;
NOLGRID/NORGRID -
удаляет вертикальные
линии разделители
полей.
4.
Контроль
редактирования
записей
VALID[ERROR] -
анализирует
условия для
текущей записи;
WHEN -
определяет
возможность
доступа к записи;
NOAPPEND -
дополнение
по Ctrl-N
невозможно;
NOEDIT/NOMODIFY -
редактирование
невозможно;
NODELETE -
редактирование
невозможно;
FREEZE -
единственное
доступное поле.
5.
Конфигурирование
BROWSE-окна
LAST -
сохранение
конфигурации;
PREFERENCE
FORMAT -
использование
форматного
файла;
NOCLEAR -
после выхода
окно не удаляется;
NOMENU -
подавляет вывод
системного
меню;
TIMEOUT -
время работы
с окном;
TITLE -
заголовок окна;
WINDOW -
позволяет
открыть другое
окно.
Пример:
Set
talk off
set
date British
use
kadr.dbf
browse
;
title
'^t-удаление
^n-добавление
^w-выход';
fields
;
fio
:h='ФИО'
:20, ;
dolg
:h='должность',
;
zarp
:h='зарплата '
,;
birth
:h='день рождения'
,;
pol
:h='рол'
,;
adress
:h='адрес'
,;
godzarp
= zarp*12 :h='год.зарплата'
:p='#####,##'
pack
close
all
5.КОМАНДЫ
ВВОДА-ВЫВОДА
Средства
неформатированного
ввода/вывода
Команда
вывода ? / ??
? /
?? []
[АТ][,...]
Команда
?
выводит выражения
[] …[,]
с новой строки,
??
- в текущей
строке; AT -номер
столбца в строке
вывода.
Команда
вывода TEXT
TEXT
ENDTEXT
Эта
команда удобна
для вывода
больших объемов
текста, текст
выводится в
том виде, как
он выглядит
в команде.
Команды
вывода и
- вывод
строки и перевод
курсора в начало
следующей
строки.
-
вывод без перевода
курсора.
Другие
команды ввода-вывода
INPUT
ТО
ACCEPT
ТО
WAIT []
[ТО]
[TIMEOUT]
[WINDOW] [CLEAR]
Подробные
комментарии
и примеры можно
найти в соответствующем
разделе HELP среды
FoxPro.
СРЕДСТВА
ФОРМАТНОГО
ВВОДА/ВЫВОДА
Команда
@ ... SAY ... GET
Формат
команды
:
@
[SAY
[PICTURE]
[COLOR SCHEME
/
COLOR]]
[GET
[PICTURE]
[DEFAULT]
[ENABLE / DISABLE]
[MESSAGE]
[[OPEN] WINDOW
]
[RANGE [][]]
[SIZE,]
[VALID/[ERROR]]
[WHEN]
[COLOR
SCHEME/COLOR]]
Здесь
Y,X -
пара чисел или
переменных,
определяющих
номер строки
и столбца. Команда
@ без других
параметров
устанавливает
курсор в заданную
позицию и очищает
строку
Y вправо
от
X.
Параметры
команды
@ Y,X SAY
-
выдает с заданной
позиции
любого
типа
(поля БД, переменные
и пр.); в сложном
выражении
элементы соединяются
знаком "+";
@ Y,X GET
-
с заданной
позиции выдается
переменная
или
поле записи
с возможностью
редактирования
(переменная
уже должна
существовать);
DEFAULT
- действует
только при
работе с переменными;
задает
выражение по
умолчанию и
предъявляет
к
редактированию;
ENABLE/DISABLE
-
разрешает/запрещает
доступ к
get-полю;
MESSAGE
-
для данного
поля выдает
пояснение в
строке
вывода
сообщений;
RANGE
- контролирует
диапазон значений;
SIZE
- определяет
область, отводимую
под
редактирование;
VALID... -
логический
контроль ввода;
WHEN
- вход
в редактируемое
поле допускается
только при
истинности
выражения;
[OPEN]
WINDOW
- используется
с
memo-полями;
COLOR SCHEME
/COLOR-
определяет
раскраску
полей ввода-вывода.
Возможно
соединение
фраз SAY
и GET в одной команде.
При этом GET осуществляет
предъявление
и возможность
редактирования.
После команды
или группы
команд GET должна
обязательно
следовать
команда READ. Эта
команда приостанавливает
выполнение
программы до
заполнения
всех GET -полей
и присваивает
соответствующие
значения переменным
или полям базы
данных.
Примеры:
1) В 10
строке, 15 колонке
вывести текст
'ЗАРПЛАТА
- ', в этой же строке
обеспечить
поле ввода для
переменной
и контроль за
правильностью
ввода (введенное
значение должно
находится в
интервале
[100.00,1778.00] ).
X
= 100.00
@
10,15
SAY 'ЗАРПЛАТА
- '
GET X RANGE
100.00,1778.00
READ
2) Обеспечить
ввод значений
зарплат только
кратным 10
@
10,15
SAY 'ЗАРПЛАТА
- '
GET X VALID MOD(X/10) = 0
READ
Шаблон
PICTURE разрешает
ввод только
определенных
символов данных:
А
- ввод
только букв;
L
- ввод
только логических
данных T / F;
N
- ввод
только букв
и цифр;
Х
- ввод
любых символов;
Y
- ввод
только логических
данных Y/N;
9 -
ввод только
цифр в символьных
данных, цифр
и знаков
"+","-" -
в числовых
данных;
#
-
ввод цифр, пробелов
и знаков
"+","-";
! -
преобразует
строчные буквы
в прописные;
* -
перед числами;
. -
задает позицию
десятичной
точки.
Пример:
@
10,8
SAY 'ЗАРПЛАТА
- '
PICTURE ###.##'
3)
Пример создания
форматного
файла CADR.FMT, для
редактирования
данных в отношении
CADR.DBF. Вид экранной
формы:
ДАННЫЕ
О СОТРУДНИКЕ
Текст
файла CARD.FMT
@
4, 30 SAY 'ДАННЫЕ
О СОТРУДНИКЕ'
@ 5, 9 ТО
11, 70 DOUBLE
@
5, 41 SAY
‘Сегодня
'+DТОС(DАТЕ( )) + ' '
@
6, 18 SAY
'Фамилия, инициалы:
' GET fio
@
7, 18 SAY
‘Табельный
номер: ' GET tab
@
7, 40 SAY
Должность: '
GET Dolg
@ 10, 12 SAY
'Выход с сохранением
изменений
- ^End, без
- Esc'
Созданный
форматный файл
может быть
использован
в программе
с помощью команды
SET FORMAT ТО .
Фрагмент
программы:
SET FORMAT TO CARD.FMT
CHANGE
SET FORMAT TO
6.СРЕДСТВА
ПРОГРАММИРОВАНИЯ
Приведенные
выше команды
относятся к
языковым средствам
определения
данных и манипулирования
данными. Наряду
с ними язык
программирования
среды FoxPro обладает
присущими
языкам высокого
уровня возможностями,
такими как
использование
переменных
и массивов,
организация
ветвлений и
циклов, создание
процедур и
другими.
ПЕРЕМЕННЫЕ
В FoxPro
разрешается
иметь переменные
тех же типов,
что и поля таблиц
БД (кроме мемо).
Тип переменной
определяется
типом последнего
присваиваемого
ей выражения.
Команда
присваивания:
=
или
STORE
ТО ([,])
.
Пример:
DIMENSION
а(3,4),
b(4)
Максимальное
количество
и максимальная
размерность
массивов
3600. Значения
элементов
массива формируются
присваиванием
им значений
выражений либо
в результате
обмена с БД
посредством
следующих
команд:
Команды
управления
Команда
IF : Команда
DO CASE:
IF
DO CASE
CASE
[ELSE
]
CASE
ENDIF
[OTHERWIZE
]
ENDCASE
Кроме
этих команд
имеется очень
полезная функция
IIF ( )
(см. приложение)
Примеры:
1. Найти
максимальное
значение из
двух величин.
CLEAR
INPUT
“ Введите
X” TO X
INPUT
“ Введите
Y” TO Y
IF X > Y
max = X
ELSE
max = Y
ENDIF
? “ Максимальное
значение равно:
”, max
WAIT
2.
Найти значение
функции Y.
CLEAR
INPUT
“Введите
X” TO X
DO CASE
CASE
X < 0
Y = -2*X^2
+5*X
CASE X>=0 AND X <
5
Y = 15 –
2*X^2
CASE X>=5
Y =
ABS(12*X – SIN(12))
ENDCASE
? "Y = " ,Y
CLOSE ALL
ОРГАНИЗАЦИЯ
ЦИКЛОВ
Цикл
с условием
DO WHILE
Выход из цикла
- EXIT
Возврат к
началу цикла
- LOOP
ENDDO
Цикл
вида DO
WHILE .T.
ENDDO
применяется
как операторные
скобки.
Цикл
с параметром
FOR
= ТО
[STEP ]
ENDFOR
ЦИКЛ
СКАНИРОВАНИЯ
SCAN []
[FOR]
[WHILE]
ENDSCAN
- применяется
для перемещения
в базе данных
и выполнения
команд
для
каждой записи,
отвечающей
условиям.
Примеры:
Приводятся
фрагменты
программ поиска
в БД Kadr всех записей
с фамилией
на букву 'И'.
1)
USE Kadr
2)
USE Kadr
LOCATE
FOR fio = 'И'
SCAN FOR fio= 'И'
DO
WHILE
!
EOF( )
ENDSCAN
CONTINUE
ENDDO
ПРОЦЕДУРЫ
В FoxPro
используются
процедуры как
внутренние
так и внешние,
а также процедуры-функции.
Внутренняя
процедура
должна начинаться
командой PROCEDURE
и заканчиваться
командой RETURN.
Внешние процедуры
могут быть
объединены
в
prg-файл
и подключаются
командой SET
PROCEDURE TO .
Обращение
к процедуре
:
DO [WITH ]
[IN FILE ],
где
- список фактических
параметров.
Все входные
фактические
параметры перед
вызовом процедуры
должны быть
определены.
Формальные
параметры
описываются
в процедуре
командой
PARAMETERS.
Процедура-функция
начинается
командой FUNCTION
,
вырабатывает
в результате
своей работы
единственное
значение и
может непосредственно
использоваться
в других командах.
Процедура-функция
завершается
командой
RETURN
, где выражение
есть результат
функции.
Процедуры
В FoxPro
используются
процедуры как
внутренние
так и внешние,
а также процедуры
- функции.
Внутренняя
процедура
должна начинаться
командой PROCEDURE
и заканчиваться
командой RETURN.
Внешние процедуры
могут быть
объединены
в
prg-файл
и подключаются
командой SET
PROCEDURE
TO
. Обращение
к процедуре
:
DO
[WITH
]
[IN
FILE
]
Параметры
описываются
в процедуре
командой
PARAMETERS.
Процедура-функция
начинается
командой FUNCTION, вырабатывает
в результате
единственное
значение и
может непосредственно
использоваться
в других командах.
Завершается
командой
RETURN,
где выражение
есть результат
функции.
Параметры
процедур и
функций могут
изменяться
внутри них, но
для передачи
этих изменений
в вызывающую
программу
требуется
использовать
команду
Использование
процедур рассмотрим
далее в разделе
организации
меню.
ЗАДАНИЕ
1.
Приведенную
выше Программу
1, представьте
в виде ряда
процедур:
р21
- просмотр
данных по штатному
расписанию
(отношение
STATE)
р22
- поиск
данных по штатному
расписанию
р31
- просмотр
данных по списку
сотрудников
(отношение
SOTR)
р32
- поиск
данных по списку
сотрудников
р4
- совместный
просмотр двух
таблиц (состояние)
info
- заставка с
краткой информацией
(дополнительная
процедура).
Пример
1.
***********
поиск в таблице
Kadr
***********
PROCEDURE p21
SELECT a
CLEAR
с = 0
@
5, 10 SAY
'Введите табельный
номер: ' GET
с PICTURE
'###'
READ
@
6, 2 SAY
'Результат
поиска '
LOCATE ALL FOR tab = c
DO WHILE ! EOF( )
?
'должность
- ', dolg,
' оклад - ', zarp
CONTINUE
ENDDO
WAIT
'Продолжение
–
Enter ' WINDOW
CLEAR
RETURN
Пример
2.
*********
заставка
**************
PROCEDURE info
CLEAR
@
8, 15 ТО
20, 60 DOUBLE
&&
изображение
рамки
@
9, 25 SAY
'ШТАТНОЕ РАСПИСАНИЕ'
&&
вывод текста
@
12, 20 SAY
'Модель информационной
системы'
WAIT
'Продолжение
–
Enter ' WINDOW &&
пауза
CLEAR
RETURN
7.ОРГАНИЗАЦИЯ
МЕНЮ
Меню
являются основной
формой поддержания
диалога в
информационных
системах. Среда
FoxPro
обладает большим
набором средств
организации
световых и
клавишных меню.
Выделим две
основных технологии
построения
меню, которые
порождают «меню
- программы»
и «меню - объекты».
Меню-программа
является частью
программы,
где оно создается,
используется
и удаляется.
При этом вырабатываются
числовые переменные,
фиксирующие
выбор из меню,
которые анализируются
командами DO
CASE,
требуют использования
циклов DO
WHILE
и т.д. Рассмотрим
два типа таких
меню. Будем
использовать
приведенную
выше программу,
которую
предварительно
разобьем на
ряд процедур.
LIGHTBAR
- меню
строится
с использованием
команд:
@ Y,
X
PROMPT
[MESSAGE]
- выдает
в
позиции
Y,X
строку меню
и дополнительное
сообщение,
если
указано MESSAGE,
в строке заданной
командой
SET
MESSAGE .
MENU
TO
- запоминает
цифру, соответствующую
выбору.
PULLDOWN
- меню
(двухуровневое
меню) использует
команды
MENU
BAR
,
-
определяет
пункты горизонтального
BAR-меню,
задавая их как
элементы первого
столбца
двумерного
, во
второй столбец
заносятся
сообщения,
N-
общее число
пунктов меню.
MENU
,
,
- определяет
содержание
вспомогательного
вертикального
меню (POPUP-меню)
READ
MENU
BAR
TO
,
- активирует
меню.
Пример
1) **********
LIGHTBAR
МЕНЮ *******
SET TALK OFF
SET DATE BRITISH
USE KADR.DBF
DO WHILE .T.
CLEAR
P=1
@5,20 PROMPT
“Редактирование
данных ”
@7,20 PROMPT
“Поиск данных
”
@9,20 PROMPT
“Средняя заработная
плата ”
@11,20 PROMPT
“Конец работы
”
MENU
TO
P
DO
CASE
CASE
P=1
BROWSE
CASE
P=2
CLEAR
F=SPACE(20)
@
10,15 SAY “ Введите
ФИО
“ GET F
READ
LOCATE FOR
FIO = F
IF !FOUND( )
@
12,15 SAY
“Запись нe
найдена”
WAIT
EXIT
ELSE
DISPL
ENDIF
CASE P=3
CALCULATE
SUM(SRZAR) TO SUMM
SUMM =
SUMM/RECCOUNT( )
@ 12,15 SAY
STR(SUMM)
WAIT
CASE P=4
EXIT
ENDDO
CLOSE ALL
2)
********** PULLDOWN
МЕНЮ *******
SET
MESSAGE ТО
15
DIMENSION
a(5, 3) &&
задание
массива,
содержащего
а(1,
1) = 'Информация'
&&
тексты пунктов
горизонтального
меню
а(2, 1) = 'Штатное
расписание'
а(3, 1) = 'Список
сотрудников'
а(4, 1)
= 'Состояние'
а(5, 1) = 'Выход'
а(1, 2) = '
' &&
тексты сообщений
а(2, 2) =
'Работа с таблицей
должностей'
а(3, 2) =
'Работа с данными
о сотрудниках'
а(4, 2) =
'Совместный
просмотр штатного
расписания
и списка сотрудников'
а(5, 2) = '3авершение
работы'
DIMENSION
b(2)
&& задание
массивов для
вложенных меню
b(1)
= 'просмотр'
b(2)
= 'поиск'
DIMENSION
c(2)
с(1) = 'просмотр'
с(2) = 'поиск'
**
образ меню**
&&
определение
меню
MENU
BAR a, 5
MENU
2, b, 2
MENU
3, c, 2
g
= 1 &&
номер пункта
горизонтального
меню
v
= 1 &&
номер пункта
вложенного
меню
DO
WHILE .T.
CLEAR
READ
MENU BAR TO g, v &&
активация
меню
DO
CASE
&&
обработка
выбора
CASE g = 1
DO info
CASE g = 2 .AND. v = 1
DO p21
CASE g = 2 .AND. v = 2
DO p22
CASE
g = 3 .AND. v = 1
DO p31
CASE g = 3 .AND. v = 2
DO p32
CASE g = 4
DO p4
CASE g = 5
CANCEL
ENDCASE
ENDDO
Меню
- объекты являются
независимыми
объектами и
могут вызываться
из любого места
прикладной
системы. Обработка
выбора из меню
не требует
введения переменных
и организации
циклов, дает
возможность
создавать меню
из имен файлов
и обладает
другими преимуществами.
Рассмотрим
один из вариантов
меню такого
типа.
Вертикальное
POPUP
- меню
создается
с помощью следующих
команд.
DEFINE
РОРUР
-
определение
меню,
ON
SELECTION POPUP
-
реакция
на
выбор,
ACTIVATE
POPUP -
активация
меню.
3)
**********
POPUP
- меню
****************
CLEAR
DEFINE
POPUP
mmenu
MARGIN
&&
определение
главного меню
DEFINE
BAR
1 OF
mmenu
PROMPT
'Информация'
&& определение
пунктов
DEFINE
BAR 2
OF mmenu PROMPT 'Штатное
расписание'
DEFINE
BAR 3
OF mmenu PROMPT 'Список
сотрудников'
DEFINE
BAR 4
OF mmenu PROMPT 'Состояние'
DEFINE
BAR 5
OF mmenu PROMPT 'Выход'
ON
SELECTION BAR
5
OF mmenu DEACTIVATE POPUP &&
обработка
выбора
ON
SELECTION BAR
1
OF mmenu DO info
ON
SELECTION BAR
4
OF mmenu DO p4
ON
BAR 2
OF mmenu ACTIVATE POPUP ww
&&
выбор
вложенных
меню
ON
BAR 3
OF mmenu ACTIVATE POPUP ss
DEFINE
POPUP
ww
&&
определение
вложенных меню
DEFINE
BAR 1
OF ww PROMPT 'Просмотр'
DEFINE
BAR 2
OF ww PROMPT 'Поиск'
ON
SELECTION BAR
1
OF ww DO p21
ON
SELECTION BAR
2
OF ww DO p22
ON
SELECTION POPUP ww DO ww
DEFINE
POPUP ss
DEFINE
BAR 1 OF ss PROMPT 'Просмотр'
DEFINE
BAR 2
OF ss PROMPT 'Поиск'
ON
SELECTION BAR
1
OF ss DO p21
ON
SELECTION BAR
2
OF ss DO
p22
ON
SELECTION POPUP ss DO ss
ACTIVATE
POPUP mmenu
&&
активация
меню
ЗАДАНИЕ
Программу
1,
представленную
в виде ряда
процедур, дополните
организацией
МЕНЮ одного
из предложенных
типов. В приложении
дан полный
текст программы
с использованием
POPUP-меню для
выбора процедур.
8.ИЗОБРАЗИТЕЛЬНЫЕ
СРЕДСТВА
Из большого
списка возможностей
рассмотрим
лишь некоторые
1.
Построение
рамки
@
ТО [DOUBLE
/
PANEL
COLOR
/ COLOR SCHEME
В указанных
координатах
строится рамка,
ограниченная
двойной линией
(DOUBLE), с сплошным
заполнением
(PANEL) и желаемого
цвета.
2.
Управление
цветом
Обозначения
цветов:
|
| бирюзовый BG |
| ||||||
|
|
| красный
Обсуждение:
Название реферата: Билеты, решения и методичка по Информатике (2.0)
|