КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 11. Общиесведения ореляционноймодели данных. 2.Дана база данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. Работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Вывестиполя TAB, FIO, DATA, OBR первойзаписи в БД для работника,проработавшегона фирме неменее 10 лет. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника»Экзаменационныйбилет № 21.Структуракоманд СУБДFoxPro. 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Найтии вывести наэкран количествоработников,средняя зарплатакоторых неменее 250 грн. 3.Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 31. Созданиеи изменениеструктурыБД. Типы данных(типы полей). 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Найтии вывести наэкран количествоработниковфирмы, родившихсяпозднее 1954 года. 3.Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ по дисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 41.Средстваредактированияданных. КомандаBROWSE. Ключи и опциикоманды. 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Найтии вывести наэкран количествоработников(женщин), имеющихвысшее образование. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 51.Средства просмотрасодержимогоБД (DISPL, LIST, их отличие). 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Найтии вывести наэкран количествоработников(женщин), владеющихнавыками работына ПК. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 61.Средстваредактированияи добавленияновых записейв БД (EDIT, CHANGE и APPEND). 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Найтии вывести наэкран среднююзарплату дляработниковфирмы (женщин),имеющих 3-х иболее детей. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 71.ЛогическоеупорядочиваниеБД. Созданиеи использованиеиндексныхфайлов. 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Найтии вывести наэкран среднююзарплату нафирме. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 81.Последовательныйпоиск информациив БД (LOCATE, CONTINUE). 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Вывестив BROWSE-окне списокработниковсо стажем 10 лет.Предусмотретьвывод названиятаблицы изаголовковполей по-русски. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 91.Средства созданияи отладки программ(MODI COMM, DO). 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Найтии вывести наэкран «среднийстаж» работниковфирмы. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 101.Средстваалгоритмическогоязыка в FoxPro. Командыприсваиванияи STORE. Работа смассивами. 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Найтии вывести наэкран содержимоеполей FIO,DATA, SRZAR, COMP записи для самогомолодого работникафирмы. 3.Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 111.Средстваалгоритмическогоязыка FoxPro. КомандыIF и CASE. 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Вывестив BROWSE-окне списокработниковс высшим образованием.Предусмотретьвывод названиятаблицы изаголовковполей по-русски. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 121.Средстваалгоритмическогоязыка FoxPro. КомандыDO – WHILE, LOOP, EXIT. 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Написатьфрагментпрограммы,реализующейобработкуменю, котороесодержит следующиепункты: вводновой записив БД, просмотр,удаление, выход. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 131.Использованиевстроенныхфункций FoxPro. Функцииработы состроками. (LEN(),AT(), ALLTRIM(), SPACE() ). 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Найтии удалить(логически ифизически)из БД все записи,содержащихв поле датарождения ссылкуна 1966 год. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 311.Использованиевстроенныхфункций FoxPro. Функциипроверки файлови дисков (FILE( ), EOF ( ), FOUND ( ), RECNO ( ), RECCOUNT ( ) ) . 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Вывестив BROWSE-окне списоквсех работников,которые владеютиностраннымиязыками. Предусмотретьвывод названиятаблицы изаголовковполей по-русски. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 141.Изобразительныесредства FoxPro. 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Вывестив BROWSE-окне списокработников,владеющихнавыками работына ПК. Предусмотретьвывод названиятаблицы изаголовковполей по-русски,предусмотретьвидимый размерполя FIO – 15 символов. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 151.Команды перемещенияв БД. (GO TOP/BOTTOM, SKIP), привестипримеры. 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Определить,каков процентработниковфирмы не владеетиностраннымиязыками. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 161.Удаление записейв БД (логическоеи физическое). 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Определить,каков процентработниковфирмы владеетнавыками работына ПК. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 171.Средстваразработкименю (LIGHTBAR – меню). 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Найтии удалить(логически ифизически)из БД все записидля работников,не владеющихнавыками работана ПК. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 191.Структурапрограммы,реализующаяобработкуменю. 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Определить,каков процентработниковфирмы (женщин)достиг пенсионноговозраста. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 201.Неформатированныйввод/вывод,команды INPUT, ACCEPT,WAIT, «?». 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Определить,каков процентработниковфирмы получаетв месяц более500 грн. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 211.Средстваформатированноговвода/вывода.Команды @…SAY…GET.Использованиеих опций ишаблонов. 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК ОтобразитьсодержимоеБД по возрастаниюсреднемесячнойзарплаты. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 221.Команды установкиSET. (DATE, TALK, MESSAGE, FILTER, PROCEDURE). 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Вывести наэкран каждуючетную запись БД. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 231.Структураокна FoxPro. Работас окнами. Командыописания,активизации,перемещения. 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК ОтобразитьсодержимоеБД в алфавитномпорядке фамилийработников. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 241.Модульностьпрограмм.Последовательностьпоиска процедур. 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Вывестив BROWSE-окне списокработников(мужчин). Предусмотретьвывод названиятаблицы изаголовковполей по-русски. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ подисциплине:«Информатикаи компьютернаятехника» Экзаменационныйбилет № 251.Модульностьпрограмм. Работас процедурами.Описание ивызов процедурс параметрамии без параметров. 2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные: Названиеполя Тип Пояснение TAB numeric табельныйномер FIO character ФИО POL character пол DATA date датарождения OBR logical наличиевысшего образования LANG numeric кол-воин. языков, кот-мивлад. работник STAG numeric стажработы на фирме DETI numeric количестводетей SRZAR numeric среднемесячнаязарплата COMP logical знаниеПК Вывести наэкран каждуюпятую запись БД. 3. Задача Зав. кафедрой Преподаватель |
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ
КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ
подисциплине:«Информатикаи компьютернаятехника»
1. Работас несколькимиБД. Понятиерабочей области.Использованиепсевдонимов.Составное имяполя.
2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:
3. Задача
Зав. кафедрой Преподаватель
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ
КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ
подисциплине:«Информатикаи компьютернаятехника»
1. Типы бинарныхсвязей. Привестипримеры.
2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:
3. Задача
Зав. кафедрой Преподаватель
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ
КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ
подисциплине:«Информатикаи компьютернаятехника»
1. Пример программыработы с двумяБД (с использованиемокон).
2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:
3. Задача
Зав. кафедрой Преподаватель
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ
КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ
подисциплине:«Информатикаи компьютернаятехника»
1.Работа с фильтрами.
2. Данабаза данных(БД) о кадровомсоставе фирмы,которая содержитследующиеданные:
Названиеполя Тип Пояснение
TAB numeric табельныйномер
FIO character ФИО
POL character пол
DATA date датарождения
OBR logical наличиевысшего образования
LANG numeric кол-воин. языков, кот-мивлад. работник
STAG numeric стажработы на фирме
DETI numeric количестводетей
SRZAR numeric среднемесячнаязарплата
COMP logical знаниеПК
Определить,каков процентработниковфирмы имеетдетей.
3. Задача
Зав. кафедрой Преподаватель
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ
КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ
подисциплине:«Информатикаи компьютернаятехника»
1. Установлениесвязей 1:1 и 1:N вFoxPro.
2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:
3. Задача
Зав. кафедрой Преподаватель
КИЕВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ
КРЫМСКИЙ ЭКОНОМИЧЕСКИЙ ИНСТИТУТ
подисциплине:«Информатикаи компьютернаятехника»
1.Средства разработкименю (POPUP – меню).
2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:
3. Задача
Зав. кафедрой Преподаватель
2
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
2. Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:
Экзаменационныйбилет № 1 3.Вывести вBROWSE-окне списокработников,средняя зарплатакоторых находитсяв интервале[350;700). Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски.Создать вычисляемоеполе-nadbavka:4% от среднемесячнойзарплаты зазнание каждогоязыка. Оформитьзадачу в виде процедуры,обеспечитьее вызов. |
Экзаменационныйбилет № 2 3.Вывести вBROWSE-окне списокработников(женщин). Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски.Оформить ввиде процедуры,стаж работыдолжен бытьпараметромпри оформлениипроцедуры.Предусмотретьвызов процедуры. |
Экзаменационныйбилет № 3 3.Вывести вBROWSE-окне списокработников(женщин). Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски.Оформить ввиде процедуры,дату рожденияпередаватькак параметр. |
Экзаменационныйбилет № 4 3.Вывести вBROWSE-окне списокработников,имеющих 3-х иболее детей.Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски.Добавитьвычисляемоеполе-nadbavka:3% за каждогоребенка (отсредней зарплаты). |
Экзаменационныйбилет № 5 3.Вывести вBROWSE-окне списокработников,фамилии которыхначинаютсяна букву ‘Л’.Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски.Добавитьвычисляемоеполе для сотрудников,стаж работыкоторых более10 лет-надбавка-10%от среднейзарплаты. |
Экзаменационныйбилет № 6 3.Вывести вBROWSE-окне списокработников,работающихне менее 10 летна фирме. Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски.Добавитьвычисляемоеполе-субсидии,для этих сотрудников,которая начисляется,если средняязарплата меньше100-10 % от среднейзарплаты. |
Экзаменационныйбилет № 7 3.Вывести вBROWSE-окне списокработниковс высшим образованием.Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски,и вычисляемоеполе-надбавказа знание ПК-10%от среднейзарплаты. |
Экзаменационныйбилет № 8 3.Вывести вBROWSE-окне списокработников,владеющих неменее, чем двумяиностраннымиязыками. Предусмотретьвывод названиятаблицы изаголовковполей по-русски.Если работникпроработална фирме более15 лет, предусмотретьнадбавку вразмере 10 % отгодового оклада.Вывод спискаоформить ввиде процедуры.В качествепараметраиспользоватьзнание работникоминостранногоязыка |
Экзаменационныйбилет № 9 3.Вывести вBROWSE-окне списокработников(мужчин), достигшихпенсионноговозраста.Предусмотретьвывод названиятаблицы изаголовковполей по-русски.Оформить ввиде процедуры.Обеспечить вызов этойпроцедуры. |
Экзаменационныйбилет № 10 3.Вывести вBROWSE-окне списокработников(женщин), владеющихнавыками работына ПК. Предусмотретьвывод названиятаблицы изаголовковполей по-русски.Оформить ввиде процедуры,пол использоватькак параметрпри реализациипроцедуры.Предусмотретьвызов процедуры. |
Экзаменационныйбилет № 11 3.Вывести вBROWSE-окне списокработниковс высшим образованием,владеющихнавыками работына ПК. Предусмотретьвывод названиятаблицы изаголовковполей по-русски.Оформить ввиде процедуры,которая используетпол сотрудникав качествепараметра.Обеспечитьвызов процедурыдля пола «М»и «Ж». |
Экзаменационныйбилет № 12 3.Вывести вBROWSE-окне списокработниковсо стажем 10 лет,владеющихнавыками работына ПК. Предусмотретьвывод названиятаблицы изаголовковполей по-русски.Оформить решениев виде процедуры,стаж работыпредаватькак параметр.Предусмотретьвызов процедуры. |
Экзаменационныйбилет № 13 3. Вывестив BROWSE-окне списоквсех работников,которые владеютиностраннымиязыками. Сформироватьвычисляемоеполе NADBAVKA, в которомпредусмотретьвыплату премиальныхв размере 15% и30% от среднейзарплатыработникам,владеющим 2и более языкамисоответственно.Предусмотретьвывод названиятаблицы изаголовковполей по-русски. |
Экзаменационныйбилет № 14 3. Вывестив BROWSE-окне списоквсех работников,которые владеютиностраннымиязыками. Сформироватьвычисляемоеполе NADBAVKA, в которомпредусмотретьвыплату премиальныхв зависимостиот стажа работы:25 лет – 20% от среднейзарплаты.Предусмотретьвывод названиятаблицы изаголовковполей по-русски. |
Экзаменационныйбилет № 15 3. Вывестив BROWSE-окне списоквсех работников,которые владеютиностраннымиязыками. Сформироватьвычисляемоеполе SUBSIDIA,в которомпредусмотретьвыплату субсидийработникамв размере 15% отсредней зарплатыработникам,имеющим 3 и болеедетей. Предусмотретьвывод названиятаблицы изаголовковполей по-русски. |
Экзаменационныйбилет № 16 3. Найтии вывести наэкран содержимоеполей FIO,DATA, SRZAR, POL дляработника,дольше всехпроработавшегона фирме |
Экзаменационныйбилет № 17 3. Найтии удалить(логически ифизически)из БД все записидля работников,достигших 40лет. Оформитьв виде процедуры. |
Экзаменационныйбилет № 18 3. Найтии удалить(логически ифизически)из БД все записидля работников(мужчин), достигшихпенсионноговозраста. |
Экзаменационныйбилет № 19 3.Вывести вBROWSE-окне списокработниковсо стажем 10 лет,владеющихнавыками работына ПК. Предусмотретьвывод названиятаблицы изаголовковполей по-русски.Выводимые вBROWSE-окнеупорядочитьпо дате рождения,предварительноудалив записи,в которых возрастсотрудникаболее 50 лет. |
Экзаменационныйбилет № 20 3. Вывестив BROWSE-окне списокработниковс высшим образованием,владеющихнавыками работына ПК. Предусмотретьвывод названиятаблицы изаголовковполей по-русски.Выводимые вBROWSE-окнеупорядочитьпо дате рождения.Оформить ввиде процедуры,предусмотретьее вызов. |
Экзаменационныйбилет № 21 3. Вывестив BROWSE-окне списокработниковс высшим образованием.Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски.Выводимые вBROWSE-окнеупорядочитьпо табельномуномеру, предварительноудалив записисотрудниковпенсионноговозраста (женщин). |
Экзаменационныйбилет № 22 3. Вывестив BROWSE-окне списокработников(женщин), владеющихнавыками работына ПК. Предусмотретьвывод названиятаблицы изаголовковполей по-русски.Выводимые вBROWSE-окнеупорядочитьпо фамилии.Оформить ввиде процедуры,в которой полпередаетсякак параметр.Обеспечитьвызов процедуры. |
Экзаменационныйбилет № 23 3. Вывестив BROWSE-окне списокработниковс высшим образованием,владеющихнавыками работына ПК. Предусмотретьвывод названиятаблицы изаголовковполей по-русски.Выводимые вBROWSE-окнеупорядочитьпо полю«стаж».Оформить ввиде процедуры,предусмотретьвызов процедуры.В качествепараметраиспользоватьработниковс высшим образованием. |
Экзаменационныйбилет № 24 3. Вывестив BROWSE-окне списокработников,имеющих 3-х иболее детей.Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски.Выводимые вBROWSE-окнеупорядочитьпо полю «количестводетей». Добавитьвычисляемоеполе-надбавка:2 % от зарплатыза каждогоребенка. Оформитьв виде процедуры. |
Экзаменационныйбилет № 25 3. Вывестив BROWSE-окне списокработников,имеющих 3-х иболее детей.Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски.Выводимые вBROWSE-окнеупорядочитьпо дате рождения.Добавитьвычисляемоеполе-надбавка:15 % от зарплаты,если она меньше150. Оформить ввиде процедуры.Обеспечитьвызов процедуры. |
Экзаменационныйбилет № 26 3. Вывестив BROWSE-окне списокработников,имеющих 3-х иболее детей.Предусмотретьвывод названиятаблицы изаголовковполей базыданных по-русски.Выводимые вBROWSE-окнеупорядочитьпо дате рождения.Добавитьвычисляемоеполе – надбавка:3% за ребенка(каждого) отсредней зарплаты |
Экзаменационныйбилет № 27 3. Найтимаксимальноезначение издвух величин.Оформитьнахождениемаксимальногозначения ввиде функции.Написать фрагментпрограммы,реализующейвызов даннойфункции. |
Экзаменационныйбилет № 28 3.Найти минимальноезначение из2 величин. Оформитьнахождениеминимальногозначения ввиде функции. Написатьфрагментпрограммы,реализующейвызов даннойфункции. |
Экзаменационныйбилет № 29 3.Дано 2 переменных.Найти количествонулевых значений.Оформитьнахождениенулевых значенийв видефункции. Написатьфрагментпрограммы,реализующейвызов даннойфункции. |
Экзаменационныйбилет № 30 3.Дано 2 переменных.Найти количествоположительныхзначений. Оформитьнахождениеположительныхзначений ввидефункции.Написать фрагментпрограммы,реализующейвызов даннойфункции. |
Экзаменационныйбилет № 31 3.Дано 2 переменных.Найти количествоотрицательныхзначений. Оформитьнахождениеотрицательных значений ввиде функции.Написать фрагментпрограммы,реализующейвызов даннойфункции. |
Экзаменационныйбилет № 32 3.Дано 2 переменных.Найти количествозначений, меньших10 . Оформитьнахождениезначений, меньших10, в видефункции.Написать фрагментпрограммы,реализующейвызов даннойфункции. |
Экзаменационныйбилет № 33 3.Написать фрагментпрограммы,устанавливающуюсвязь одинко многим междудвумя базамиданных KADR1иKADR2 по полюTAB |
Экзаменационныйбилет № 34 3.Написать фрагментпрограммы,устанавливающуюсвязь один кодному междудвумя базамиданных BRIG1и BRIG2 по полюKOD |
Экзаменационныйбилет № 35 3.Создать справочниктоваров побазе данных SUPPLY. В справочникдолжны бытьвключены полякод_товара инаименование_товара. |
Экзаменационныйбилет № 36 3. Найтии вывести наэкран максимальнуюзарплату нафирме. |
1.СУБД FOXPRO: ОЗНАКОМЛЕНИЕС СИСТЕМОЙРАБОТА ВМЕНЮ-ОРИЕНТИРОВАННОМРЕЖИМЕ2
10.РАБОТА С НЕСКОЛЬКИМИБАЗАМИ ДАННЫХ16
ВВЕДЕНИЕ
Методическиеуказанияпредназначеныдля проведенияпрактическихи лабораторныхзанятий подисциплине«Информатикаи компьютернаятехника» длявсех форм обучения.В них краткоизложены технологииреляционныхСУБД, реализацияих средствамиСУБД FoxPro,а также даныпрактическиеприемы их реализации.Основное вниманиеуделено изложениюкоманд языкапрограммированиясреды FoxProс пояснениямина конкретныхпримерах изаданиях поосновным темам.
РЕЛЯЦИОННАЯ МОДЕЛЬ
Поспособу установлениясвязей междуданными различаютреляционную,иерархическуюи сетевуюмодели.
Реляционнаямодель являетсяудобной и наиболеепривычнойформой представленияданных в видетаблицы. Вматематическихдисциплинахтаблице соответствуеттермин отношение(relation). Отсюда ипроизошлоназвание модели– реляционная.
Однимиз основныхпреимуществреляционноймодели являетсяее однородность.Все данныерассматриваютсякак хранимыев таблицах, вкоторых каждаястрока имеетодин и тот жеформат. Каждаястрока в таблицепредставляетнекоторыйобъект реальногомира или соотношениемежду объектами.Пользовательмодели самдолжен для себярешить вопрос,обладают лисоответствующиесущности реальногомира однородностью.Этим самымрешается проблемапригодностимодели дляпредполагаемогоприменения.
Реляционнаямодель имеетдва главныхсвойства:
базовыепорции данныхпредставляютсобой отношения(relations);
операциинад таблицамизатрагиваюттолько соотношения(relation closure).
Соотношение– этоматематическаяконцепция,описывающая,как соотносятсямежду собойэлементы двухмножеств.
Модельпредъявляетк таблицамследующиетребования:
данныев ячейках таблицыдолжны бытьструктурнонеделимыми.Каждая ячейкаможет содержатьтолько однупорцию данных.Это свойствочасто определяетсякак принципинформационнойнеделимости.Недопустимо,чтобы в ячейкетаблицы реляционноймодели содержалосьболее однойпорции данных,что иногданазываетсяинформационнымкодированием.Примером служитидентификационныйномер автомобиля.Если записатьего в одну ячейку,то будет нарушенпринцип неделимостиинформации,поскольку вячейке окажутсяразделяемыеданные такие,как наименованиепроизводителя,модели, сведениео нахождениипредприятияи т.д.;
данныев одном столбцедолжны бытьодного типа;
каждыйстолбец долженбыть уникальным(недопустимыдублированиястолбцов);
столбцыразмещаютсяв произвольномпорядке;
строкиразмещаютсяв таблице такжев произвольномпорядке;
столбцыимеют уникальныенаименования.
Двафундаментальныхправила:правило целостностиобъектов(entity integrity rule) и правило ссылочнойцелостности (referentialintegrity rule).
Первичныйключ– этостолбец илинекотороеподмножествостолбцов, которыеуникально, т.е.единственнымобразом определяетстроки. Первичныйключ, которыйвключает болееодного столбца,называетсямножественнымили комбинированнымили составным.Остальныеключи, которыеможно такжеиспользоватьв качествепервичных,называютсяпотенциальнымиили альтернативнымиключами.
Внешнийключ– этостолбец илиподмножествоодной таблицы,который можетслужит в качествепервичногоключа для другойтаблицы. Внешнийключ таблицы являетсяссылкой напервичный ключдругой таблицы.Правило целостностиобъектов утверждает,что первичныйключ не можетбыть полностьюили частичнопустым, т.е. иметьзначение null.Правило ссылочнойцелостностигласит, чтовнешний ключможет быть либопустым, либосоответствоватьзначению первичногоключа, на которыйон ссылается.
Формальноеопределениеследующее:
СхемойотношенияR называетсяконечное множествоимен атрибутов{A
,A ,…,A }.Каждому имениатрибута A ставится всоответствиемножество D ,называемоедоменоматрибутаA ,1обозначаетсятакже dom(A ).Имена атрибутовиногданазываютсясимволамиатрибутовили простоатрибутами.Домены являютсяпроизвольныминепустымиконечными илисчетными множествами.Пусть D=D D … D .Отношениеr сосхемой R – этоконечное множествоотображений{t
,t ,…,t }из R в D; причемкаждое отображениеt rдолжно удовлетворятьследующемуограничению:t(A ) принадлежит D ,1кортежами.Семействосистем управлениябазами данныхFoxPro,является продуктомизвестной фирмыFoxSoftwareи имеет широкуюпопулярностьво всем мире.В настоящемпособии рассматриваетсяверсия FoxPro2.6(нерусифицированная),работающаяпод управлениемWindows.
ТИПЫДАННЫХ
Visual FoxPro 6.0 типыданных
Тип | Описание | Размер | Диапозон |
Character | Любойтекст | 1byte per character to 254 | Любойсимвол |
Currency | Monetaryamounts (денежно-кредитныеколичества) | 8bytes | -922337203685477.5807 to 922337203685477.5807 |
Date | Хронологическиеданные, состоящиеиз месяца, года,и дня | 8bytes | Whenusing strict date formats, {^0001-01-01}, January 1st, 1 A.D to{^9999-12-31}, December 31st, 9999 A.D. |
DateTime | Хронологическиеданные, состоящиеиз месяца, года,дня, и времени | 8bytes | Whenusing strict date formats, {^0001-01-01}, January 1st, 1 A.D to{^9999-12-31}, December 31st, 9999 A.D., plus 00:00:00 a.m. to11:59:59 p.m. |
Logical | Booleanзначения true илиfalse | 1byte | True(.T.) or False (.F.) |
Numeric | Integersor fractions(Целыечислаилифракции(доли)) | 8bytes in memory; | -.9999999999E+19 to .9999999999E+20 |
Variant | Avariant can contain any of the Visual FoxPro data types and thenull value. Once a value is stored to a variant, the variantasosumes the data type of the data it contains. Variants aredesignated with an eprefix in language syntax (ВариантможетсодержатьлюбойизВизуальныхFoxPro типовданныхинулевое(пустое)значение). | Seedata types above. См.типы данныхвыше. | Seedata types above. См.типы данныхвыше. |
В средеFoxPro установленыследующиестандартныетипы файлов(всегосвыше60, приводятсялишь некоторые):
.dbf - файл базыданных;
.fpt - файл для хранениятекстов memo- полей;
.idx - индексныйфайл;
.cdx -мультииндексныйфайл;
.prg - командный,программныйфайл;
.mem - файл для хранениявременныхпеременных;
.fxp - откомпилированныйкомадныйprg- файл;
.pjx - файл проекта.
Работав среде FoxProвыполняетсяв одном из следующихрежимов:
-непосредственнаяинтерпретациякоманд;
-меню - ориентированныйрежим;
выполнениепрограмм.
Приработе в первомрежиме пользовательвводит тексткоманды в командном окне. Средаосуществляетсинтаксическийконтроль ивыполняеткоманду. Некоторыекоманды в процессе выполненияпроводят собственныйдиалог с пользователем,другие могутвыдавать лишькраткие сообщенияоб итогахработы.Второйрежим предназначендля начинающегопользователя,который неосвоил ещеязыка команд. Наконец, режимвыполненияпрограммподразумевает,что пользовательбудет писатьпрограммы,используя языккоманд xBase, дополненныйспециальнымикомандамипрограммирования.Весь цикл понаписанию,отладке и выполнениюпрограмм можноосуществлятьв среде системы.
МЕНЮ -ОРИЕНТИРОВАННЫЙРЕЖИМ.
РабочеепространствоFoxPro представленоокном, верхняястрока которогоявляется строкойглавного менюсистемы. Подней- рабочаязона пользователя.В рабочемпространствеоткрыто такжекомандное окно,размер и положениекоторого можноизменять либоудалить.
Активизациястроки менюF10
Выборзаголовка меню клавишиуправлениякурсором
Вход вменю следующегоуровняEnter
ОтменаEsc
ЗаклавишамиF1-F10 закрепленыстандартныедирективы,назначениеклавиш можнопереопределить.
Горячиеклавиши (например,CTRL+F2 -активизациякомандногоокна, CTRL+D- выполнениепрограмм)
Главноеменю состоитиз заголовковгрупп операцийи команд:
Для FoxPro 2.6 системноеменю выглядитследующимобразом
Каждойгруппе соответствуетменю второгоуровня- менюопераций идиректив, некоторыеиз них открываютсвои диалоговыеокна. Перемещениявнутри окон– клавишами управлениякурсором, пополям окон- Tab.В диалогахиспользуютсякомандные"кнопки", изображенныена экране. Кним относятся, например. Ok(подтверждениеустановок). Cancel (отменаустановок).Save (сохранение)и многие другие.Недоступныепункты главногоменю и директивыимеют пониженнуюяркость.
Рассмотримнекоторыепункты главногоменю.
System-меню–вспомогательные средства FoxPro,
в томчисле:
AboutFoxPro - предъявлениефирменногознака.
Help -помощь. Просмотри выбор вариантапомощи–
клавиши управлениякурсором.
Входв следующееменю- Enter.Перемещение–
клавишиуправлениякурсором.
Контекстная помощь вызывается из любого
режима- F1.
Macros-закреплениемакрокомандза клавишамиF1 - F10.
Filer-менеджер файлов- выполняетфункции управления
файлами.
Выборполей- Tab. Левоеполе- просмотрфайлов
(скроллинг).
Правоеполе- выборнакопителя,каталога,
маркировка.Нижнее поле-манипуляцияфайлами.
Calculator -вызов калькулятора.
Calendar-Diary-вызов календарядля внесениязаписей. Левоеполе–
выбордня (по стрелкам),месяца (PgUp, PgDn), года
(Shift +PgUp,Shift+PgDn), текущая дата- Т. Правое
поле- длязаписей (Вход- Tab, Выход-Shift Tab).
SpecialCharacters-таблица символовпсевдографики.
ASCII Chart-таблицаASCII-кодов.
Capture-взятие в буферзаданной областиэкрана.
Puzzle -игра
File-меню:
New-создание
Open-открытие
Close-закрытие
Save-сохранение
Save as-сохранениес новым именем
Revert-возврат предыдущейверсии файла
Printer Setup-установкипринтера
Print-печать файла
Quit-выход
Присоздании новогофайла (New) пользователюпредлагаетсявыбрать типсоздаваемогофайла: базыданных, программный,текстовый,индексный,генератораотчетов илидр. Выбранныйтип получаетпометку(•) .
Edit –меню– встроенный текстовыйредактор системы.
Undo-отмена последнегодействия,
Redo-повторениеотмененногодействия,
Cut-вырезка частитекста в буфер,
Сoру-копированиечасти текстав буфер,
Paste-вывод содержимогобуфера в текст,
Clear-очистка частитекста,
Select All-выделение всеготекста окна,
Goto Line-переход к строке,
Find-поиск заданногофрагментатекста,
Find Again-поиск следующеговхождения,
Replace and FindAgain-последовательныйпоиск с заменой,
Replace All-полная заменавсех вхождений,
Preference-настройкаредактора.
Database–меню– работа с данными,хранимыми вБД
Setup-модификациябаз данных,индексов, фильтров,
Browse-вызов командыполноэкранногоредактирования,
Append From-добавлениезаписей издругих БД илифайлов,
Copy То-копированиев другие БД илифайлы,
Sort-сортировказаписей,
Total-создание БДс суммами позаданномупризнаку,
Average-среднее арифметическоечисловых полей,
Count-подсчет записейс указаннымпризнаком,
Sum-суммированиечисловых полей,
Calculate-вычисленияв БД,
Report-подключениеранее созданнойформы отчета,
Pack-физическоеудаление помеченныхполей,
Reindex-переиндексированиебазы.
Record-меню– работа с записямифайлов БД
Delete -пометка записейдля удаления,
Recall-снятие пометокдля удаления.
Program –меню– средстваработы с программами
Do - выборкомандногофайла и исполнение,
Cancel - прерываниепрограммы,
Resume -продолжениепрограммы,
Compile -переход в окнокомпиляции,
Generate -вызов генератораприложений,
FoxDoc -вызов документаторапрограмм,
FoxGraph -вызов графическогопакета.
Window-меню–работа с окнами
Hide - удалениекомандногоокна с экрана,
Clear - очистка рабочегополя,
Move - перемещениекомандногоокна,
Size, Zoom - изменениеразмера командногоокна,
Cycle - циклическоепереключениеактивных окон,
Color - выборцветовой схемы,
Command -активизациякомандногоокна,
Debug - вызовотладочногоокна,
Trace - трассировкапрограмм,
View - переходв View
Подробнуюинформациюо работе в меню- ориентированномрежиме можнополучить изконтекстнойпомощи (Help- F1).
Ввод,редактирование,удаление, поиск,просмотр данныхможно выполнитьдля открытойвView-окнебазы данныхс помощью командRecord-менюиз главногоменю:
диалоговомокне с помощьюселекторныхкнопок:
-к первой записи,
окнередакторавыражений;
КомандыRecord-менюне затрагиваютфизическойструктуры базыданных. Замечание:В открытомBrowse-окнеудобно использоватькомбинацииклавиш:
^ N -дополнение,^Т -пометка к удалению,^W- выход с сохранениемизменений.
Команды Database-меню дают следующиевозможности:
- сжатие данных,удаление помеченныхзаписей.
другойфайл данных.
Дополнительныевозможностиработы с даннымив меню— ориентированномрежиме можноосвоить с помощьюHelp-меню.
Болееширокий кругвозможностейработы с созданнойбазой данных, удовлетворяющихвсем информационным потребностямпользователя,обеспечиваетпокомандныйрежим работы(набор командвCommand-окне)либо программныйрежим (созданиекомандныхprg-файлов).
В настоящемразделе приводитсякраткое описаниеосновных командязыка программированиясреды FoxPro, которыеможно задаватьнепосредственнов Command- окне либоиспользоватьв тексте программ.Получениекомандные файлывыполняютсяв режиме интерпретации.Продуктивноеосвоение языкавозможно толькопри практическойпроработкематериала накомпьютере.
Форматкоманды FOXPRO:
ИМЯ_КОМАНДЫ [] [
[FОR][WHILE]
Здесь - границы действиякоманды:
ALL - всезаписи;
REST - всезаписи от текущейдо конца;
NEXT
RECORD
FОR -выполнениекоманды толькодля записей,
удовлетворяющихусловию;
WHILE - выполнениекоманды толькодо тех пор, покане
перестанетвыполнятьсяусловие.
Пример:
LIST ALL FIELDS num, name FORname = 'A'
Длядлинных записейкоманд используетсясимвол переносана следующуюстроку - ";".
КОМАНДЫУСТАНОВКИ
Кромеприведенныхвыше командв FOXPRO имеетсябольшой класскоманд, называемыхкомандамиустановки. Онине выполняюткаких-либодействий, новлияют на работудругих команд.
Имеетсядва типа командустановки:
SET ON|OFF
SET TO
ON|OFF– означает,что установкалибо включена,т.е. работает,
либовыключена.
Примеры:
SET TALK OFF– погашениявывода служебных
сообщенийо работе командна экран;
SETPROCEDURE 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 знаниеПК
MODIFYSTRUCTURE -изменениеструктурыоткрытой БД.
При вызовеэтих командсреда открываетдиалог, предоставляяэкран-формудля ввода данныхо структуресоздаваемогофайла базыданных.
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-одна текущаязапись.
Примеры:
DISPLAYREST FOF fio= ’И’
LIST'фамилия', fio FOR dolg = "инженер"
Удалениеданных
ERASE- удаление закрытогофайла;
ZAP - удалениевсех записейс сохранениемструктуры;
DELETE[] [WHILE] [FOR] - пометка к удалениюили логическоеудаление записей;
PACK - физическоеудаление, помеченных к удалениюзаписей;
RECALL [][WHILE] [FOR] - снятиепометок к удалению;
Замечание.помеченные к удалениюзаписи остаютсяв БД, однакоони могут необрабатыватьсядругими командами,если была выполненаустановка
SETDELETE ON.
Выполнениекоманды PACK приводит кфизическомууничтожениюзаписей,
БДпри этом сжимается.
Фильтрацияданных
SETFILTERТО []- установкаFOR-условия длявсех командобработкиданных (остальныеданные недоступны).
SETFILTERTOбезпараметра- отменяетограничения.
Пример:
Изменениеданных
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
DOWHILE! EOF()&&пока не достигнутконец файладанных
? FIO
CONTINUE
ENDDO
Перечисленныекоманды могутбыть выполненыпутем выбораиз в системномменю или непосредственнымнабором вCommand-окне.Наряду с другимикомандами исредствамипрограммирования,приводимымидалее, они могутиспользоватьсятакже в текстахпрограмм.
Командныефайлы представляютсобой исходныетексты программи имеют тип.prg.Они создаютсяс помощью встроенногоредактораFoxPro ,вызываемогокомандой
MODIFYCOMMAND
Покоманде MODI COMM (допустимоесокращение)без указанияимени по умолчаниюсоздаетсяprg-файлбез имени. Присвоитьимя следуетпри первомсохранениитекста программы.Удобно использоватькомбинациюклавиш^Wдля сохранениятекста программы.Для редактированияранее созданнойпрограммыиспользуюткоманду
MODI СОММ .
Для запускапрограмм используетсякоманда
DO
Созданнаяпрограммавыполняетсяв режиме интерпретации. Приобнаруженииошибки выполнениепрерываетсяи комментируетсясообщением.
Пример.Приводитсятекст программы,предназначеннойдля отображения всех записейБД, содержащихинформациюо сотрудниках, получающихзарплату меньше200.
SET TALK OFF
SET DATE BRITISH
USE KADR
LOCATE FOR Zarp
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
[window][NOWAIT]
[VALID[F:]
[COLORSCHEME/ COLOR]
Действиенекоторых опциикоманды.
1.Выбор полей
FIELDS- переченьполей (по умолчанию- все).
Ключи:
:R - разрешентолько просмотрполя;
: - видимый размерполя;
:У=- контроль выходаиз поля;
:F - проверкавводимых исуществующихданных;
:Е=- выдача собственногосообщения;
:Р=- задание форматаотображенияданных по шаблону;
:Н=- указаниесобственногозаголовка поля;
:В=,[:Е]- указание границчисел или дат;
:W=- контроль входав поле.
В списокполей могутвключатьсятак называемыевычисляемыеполя, которыеявляются функциямидругих полейили переменных.
2. Отборданных
FОR-устанавливаетфильтр длязаписей; выводятсятолько
записи,удовлетворяющие;
REST-предотвращаетповторный поисксначала;
КЕУ[,] -ограничениедействия командыдиапазоном
ключевоговыраженияактивногоиндексногофайла
З. Разделениеокна
LOCKBROWSE-окно делитсяна две части,где первыеполей
дублируютсяв левой частиокна (переход^Н);
PARTITION-то же, но границапроходит пополю
LEDIT/REDIT-действуюттолько в разделенномокне и задают
формупредставленияданных (формуляр);
LPARTITION-курсор устанавливаетсяв левой половинеокна;
NOLINK-несинхронноеперемещениевидимых записей;
NOLGRID/NORGRID-удаляет вертикальныелинии разделителиполей.
4.Контрольредактированиязаписей
VALID[ERROR]-анализируетусловия длятекущей записи;
WHEN-определяетвозможностьдоступа к записи;
NOAPPEND-дополнениепо Ctrl-Nневозможно;
NOEDIT/NOMODIFY-редактированиеневозможно;
NODELETE-редактированиеневозможно;
FREEZE-единственноедоступное поле.
5.КонфигурированиеBROWSE-окна
LAST-сохранениеконфигурации;
PREFERENCEFORMAT-использованиеформатногофайла;
NOCLEAR-после выходаокно не удаляется;
NOMENU-подавляет выводсистемногоменю;
TIMEOUT-время работыс окном;
TITLE-заголовок окна;
WINDOW-позволяетоткрыть другоеокно.
Пример:
Settalk off
setdate British
usekadr.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
closeall
Средстванеформатированного ввода/вывода
Командавывода ? / ??
? /?? [][АТ][,...]
Команда? выводит выражения[] …[,]с новой строки,
??- в текущейстроке; 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]
[COLORSCHEME/COLOR]]
ЗдесьY,X -пара чисел илипеременных,определяющихномер строкии столбца. Команда@
Параметрыкоманды
@ Y,X SAY-выдает с заданнойпозиции любого
типа(поля БД, переменныеи пр.); в сложном
выраженииэлементы соединяютсязнаком "+";
@ Y,X GET-с заданнойпозиции выдаетсяпеременнаяили
поле записис возможностьюредактирования
(переменнаяуже должнасуществовать);
DEFAULT - действуеттолько приработе с переменными;
задаетвыражение поумолчанию ипредъявляетк
редактированию;
ENABLE/DISABLE -разрешает/запрещаетдоступ кget-полю;
MESSAGE -для данногополя выдаетпояснение встроке
выводасообщений;
RANGE- контролируетдиапазон значений;
SIZE- определяетобласть, отводимуюпод
редактирование;
VALID... -логическийконтроль ввода;
WHEN- входв редактируемоеполе допускаетсятолько при
истинностивыражения;
[OPEN]WINDOW
COLOR SCHEME/COLOR-определяет
раскраскуполей ввода-вывода.
Возможносоединениефраз SAYи GET в одной команде.При этом GET осуществляет предъявление и возможность редактирования.После командыили группыкоманд GET должнаобязательноследоватькоманда READ. Этакоманда приостанавливаетвыполнениепрограммы дозаполнениявсех GET -полейи присваиваетсоответствующиезначения переменнымили полям базыданных.
Примеры:
1) В 10строке, 15 колонкевывести текст 'ЗАРПЛАТА- ', в этой же строкеобеспечитьполе ввода дляпеременнойи контроль заправильностьюввода (введенноезначение должнонаходится винтервале[100.00,1778.00] ).
X= 100.00
@10,15 SAY 'ЗАРПЛАТА- ' GET X RANGE100.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
Приведенныевыше командыотносятся кязыковым средствамопределенияданных и манипулированияданными. Нарядус ними языкпрограммированиясреды FoxPro обладаетприсущимиязыкам высокогоуровня возможностями,такими какиспользованиепеременныхи массивов,организацияветвлений ициклов, созданиепроцедур идругими.
ПЕРЕМЕННЫЕ
В FoxProразрешаетсяиметь переменныетех же типов,что и поля таблицБД (кроме мемо). Тип переменнойопределяетсятипом последнегоприсваиваемогоей выражения.
Командаприсваивания:
= или
STORE ТО
Примеры:
a = b^2 + 2*c – 3*a
STORE 0 ТО a,b,c –присвоениенулевого значенияпеременнымa,b,c
МАССИВЫПЕРЕМЕННЫХ
Разрешенаработа с одномернымии двумернымимассивамипеременных.
Описаниемассивов выполняеткоманда:
DECLARE/ DIMENSION([,]).
Пример:
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
CLEAR
INPUT “Введите X” TO X
DO CASE
CASE X
Y = -2*X^2+5*X
CASE X>=0 AND X
Y = 15 –2*X^2
CASE X>=5
Y =ABS(12*X – SIN(12))
ENDCASE
? "Y = " ,Y
CLOSE ALL
ОРГАНИЗАЦИЯЦИКЛОВ
Циклс условием
DO WHILE Выход из цикла- EXIT
Возврат кначалу цикла- LOOP
ENDDO
Циклвида DOWHILE .T. ENDDOприменяетсякак операторныескобки.
Циклс параметром
FOR = ТО [STEP ]
ENDFOR
ЦИКЛСКАНИРОВАНИЯ
SCAN [][FOR][WHILE] ENDSCAN - применяетсядля перемещенияв базе данныхи выполнениякоманд
длякаждой записи,отвечающейусловиям.
Примеры:
Приводятсяфрагментыпрограмм поискав БД Kadr всех записей
с фамилиейна букву 'И'.
1)USE Kadr 2)USE Kadr
LOCATEFOR fio = 'И' SCAN FOR fio= 'И'
DOWHILE!EOF( )
ENDSCAN
CONTINUE
ENDDO
ПРОЦЕДУРЫ
В FoxProиспользуютсяпроцедуры каквнутренниетак и внешние,а также процедуры-функции.Внутренняяпроцедурадолжна начинатьсякомандой PROCEDURE и заканчиватьсякомандой RETURN.Внешние процедурымогут бытьобъединенывprg-файли подключаютсякомандой SETPROCEDURE TO .
Обращениек процедуре:
DO [WITH ][IN FILE ],где - список фактическихпараметров.Все входныефактическиепараметры передвызовом процедурыдолжны бытьопределены.
Формальныепараметрыописываютсяв процедурекомандой PARAMETERS.
Процедура-функцияначинаетсякомандой FUNCTION,вырабатываетв результатесвоей работыединственноезначение иможет непосредственноиспользоваться в других командах. Процедура-функциязавершается командой
RETURN , где выражениеесть результатфункции.
Процедуры
В FoxProиспользуютсяпроцедуры каквнутренниетак и внешние,а также процедуры- функции.Внутренняяпроцедурадолжна начинатьсякомандой PROCEDURE и заканчиватьсякомандой RETURN.Внешние процедурымогут бытьобъединенывprg-файли подключаютсякомандой SETPROCEDURETO. Обращениек процедуре:
DO [WITH][INFILE]
Параметрыописываютсяв процедурекомандой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
Менюявляются основнойформой поддержаниядиалога винформационныхсистемах. СредаFoxProобладает большимнабором средстворганизациисветовых иклавишных меню.Выделим двеосновных технологиипостроенияменю, которыепорождают «меню- программы»и «меню - объекты».
Меню-программаявляется частьюпрограммы,где оно создается,используетсяи удаляется.При этом вырабатываютсячисловые переменные,фиксирующиевыбор из меню,которые анализируютсякомандами DOCASE,требуют использованияциклов DOWHILEи т.д. Рассмотримдва типа такихменю. Будемиспользоватьприведеннуювыше программу,которуюпредварительноразобьем наряд процедур.
LIGHTBAR- меню строитсяс использованиемкоманд:
@ Y,X PROMPT[MESSAGE]- выдаетв
позицииY,Xстроку менюи дополнительноесообщение,
еслиуказано MESSAGE,в строке заданнойкомандой
SET MESSAGE
MENUTO- запоминаетцифру, соответствующуювыбору.
PULLDOWN- меню(двухуровневоеменю) используеткоманды
MENUBAR,
BAR-меню,задавая их какэлементы первогостолбца
двумерного, вовторой столбецзаносятся
сообщения,N-общее числопунктов меню.
MENU,, - определяетсодержание
вспомогательноговертикальногоменю (POPUP-меню)
READMENUBARTO,- активируетменю.
Пример
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 “Конец работы ”
MENUTOP
DOCASE
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
DIMENSIONa(5, 3) &&заданиемассива,содержащего
а(1,1) = 'Информация'&&тексты пунктовгоризонтальногоменю
а(2, 1) = 'Штатноерасписание'
а(3, 1) = 'Списоксотрудников'
а(4, 1)= 'Состояние'
а(5, 1) = 'Выход'
а(1, 2) = ''&&тексты сообщений
а(2, 2) ='Работа с таблицейдолжностей'
а(3, 2) ='Работа с даннымио сотрудниках'
а(4, 2) ='Совместныйпросмотр штатногорасписанияи списка сотрудников'а(5, 2) = '3авершениеработы'
DIMENSIONb(2) && заданиемассивов длявложенных меню
b(1)= 'просмотр'
b(2)= 'поиск'
DIMENSIONc(2)
с(1) = 'просмотр'
с(2) = 'поиск'
**образ меню**&&определениеменю
MENUBAR a, 5
MENU2, b, 2
MENU3, c, 2
g= 1 &&номер пунктагоризонтальногоменю
v= 1 &&номер пунктавложенногоменю
DOWHILE .T.
CLEAR
READ MENU BAR TO g, v &&активацияменю
DOCASE&&обработкавыбора
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Р-определениеменю,
ONSELECTION POPUP-реакциянавыбор,
ACTIVATEPOPUP -активацияменю.
3)**********POPUP- меню****************
CLEAR
DEFINE POPUPmmenuMARGIN &&определениеглавного меню
DEFINEBAR1 OFmmenuPROMPT'Информация'&& определениепунктов
DEFINEBAR 2OF mmenu PROMPT 'Штатноерасписание'
DEFINEBAR 3OF mmenu PROMPT 'Списоксотрудников'
DEFINEBAR 4OF mmenu PROMPT 'Состояние'
DEFINEBAR 5OF mmenu PROMPT 'Выход'
ONSELECTION BAR5OF mmenu DEACTIVATE POPUP &&обработкавыбора
ONSELECTION BAR1OF mmenu DO info
ONSELECTION BAR4OF mmenu DO p4
ONBAR 2OF mmenu ACTIVATE POPUP ww &&выборвложенныхменю
ONBAR 3OF mmenu ACTIVATE POPUP ss
DEFINEPOPUPww &&определениевложенных меню
DEFINEBAR 1OF ww PROMPT 'Просмотр'
DEFINEBAR 2OF ww PROMPT 'Поиск'
ONSELECTION BAR1 OF ww DO p21
ONSELECTION BAR2OF ww DO p22
ONSELECTION POPUP ww DO ww
DEFINEPOPUP ss
DEFINEBAR 1 OF ss PROMPT 'Просмотр'
DEFINEBAR 2OF ss PROMPT 'Поиск'
ONSELECTION BAR1OF ss DO p21
ONSELECTION BAR2OF ss DOp22
ONSELECTION POPUP ss DO ss
ACTIVATEPOPUP mmenu &&активацияменю
ЗАДАНИЕ
Программу1,представленнуюв виде рядапроцедур, дополнитеорганизациейМЕНЮ одногоиз предложенныхтипов. В приложениидан полныйтекст программыс использованиемPOPUP-меню длявыбора процедур.
Из большогосписка возможностейрассмотримлишь некоторые
1.Построениерамки
@
COLOR / COLOR SCHEME
В указанныхкоординатахстроится рамка,ограниченнаядвойной линией(DOUBLE), с сплошнымзаполнением(PANEL) и желаемогоцвета.
2.Управлениецветом
Обозначенияцветов:
черныйN | желтыйGR+ | бирюзовыйBG | коричневый GR |
белыйW | зеленыйG | лиловыйRB | красный |
Команда
SET COLOR TO [[,][,] [,]]
-устанавливаетцвета для основноготекста, длявывода сообщений,
рамкиза пределамииспользуемойобласти и фонадля основныхи
дополнительныхсообщений. Цветтекста и цветфона под ним
образуютцветовуюпару (например,W/B или R+/ GR).
Цветовуюсхемуможно определитьв диалоге исохранить вспециальномфайле и командойSET COLOR OF SCHEME TO[]/[SCHEME
В FoxProдопускаетсяработа сразусо многимибазами данных,и при этом можноустанавливатьмежду нимиразнообразныесвязи, которыепозволяютсинхронноперемещатьуказателизаписей в такихсвязанныхбазах. База, вкоторой указательдвижется произвольно,считаетсястаршей, а база(базы), в которойуказательследует зауказателемстаршей базы,- младший. В старшейи младших базахдолжны бытьсовпадающиеполя. Допускаетсясцепление однойбазы с несколькимидругими. Младшиебазы, в своюочередь, могутбыть связаныс базами следующегоуровня и т.д.
Возможноустановлениедвух типовсвязей междузаписями двухсцепленныхбаз данных.Связь типа одна_запись-к-одной перемещаетуказатель вмладшей базетаким образом,что он всегдаустанавливаетсяна первую встреченнуюим запись ссовпадающимпризнаком.Остальные такиезаписи (еслиесть) остаются«не замеченными».Эта связьустанавливаетсякомандой SETRELATION.Связь типа одна_запись-ко-многим позволяетобратитьсяко всем записяммладшей базыс совпадающимпризнаком(команды SETRELATION и SETSKIPTO).
ПОНЯТИЕО РАБОЧИХ ОБЛАСТЯХ
В FoxProобрабатыватьсразу несколькофайлов базданных (до 25).Каждый такойфайл типа DBFи все вспомогательныефайлы (например,индексные)открываютсяв своей отдельнойрабочей области.Переход изобласти в областьосуществляетсякомандой:
SELECT
Первыедесять рабочихобластейидентифицируютсяномерами 1-10 илибуквами A– J.Области с 11-йпо 25-ю обозначаютсяномерами илибуквенно-цифровымиименами W11– W25.Если в качествепараметрауказать цифру0, произойдетпереход в первуюсвободнуюрабочую область.Кроме того,рабочие областии файлы базыданных могутидентифицироватьсятак называемымипсевдонимами.Псевдонимомобласти поумолчаниюявляется самоимя находящегосяв ней файлабазы данных.
Область,в которой вданный моментработаетпользователь,называетсяактивной рабочейобластью, и вней можно работатьс находящейсяздесь базойданных. В однойкоманде можноработать сполями другихбаз (открытыхв других областях).В этом случаеимя поля изнеактивнойбазы – составное:имени поляпредшествуетимя рабочейобласти илипсевдоним,разделенныезнаком «точка»:
рабочая область/ псевдоним> .имяполя>
Рабочаяобласть в составномимени указываетсялюбым разрешеннымобразом (буквой,именем ее базыданных, псевдонимом),но не номером.Номер можетбыть указанв команде SELECTи в функциях.
Привходе в СУБДактивизируетсяобласть 1 (илиА), и, если пользовательработает толькос одной базой,заботитьсяоб открытииобластей ненужно.
Вкоманде USEможно одновременноуказывать иобласть, в которойоткрываетсябаза. Пример:
USE delivery IN b.
Однакопереход в указаннуюобласть с помощьютакой командыне происходит(для переходанеобходимовоспользоватьсякомандой SELECT).
ПРИМЕРРАБОТЫ С НЕСКОЛЬКИМИБАЗАМИ ДАННЫХ
ВНЕСКОЛЬКИХОБЛАСТЯХ
Вприведеннойниже программеприводитсяпример работыс двумя базамиданных, базойПоставщик(Delivery)и базой Поставка(Supply).Структура бази назначениеполей приводитсяв Приложении№ 3. Данная программапозволяет повведенномукоду товаранайти всехпоставщиков,поставляющихданный товар.
CLEAR
SETTALK OFF
SETEXACT OFF
SELEA
USESupply
KOD=0
@1,2 SAY 'Введитекодтовара'GET KOD PICTURE'#####'
READ
LOCATEFOR indgoods = kod
IF!FOUND()
WAIT'Такого коданет'
RETURN
ENDIF
ind=inddel
SELEB
USEDelivery
LOCATEFOR inddel=ind
IF!FOUND ()
WAIT 'Такого поставщиканет'
RETURN
ENDIF
DISPLnamedel, count, tel, A.namgoods, A.pricegds
CLOSEALL
Связьвида одна_запись-к-одной
Команда
SET RELATION TO ключ> INTO область> [,ключ> INTO область>…] [ADDITIVE]
связываетуказательзаписей в активнойрабочей областис указателемзаписей издругих рабочихобластей, которыхуказаны послеслова INTO,по заданномуобщему полю(ключу). Единственноеусловие– файл базыданных, с которымустанавливаетсясвязь, долженбыть проиндексированпо этому полю.
Пример
Связатьбазы данных SUPPLY.DBF и DELIVERY.DBF по полю INDDEL.По коду поставщикавывести списокпоставщикови их реквизиты.
SETTALK OFF
CLEAR
SELEA
IFFILE ('Inddelivery.ind')
USEDelivery INDEX Inddelivery
ELSE
USEdelivery
INDEXON inddel TO Inddelivery
ENDIF
SELEB
USESupply
SETRELATION TO inddel INTO A
DOWHILE .T.
kod=0
CLEAR
@12,23 TO 14,50 DOUBLE
@13,25 SAY 'Введитекод товара' GET kod PICTURE '#####'
READ
LOCATEFOR indgoods = kod
IF!FOUND()
WAIT 'Такого товаранет'
LOOP
ENDIF
name=namgoods
IF kod 0
SETFILTER TO indgoods = kod
BROWSE;
TITLE' Список поставщиков,поставляющих' + name;
FIELDS;
INDDEL:H= ' Код поставщика' ,;
A.NAMEDEL:H= 'Названиепоставщика' ,;
A.ADRDEL:H= 'Адрес ' ,;
A.TEL:H= 'Телефон '
SETFILTER TO
ENDIF
IFLASTKEY()=27
EXIT
ENDIF
ENDDO
PACK
CLOSEALL
В этойпрограммевыводятсязаписи, в которыхдля каждогокода поставщикаinddelиз текущей базыданных Supply.dbf(открытой вобласти В) выводятсяполя A.namedel(Названиепоставщика),A.adrdel (Адрес) и A.TEL(Телефон) избазы данных Delivery.dbf (открытой вобласти A).
В FoxProимеется возможностьустанавливатьсвязи с несколькимибазами одновременно.Если со старшимфайлом, которыйуже связан сдругим, необходимосвязать некоторыйтретий (четвертыйи т.д.), следуетво все последующиекоманды SETRELATION включатьслово ADDITIVE,которое обеспечитсохранениесвязей, установленныхранее.
Связьмежду всемифайлами разрываетсякомандой SETRELATIONTO безпараметров. Связь с отдельнымфайлом в заданной - командой SETRELATION OF INTO .
Связьвида одна_запись-ко-многим
Команда SET SKIP TO [ область1> [,область2 >]… ]
устанавливаетсвязь типа одна_запись-ко-многим между двумяили несколькимибазами данных.
Скаждой записьюиз старшей базымогут бытьсцеплены несколькозаписей измладшей базы.Связь можетбыть установленасразу с несколькимимладшими базами,находящимисяв указанных.
Преждечем использоватькоманду SETSKIPTO,необходимовыполнитьначальноесцепление вида одна_запись-к-одной командой SET RELATION.Удаление связи одна_запись-ко-многимосуществляетсякомандой SET SKIP TO без параметров.
Пример
Установитьсвязь междутремя базамиданных. В программеиспользуется
третьябаза Товаров(Goods.dbf),получаемаяиз БД Supply.dbf
SETTALK OFF
IFFILE ('Goods.dbf')
ERASE Goods.dbf
ENDIF
IFFILE ('Indnum.idx')
ERASE Indnum.idx
ENDIF
SELEA
USE Supply
IF FILE ('Indg.idx')
SETINDEX TO Indg.idx
ELSE
INDEX ON indgoods TO Indg UNIQUE
ENDIF
COPY TO Goods FIELDS indgoods,namgoods, measure
SELE C
USE Smdeliv
IF FILE ('Indexdel.idx')
SET INDEX TO Indexdel.idx
ELSE
INDEX ON indgoods TO IndexdelUNIQUE
ENDIF
SELECT SUPPLY
SET RELATION TO inddel INTODelivery ADDITIVE
SELE B
USE Goods
INDEX ON namgoods TO Indnum
SET RELATION TO indgoods INTOSupply ADDITIVE
SET SKIP TO Supply
BROWSE TITLE "Товары";
FIELDS ;
Goods.Namgoods :H = "ИмяТовара" ,;
Delivery.Namdel :H = "ИмяПоставщика",;
Delivery.Adrdel :H = "ИмяПоставщика",;
Delivery.Count :H ="Счет", ;
Goods.Measure:H ="Ед.Измерения",;
Supply.Pricegds:H= "Цена Единицы",;
Supply.Quant:H= "Кол-Во Единиц",;
Totalamount=Supply.Quant *Supply.Pricegds :H = "ОбщаяСумма"
CLOSEALL
Использованиеокон- оченьудобное и эффектноесредство созданияпользовательскогоинтерфейсав прикладнойпрограмме.
Определениеокна
DEFINEWINDOW FROM
[FOOTER][TITLE][SYSTEM/DOUBLE/PANEL/NONE]
[CLOSE][FLOAT][GROW][SHADOW][ZOOM][FILL][MINIMIZE]
FOOTER, TITLE-нижний и верхнийзаголовки;
формаграниц окна:
SYSTEM -стандартная,
DOUBLE -двойная линия,
PANEL- сплошная полоса,
NONE -не определяется,
CLOSE -допускаетзакрытие окнамышью,
FLOAT -перемещениес помощью ^F7 илимышью,
GROW-изменениеразмера (^F8 илимышью),
ZOOM /
MINIMIZE-распахиваниеи свертываниеокна;
SHADOW-теневая рамка,
FILL -символ заполненияокна.
Активацияуже определенногоокна
ACTIVATEWINDOW [[][,]][,...]] ALL [BOTTOM/TOP]]
Здесьуказаны именаоткрываемыхили всех (ALL) окон.BOTTOM / TOP - размещениенового окнапод/перед ужеимеющимся.
Удалениес экрана
DEACTIVATE WINDOW[,][,...]/ALL
Удалениес экрана и изпамяти
CLEAR WINDOW -Удаление сэкрана и изпамяти ВСЕХокон
RELEASE WINDOW- Перечисленныхокон.
Восстановлениеокна
RESTORE WINDOW
Сохранениев файле
SAVE WINDOW /ALL TO
Арифметическиефункции
ABS()-абсолютноезначение числа
BETWEEN(,,)-истинно (.Т.), если
,иначе ложно(.F.) (длячисел,
строк,дат)
CEILING()-округлениечисласизбытком
FLOOR()-округлениечисла снедостатком
INТ()-целая частьчисла
МАХ(,[,...])-максимальноезначение изсписка
аргументов(числа, строки,даты)
MIN,[,...])-минимальноезначение изсписка
аргументов
MOD(,) -целочисленныйостаток отделения
на
ROUND(,) -округлениечисла до
знаковпосле запятой
RAND(])-псевдослучайноечисло в диапазоне0...1
SIGN()-знак числа
Степенные,тригонометрическиеи другие функции
ЕХР()-экспонента
LOG()-натуральныйлогарифм
LOG10()-десятичныйлогарифм
SQRT()-квадратныйкорень числа
SIN()-синус отугла в радианах
COS()-косинус
TAN()-тангенс
ASIN()-арксинус (результат врадианах)
ATAN()-арктангенс
PI ( )-число
DTOR()-преобразованиеградусной мерыугла в
радианы
RTOD()-преобразованиерадианной мерыугла в
градусы
Строковыефункции
$-вхождение в
(результат.Т. или .F.)
AT /ATC(,[,N>)-поиск слеванаправо в строке
позиции вхождения
подстроки,начиная с
позиции строки
RАТ(,[,)-то же справаналево
INLIST(,[,…])-вхождение в последующий
список(результат .Т.или .F.)
LEN()-длина строки
LIKE(,)-вхождение в
(результат.Т. или .F.) с
использованиемсимволов маски* и ?
OCCURS(,)-число вхожденийв
LEFT()-вырезка слеваиз строки
символов в колич.
RIGHT()-то же справа
SUBSTR(,,[]) -вырезка изстроки
подстрокисимволов от
вколичестве
символов>
LTRIM()-удаление начальныхпробелов
TRIM /RTRM() -удаление завершающихпробелов
ALLTRIM()-удаление начальныхи завершающих
пробелов
REPLICATE(,)-повтор раз строки
SPACE()-формированиестроки пробелов
длины
Функциипреобразования
АSС()-выдает ASCII кодпервого символа
CHR()-преобразуетчисло в символв
соответствиис кодом
STR(,[,[]])-преобразуетчисло встроку
длиной с указанным
числом
VAL()-преобразуетсимвольнуюзапись числа
в число
Функцииобработкимемо-полей
ATLINE(,)-первое вхождениестроки
в
ATCLINE(,) -то же без различениястрочных и
прописныхбукв
RATLINE(,)-последнеевхождениестроки
в
MLINE(,) -возвращаетстроку из
MEMLINES()-число строкв мемо поле
Функцииработы с датами
СТОD()-преобразованиедаты из строки
символовв формат даты
DATE( )-системная дата
DAY()-число месяцаиз даты
DMY()-представлениедаты в виде
ДДМЕСЯЦ ГГ (илиГГГТ)
DOW()-номер дня недели
DTOC()-преобразованиевыражения типадаты
в строкусимволов
GOMONTH(,)-возвращаетдату, котораяотстоит от
на ± месяцев
MONTH()-числовое значениеномера месяцапо
дате
YEAR()-числовое значениегода по дате
Функцияанализа условий
BOF(,,)-выдает значение,если условие
истинно,и еслиложно.
Функциипроверки файлови дисков
ВОF([])-достижениеначала файла(результат
.Т. или.F.)
ЕОF[(])-достижениеконца файла(результат
.Т. или.F.)
DBF([])-выдает полноеимя файла БДв
текущейобласти
DISCSPACE ( )-число свободныхбайт на активном
диске
DELETED([])-наличие пометкизаписи к удалению
(результат.Т. или .F.)
FILE()-проверка наличияфайла
FIELD([,])-выдает имя поляпо его номеру
активнойБД
FOUND([])-успешное завершениепоиска
(результат .Т. или .F.)
FCOUNT([])-число полейв открытомфайле БД
LOOKUP(,,)-ищет первоевхождениевыражения в
и выдает
LUPDATE([])-дата последнегоизменения БД
ORDER([])-имя главногоиндексногофайла
RECNO([])-номер текущейзаписи активного
файлаБД
RECCOUNT([])-общее количествозаписей
RECSIZE([])-размер записив байтах
HEADER([)-размер заголовкаБД в байтах
SЕЕK([,])-поиск записис в индексном
файле
ЕМРТY()-наличие данныхв объекте (результат
.Т. или .F.)
ТYРЕ()-выдает буквуимени типа
Функциипозиционирования
COL ( )-номер текущейколонки экранаили окна
ROW ( )-номер текущейстроки экранаили окна
РСОL( )- номертекущей колонкина принтере
PROW ( )-номер текущегостолбца напринтер
Этикоманды служатдня заданияфлажков состояний,параметровсреды и т.п., которыеобычно задаютсяв начале текстапрограммы ив случае необходимостипереопределяютсяили отменяются.В среде FoxPro имеетсясвыше 100 такихкоманд. Приведемнекоторые изних. За дополнительнымиразъяснениямиможно обратитьсяк HELP.
SET ALTERNATEON/OFF - установитьфлаг выводаданных с экрана
в файл
SET BELL ON/OFF- установитьфлаг звуковогосигнала
SET BLINK ON/OFF- установитьфлаг миганиясимволов
SET SENTURYON/OFF - установитьфлаг отображениястолетия
в датах
SET CLOCK ON/OFF- установитьфлаг выводавремени
SET COLOR TO- задатьцвета меню иокон пользователя
SETCOLOR OF SCHEME -задатьцветасхемы
SETCURRENCY TO -задатьденежныйзнак
SETDATE TO... -определитьформат даты
SET DECIMALSTO…-установитьчисло цифр вдробной
частичисла
SETDEFAULT TO... -задать диски каталог поумолчанию
SET DELETEDON/OFF- установитьфлаг доступак записям с
пометкойудаления
SET ECHO ON/OFF- установитьфлаг активизацииокна отладки
SET ESCAPE ON/OFF- установитьфлаг прерыванияпо
клавишеESC
SETFILTER TO…-задать фильтрдоступа к записям
SETFUNCTION...TO... -связать командус функциональной
клавишей
SET HELP ON/OFF- установитьрежим доступак помощи
SETINDEX TO…-открыть индекс
SET KEY TO -задать предельноезначение ключевого
индекса
SETMESSAGE TO... -задать местоположениесообщений
SET ORDER TO...- задатьосновной индекс
SET PATH TO…-задать списоккаталогов дляпоиска файлов
SETPRINTER ON... -установитьфлаг выводана принтер
SETPROCEDURE TO... -открыть заданныйпроцедурныйфайл
SETRELATION TO…-установитьсвязь 1:1 с другойБД
SET RELATION OFF- разорватьсвязь с другойБД
SETSHADOWS ON/OFF -установитьфлагналичиятени
SETSKIP TO…-установитьсвязь 1:N с другойБД
SET SPACE ON/OFF- установитьфлаг вставкипробелов
SET TALKON/OFF- установитьфлаг выводарезультатов
выполнениякоманд
SETWINDOW OF MEMO TO...-задать имя окнаредактирования
мемо-полей
Структурадля базы данных:DELIVERY.DBF
Field FieldNameType Width Dec Index
1INDDELNumeric2
2NUMDELCharacter 10
3ADRDELCharacter 20
4COUNTCharacter 8
5TELNumeric 6
Структурадля базы данных:SUPLY.DBF
Field FieldName Type Width Dec Index
1INDSUPNumeric 5
2INDDELNumeric 2
3DATEDate 8
4NAMGOODSCharacter 15
5QUANTNumeric 5
6PRICEGOODSNumeric 5 2
7MEASURECharacter 3
8INDGOODSNumeric 5
***********************РаботаснесколькимиБД*****
USESuply
ERASEGoods.dbf
INDEXON indgoods TO Indg UNIQUE
COPYTO Goods FIELDS indgoods;
,namgoods,measure
SELECT2
USEGoods
BROWSE
CLOSEALL
SETTALK OFF
DEFINEWINDOW vvod FROM 2,2TO 7,35DOUBLE FLOAT SHADOW
DEFINEWINDOW vivod FROM 8,2TO 20,70 SYSTEM ;
COLORSCHEME 10
CLEAR
SELECTA
IFFILE ('Inddeliv.idx')
USEDelivery INDEX Inddeliv
ELSE
USEDelivery
INDEXON inddel TO Inddeliv
ENDIF
SELECTB
USESuply
SETRELATION TO inddel INTO Delivery
DOWHILE .T.
ACTIVATEWINDOW vvod
CLEAR
A=0
@2,5 SAY 'Введитекодтовара'GET A PICTURE '#####'
READ
LOCATEFOR indgoods=A
IF!FOUND()
WAIT'Такого коданет'
LOOP
ENDIF
name=namgoods
IFA0
SETFILTER TO indgoods=A
ACTIVATEWINDOW vivod
BROWSE;
TITLE'Список поставщиков,поставляющих'+name ;
FIELDS;
A.inddel :H='Кодпоставщика',;
A.namdel :H='Имяпоставщика',;
A.adrdel :H='Адреспоставщика',;
A.tel :H='Телефонпоставщика',;
A.count :H='Счетпоставщика'
DEACTIVATEWINDOW vivod
SETFILTER TO
ENDIF
DEACTIVATEWINDOW vvod
IFLASTKEY()=27
EXIT
ENDIF
ENDDO
PACK
CLOSEALL
CLEAR
SETTALK OFF
SELECTB
USEGoods
SELECTA
USESuply
INDEXON indgoods TO Indg
SELECTC
USE Delivery
INDEXON inddel TO Indexdel
SELECTSuply
SETRELATION TO inddel INTO Delivery
SELECT Goods
INDEXON namgoods TO Indnum
SETRELATION TO indgoods INTO Suply
SETSKIP TO Suply
BROWSETITLE 'Товары';
FIELDS;
Goods.namgoods:H='Имятовара',;
Delivery.numdel:H='Имяпоставщика',;
Delivery.adrdel:H='Егоадрес',;
Delivery.count :H='Счет' ,;
Goods.measure:H='Единицаизмерения' ,;
Suply.pricegoods:H='Ценаединицы' ,;
Suply.quant:H='Количествоединиц' ,;
Totalamount=Suply.quant*Suply.pricegoods;
:H='Общаясумма'
CLOSEALL
3.1. Линейнаяпрограмма
********** установки ***********
CLEAR
SETTALK OFF
CLOSEALL
USEstate IN a && открытьвзонеафайлSTATE
USE sotr IN b &&открыть в зонеb файл CADR
*********** работас таблицейstate **************
SELECT a
BROWSE;
TITLE 'Штаты ^Т– удал ^N - добав ^W – coxp ' ;
FIELDScod :H = ‘Код’,;
dolg :H= 'Должность',;
zarp:H = 'Оклад',;
kol :H = 'Количество'
*********** поискданных в таблицеSTATE ***********
CLEAR
с = 0
@ 5, 10 SAY 'Задайтекод должности:' GET с PICTURE '###'
READ
@6, 2 SAY 'Результатпоиска'
LOCATEALL FOR cod = C
DOWHILE ! EOF ( )
? 'Должность- ', dolg, ' Оклад - ', zarp
CONTINUE
ENDDO
WAIT 'Продолжение– ENTER ' WINDOW
******** работас таблицей sotr ****************
SELECT b
BROWSE;
TITLE 'Список- ^ T-удал ^ N - добав ^W - сохр' ;
FIELDScod :Н= 'Код',;
fio :H = 'ФамилияИ.О.' ,;
tab :H = 'Табельныйномер'
**** поискданных в таблицеSOTR ****
CLEAR
с = 0
@ 5, 10 SAY 'задайтекод должности:';
GET с PICTURE '###'
READ
@ 6, 2 SAY 'Результатпоиска'
LIST 'Фамилия- ', fio, 'Табельныйномер - ', tab;
WHILE cod = c
WAIT 'Продолжение– ENTER ' WINDOW
**** работас форматом ****
SET FORMAT TO cadr.fmt
CHANGE
SETFORMAT TO
******** установлениесвязи********************
SELECT b
SETORDER TO cod
SELECTa
SETORDER TO cod
SETRELATION TO cod INTO b
SETSKIP TO b
BROWSE ;
TITLE 'Информация';
FIELDS A.dolg :H =‘должность',;
B.fio :H = 'Ф.И.О.',;
A.zarp :H = 'оклад',;
nal = A.zarp* 0.2:H= 'налог'
SET RELATION TO
*********конецпрограммы**********
3.2 Программа,состоящая изпроцедур, вызываемыхиз меню
CLEAR ALL
SETTALK OFF
CLOSEALL
SETSHADOWS ON
USEstate IN a
USE cadr IN b
************** МЕНЮ ****************
DEFINE POPUP mmenu
DEFINEBAR1 OF mmenu PROMPT 'Информация'
DEFINE BAR2 OF mmenu PROMPT'Штатное расписание предприятия'
DEFINEBAR3 OF mmenu PROMPT 'Списоксотрудников'
DEFINEBAR4 OF mmenu PROMPT 'Состояние'
DEFINEBAR5 OF mmenu PROMPT 'Запрос'
DEFINEBAR6 OF mmenu PROMPT 'Выход'
ONSELECTION BAR6 OF mmenu DEACTIVATE POPUP
ONSELECTION BAR1 OF mmenu DO about
ONSELECTION BAR4 OF mmenu DO p2table
ONSELECTION BAR5OF mmenu DO pspr
ONBAR2 OF mmenu ACTIVATE POPUP wow
ONBAR3 OF mmenu ACTUVATE POPUP sos
DEFINEPOPUP wow
DEFINEBAR1 OF wow PROMPT ‘Просмотр'
DEFINEBAR2 OF wow PROMPT 'Поиск'
ONSELECTION BAR1 OF wow DO pstate
ONSELECTION BAR2 OF wow DO psearch
ONSELECTION POPUP wow DO wow
DEFINE POPUP sos
DEFINEBAR1 OF sos PROMPT 'Просмотр'
DEFINEBAR2 OF sos PROMPT 'Поиск'
ONSELECTION BAR1 OF sos DO pstate
ONSELECTION BAR2 OF sos DO psearch
ONSELECTION POPUP sos DO sos
ACTIVATE POPUP mmenu
************ работастаблицейstate **************
PROCEDURE pstate
SELECTa
BROWSE;
TITLE 'Штаты ^T - удал ^N - добав ^W - coxp' ;
FIELDScod :Н= 'Код',;
dolg :H = 'Должность',;
zarp:H = 'Оклад',;
kol :H = 'Количество'
RETURN
******** поискданных в таблицеSTATE ************
PROCEDURE psearch
CLEAR
c= 0
@ 10, 15 SAY 'Задайтекод должности:';
GET с PICTURE '###'
READ
@ 12, 10 SAY 'Результатпоиска'
LOCATEALL FOR cod = c
DOWHILE ! EOF ( )
? 'Должность - ',dolg, 'Оклад - ', zarp
CONTINUE
ENDDO
WAIT 'Продолжение– ENTER ' WINDOW
CLEAR
RETURN
******** работас таблицей cadr ***************
PROCEDURE pcadr
SELECT b
BROWSE;
TITLE 'Список ^T- удал ^N- добав ^W- сохр' ;
FIELDScod :H = 'Код',;
fio :H = 'ФамилияИ.О.' ,;
tab:H= 'Табельныйномер'
RETURN
******** поискданных в таблицеSOTR *******
PROCEDUREрcadrsr
CLEAR
с= 0
@ 5, 10 SAY ‘Задайтекод должности:';
GET с PICTURE '###'
READ
@ 6, 2 SAY 'Результатпоиска'
LIST 'Фио- ', fio, ' Табельныйномер - ', tab;
WHILE cod = c
WAIT 'Продолжение– ENTER ' WINDOW
CLEAR
RETURN
******** установлениесвязи ******************
PROCEDURE p2table
SELECTb
SETORDER TO cod
SELECTa
SETORDER TO cod
SETRELATION TO cod INTO b
SETSKIP TO b
BROWSE ;
TITLE 'Информация';
FIELDS A.dolg :H = 'Должность',;
B.fio :H = 'Ф.И.О.',;
A.zarp :H = 'Оклад',;
nal = a.zarp*0.2:H = 'Налог'
SETRELATION TO
RETURN
********* заставка ************
PROCEDURE about
CLEAR
@ 8, 15 TO 20, 60 double
@ 9, 25 SAY ‘Штатноерасписание'
@ 12, 20 SAY 'Модельинформационнойсистемы'
WAIT 'Продолжение– ENTER ' WINDOW
CLEAR
RETURN
********* запрос ************
PROCEDURE pspr
CLEAR
DEFINE WINDOW spr FROM 10, 10 TO 18, 40 ;
TITLE 'Справка' SHADOW
ACTIVATE WINDOW spr
@ 1, 1 SAY 'Запросо занятых должностяхи общем'
@ 2, 1 SAY 'Количествеставок по ним'
WAIT 'Продолжение– ENTER ' WINDIW
DEACTIVATE WINDOW spr
SELECT B
SETORDER TO cod
SELECTA
SETORDER TO cod
SETRELATION TO cod INTO b
SETSKIP TO B
SELECT A.dolg, A.kol, COUNT(B.fio) AS cnt, SUM(A.zarp) AS ssum ;
FROM state A, cadr B INTO CURSORqq ;
WHERE B.cod = A.cod ;
GROUP by A.dolg
BROWSE TITLE 'Занятыедолжности' ;
FIELDS dolg :Н ='Должность' ,;
kol :Н = 'Поштату' ,;
cnt :Н = 'Занято',;
ssum:Н = 'Суммарныйоклад'
CLEAR
SETRELATION TO
RETURN
1.Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:
2
3.Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:
4
5.Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:
6
7.Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции y, используяоператор ветвления case.Функция имеетвид:
8.Обеспечитьформатный вводпеременной x и форматныйвывод значенияфункции yзуяоператор ветвления case.Функция имеетвид:
1. ДейтК. Введение всистемы базданных. - М.: Наука-1980.-463 с.
2. МидоуЧ. Анализ информационныхсистем. - М.: Прогресс.- 1977.- 400 с.
3. ЦикритзисД., Лоховски Ф.Модели данных.-М.: Финансы истатистика.-1985.-344 с.
4. МейерД. Теория реляционныхбаз данных. -М.: Мир. -1987.-608 с.
5.Бойко В.В., СавинковВ.Ф. Проектированиебаз данныхинформационныхсистем.- М.: Финансыи статистика.-1982 .- 382 с.
6. ДжексонГ. Проектированиереляционныхбаз данных дляиспользованияс микро-ЭВМ. -М.: Мир. - 1991. - 252 с.
7. ПоповА.А. Программированиев среде FoxPro2.0. - М.:Финансы и статистика.- 1993. - 350 с.
БемерС. FoxPro 2.6 для WINDOWS. - Киев:Торгово-издательскоебюро BHV.- 1995.-463 с.